diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index 297ca3d..92ba2ad 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -18,6 +18,7 @@ Plug 'wellle/context.vim' Plug 'dbeniamine/cheat.sh-vim' Plug 'puremourning/vimspector' Plug 'derekwyatt/vim-fswitch' +Plug 'nvim-lua/completion-nvim' " }}} " Files switch, jump and grep-like tools {{{ @@ -150,6 +151,7 @@ set updatetime=300 " Don't pass messages to |ins-completion-menu|. set shortmess+=c +set shortmess-=F " Always show the signcolumn, otherwise it would shift the text each time " diagnostics appear/become resolved. @@ -255,9 +257,9 @@ local on_attach = function(client, bufnr) local opts = { noremap=true, silent=true } -- See `:help vim.lsp.*` for documentation on any of the below functions - buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) - buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) + buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) + buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) buf_set_keymap('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opts) @@ -272,7 +274,7 @@ local on_attach = function(client, bufnr) buf_set_keymap('n', ']d', 'lua vim.lsp.diagnostic.goto_next()', opts) buf_set_keymap('n', 'q', 'lua vim.lsp.diagnostic.set_loclist()', opts) buf_set_keymap("n", "f", "lua vim.lsp.buf.formatting()", opts) - + require'completion'.on_attach() end -- Use a loop to conveniently call 'setup' on multiple servers and @@ -282,3 +284,12 @@ for _, lsp in ipairs(servers) do nvim_lsp[lsp].setup { on_attach = on_attach } end EOF +" +" lua require'lspconfig'.pyls.setup{on_attach=require'completion'.on_attach} +" lua require'lspconfig'.ccls.setup{on_attach=require'completion'.on_attach} +" lua require'lspconfig'.cmake.setup{on_attach=require'completion'.on_attach} +" lua require'lspconfig'.rls.setup{on_attach=require'completion'.on_attach} +" +" Set completeopt to have a better completion experience +set completeopt=menuone,noinsert,noselect +let g:completion_enable_snippet = 'UltiSnips'