From 6969c537c9397a90b2b616588dd21eb9f93206f0 Mon Sep 17 00:00:00 2001 From: Jidbo Date: Wed, 17 Feb 2021 21:25:09 +0100 Subject: [PATCH] add nvim language server config This also removes ale and other auto completion setups. Note: the neovim nightly build is now required, since the current release does not support the language server protocol yet. --- nvim/pluginoptions.vim | 53 +++++++++++++++++------------------------- nvim/plugins.vim | 11 +++++---- 2 files changed, 27 insertions(+), 37 deletions(-) diff --git a/nvim/pluginoptions.vim b/nvim/pluginoptions.vim index 6a4bdb7..99d03d9 100644 --- a/nvim/pluginoptions.vim +++ b/nvim/pluginoptions.vim @@ -41,6 +41,7 @@ augroup END nmap :Buffers nmap f :GFiles +nmap l :Lines let g:fzf_buffers_jump = 1 " VIMWIKI SETUP @@ -81,6 +82,12 @@ lua require'colorizer'.setup() let g:tmuxcomplete#trigger = '' +" neo formatter +nnoremap p :Neoformat + +" vim fugitive +nnoremap gg :G + " GOYO " ========================= @@ -101,40 +108,22 @@ let g:goyo_linenr = 0 " AUTOCOMPLETION " ========================= +lua require'lspconfig'.tsserver.setup{ on_attach=require'completion'.on_attach } +lua require'lspconfig'.intelephense.setup{ on_attach=require'completion'.on_attach } +lua require'lspconfig'.vuels.setup{ on_attach=require'completion'.on_attach } +lua require'lspconfig'.pyls.setup{ on_attach=require'completion'.on_attach, plugins = {pycodestyle = {maxLineLength=120}} } -if executable('pyls') - au User lsp_setup call lsp#register_server({ - \ 'name': 'pyls', - \ 'cmd': {server_info->['pyls']}, - \ 'whitelist': ['python'], - \ }) -endif +imap (completion_trigger) +set completeopt=menuone,noinsert,noselect +set shortmess+=c -function! s:on_lsp_buffer_enabled() abort - setlocal omnifunc=lsp#complete - setlocal signcolumn=yes - nmap gd (lsp-definition) - nmap (lsp-rename) - " refer to doc to add more commands -endfunction - -augroup lsp_install - au! - " call s:on_lsp_buffer_enabled only for languages that has the server registered. - autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled() -augroup END - -" ULTISNIPS SETUP -" ========================= - -" Trigger configuration. Do not use if you use https://github.com/Valloric/YouCompleteMe. -let g:UltiSnipsExpandTrigger="" -let g:UltiSnipsJumpForwardTrigger="" -let g:UltiSnipsJumpBackwardTrigger="" -let g:UltiSnipsSnippetDirectories=[$HOME."/.vim/snipps"] - -" If you want :UltiSnipsEdit to split your window. -let g:UltiSnipsEditSplit="vertical" +nnoremap gd lua vim.lsp.buf.definition() +nnoremap gh lua vim.lsp.buf.hover() +nnoremap gH lua vim.lsp.buf.code_action() +nnoremap gD lua vim.lsp.buf.implementation() +nnoremap gs lua vim.lsp.buf.signature_help() +nnoremap gr lua vim.lsp.buf.references() +nnoremap gR lua vim.lsp.buf.rename() " EMMET SETUP " ========================= diff --git a/nvim/plugins.vim b/nvim/plugins.vim index 7858a8b..a7c24eb 100644 --- a/nvim/plugins.vim +++ b/nvim/plugins.vim @@ -12,9 +12,6 @@ Plug 'tpope/vim-commentary' " brackets management Plug 'tpope/vim-surround' -" Snippets -Plug 'SirVer/ultisnips' - " Lanugage tool Plug 'dpelle/vim-LanguageTool' @@ -67,8 +64,12 @@ Plug 'vim-airline/vim-airline' " LANGUAGES " =================== -" Linting -Plug 'dense-analysis/ale' +" nvim language server +Plug 'neovim/nvim-lspconfig' +Plug 'nvim-lua/completion-nvim' + +" Autoformatter +Plug 'sbdchd/neoformat' " disable latex before loading let g:polyglot_disabled = ["latex"]