feat: improve nvim keymaps, add trouble

This commit is contained in:
Fabio Lenherr / DashieTM 2022-11-03 23:40:33 +01:00
parent d42d294c95
commit 76534ab4cb
13 changed files with 315 additions and 20 deletions

View file

@ -0,0 +1,6 @@
{
"trailingComma": "all",
"tabWidth": 2,
"semi": true,
"singleQuote": false
}

View file

@ -5,7 +5,6 @@ require("bufferline").setup({
tabpages = true,
closable = true,
clickable = true,
exclude_ft = { "javascript" },
exclude_name = { "package.json" },
icons = true,
icon_custom_colors = false,

View file

@ -8,9 +8,27 @@ if not snip_status_ok then
return
end
require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets" })
luasnip.config.set_config({
history = true,
updateevents = "TextChanged,TextChangedI",
enable_autosnippets = true,
ext_opts = {
[require("luasnip.util.types").choiceNode] = {
active = {
virt_text = { {
Snippet = "",
"Snippet",
} },
},
},
},
})
vim.cmd('let g:snipMate = {"snippet_version" : 1 }')
require("luasnip/loaders/from_vscode").lazy_load()
require("luasnip.loaders.from_snipmate").lazy_load()
--require("luasnip.loaders.from_snipmate").lazy_load()
local check_backspace = function()
local col = vim.fn.col(".") - 1
@ -47,6 +65,11 @@ local kind_icons = {
}
-- find more here: https://www.nerdfonts.com/cheat-sheet
--local has_words_before = function()
-- local line, col = unpack(vim.api.nvim_win_get_cursor(0))
-- return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
--end
cmp.setup({
snippet = {
expand = function(args)
@ -55,7 +78,7 @@ cmp.setup({
},
mapping = {
["<C-k>"] = cmp.mapping.select_prev_item(),
["<C-j>"] = cmp.mapping.select_next_item(),
--["<C-j>"] = cmp.mapping.select_next_item(),
["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
@ -64,13 +87,25 @@ cmp.setup({
i = cmp.mapping.abort(),
c = cmp.mapping.close(),
}),
-- mapping = cmp.mapping.preset.insert({
-- ['<C-b>'] = cmp.mapping.scroll_docs(-4),
-- ['<C-f>'] = cmp.mapping.scroll_docs(4),
-- ['<C-Space>'] = cmp.mapping.complete(),
-- ['<C-e>'] = cmp.mapping.abort(),
-- ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
-- }),
-- Accept currently selected item. If none selected, `select` first item.
-- Set `select` to `false` to only confirm explicitly selected items.
["<CR>"] = cmp.mapping.confirm({ select = true }),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expandable() then
else
fallback()
end
end, { "i", "s" }),
["<C-j>"] = cmp.mapping(function(fallback)
if luasnip.expandable() then
luasnip.expand()
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
@ -84,9 +119,7 @@ cmp.setup({
"s",
}),
["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
if luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()

View file

@ -4,8 +4,11 @@ local term_opts = { silent = true }
-- Shorten function name
local keymap = vim.api.nvim_set_keymap
--vim.lsp.handlers["textDocument/codeAction"] = require'lspactions'.codeaction
--vim.cmd [[ nnoremap <leader>af :lua require'lspactions'.code_action()<CR> ]]
keymap("n", "c", ":CodeActionMenu<CR>", opts)
keymap("n", "<M-CR>", ":CodeActionMenu<CR>", opts)
keymap("n", "<C-f>", "<cmd>TroubleToggle<CR>", term_opts)
keymap("n", "<F5>", ':lua require("dap").toggle_breakpoint()<CR>', opts)
keymap("n", "<F6>", ':lua require("dap").step_over()<CR>', opts)
keymap("n", "<F7>", ':lua require("dap").step_into()<CR>', opts)
@ -26,3 +29,10 @@ vim.keymap.set("n", "ff", builtin.find_files, {})
vim.keymap.set("n", "fg", builtin.live_grep, {})
vim.keymap.set("n", "fb", builtin.buffers, {})
vim.keymap.set("n", "fh", builtin.help_tags, {})
require("trouble").setup {
action_keys = {
--remove the fucking stupid keymap amk
open_tab = {}
}
}

View file

@ -17,9 +17,9 @@ require("mason-lspconfig").setup({
ensure_installed = {
"cssls", -- css
"html", -- html
"eslint", -- latex
"eslint", -- latex
"clangd", -- cpp / c
"tsserver", -- python
--"tsserver", -- python
"texlab", -- latex
"sumneko_lua", -- lua
"pyright", -- python
@ -56,10 +56,10 @@ require("lspconfig")["clangd"].setup({
--on_attach = on_attach,
})
require("lspconfig")["tsserver"].setup({
capabilities = capabilities,
--require("lspconfig")["tsserver"].setup({
-- capabilities = capabilities,
--on_attach = on_attach,
})
--})
require("lspconfig")["texlab"].setup({
capabilities = capabilities,

View file

@ -2,7 +2,7 @@ local null_ls = require("null-ls")
require("mason-null-ls").setup({
ensure_installed = {
"prettier",
"prettierd",
"clang_format",
"latexindent",
"shellharden",
@ -22,7 +22,11 @@ null_ls.setup({
end
end,
sources = {
require("null-ls").builtins.formatting.prettier,
require("null-ls").builtins.formatting.prettierd.with({
env = {
PRETTIERD_DEFAULT_CONFIG = vim.fn.expand("~/.config/nvim/lua/settings/.prettierrc"),
},}
),
require("null-ls").builtins.formatting.clang_format,
require("null-ls").builtins.formatting.latexindent,
require("null-ls").builtins.formatting.shellharden,

View file

@ -36,7 +36,7 @@ nvim_tree.setup { -- BEGIN_DEFAULT_OPTS
centralize_selection = false,
width = 30,
hide_root_folder = false,
side = "left",
side = "right",
preserve_window_proportions = false,
number = false,
relativenumber = false,

View file

@ -3,6 +3,7 @@ local options = {
mouse = "a",
fileencoding = "utf-8",
relativenumber = true,
number = true,
smartindent = true,
smartcase = true,
showmode = true,
@ -10,7 +11,7 @@ local options = {
-- winbar = "",
ignorecase = true,
showtabline = 2,
timeoutlen = 100, -- time to wait for a mapped sequence to complete (in milliseconds)
timeoutlen = 200, -- time to wait for a mapped sequence to complete (in milliseconds)
undofile = true, -- enable persistent undoi updatetime = 300, -- faster completion (4000ms default)
writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
expandtab = true, -- convert tabs to spaces

View file

@ -9,7 +9,6 @@ Plug("feline-nvim/feline.nvim")
Plug("lewis6991/gitsigns.nvim")
Plug("tanvirtin/vgit.nvim")
Plug("nvim-lua/plenary.nvim")
Plug("b3nj5m1n/kommentary")
Plug("antoinemadec/FixCursorHold.nvim")
Plug("lambdalisue/fern.vim")
Plug("williamboman/mason.nvim")
@ -51,4 +50,6 @@ Plug("p00f/nvim-ts-rainbow")
Plug("nvim-telescope/telescope-ui-select.nvim")
Plug("nvim-telescope/telescope-file-browser.nvim")
Plug("nvim-telescope/telescope-fzy-native.nvim")
Plug 'folke/trouble.nvim'
vim.call("plug#end")

View file

@ -5,7 +5,8 @@ end
require("nvim-treesitter.configs").setup({
-- A list of parser names, or "all"
ensure_installed = { "latex", "c", "cpp", "rust", "lua", "haskell", "java", "javascript", "typescript" },
ensure_installed = { "latex", "c", "cpp", "rust", "lua", "haskell", "java", "javascript", "typescript", "python", "html", "css",
"yaml", "bash", "json", "c_sharp"},
highlight = {
enable = true,
additional_vim_regex_highlighting = false,