From 74c068a2b84f4bbde7409fe5e9dfa0aa65632e5b Mon Sep 17 00:00:00 2001 From: Danila Fedorin Date: Thu, 20 Jun 2019 20:37:39 -0700 Subject: [PATCH] Switch to CoC for language servers. --- nvim/.config/nvim/coc-settings.json | 44 +++++++++++++++++++++-------- nvim/.config/nvim/init.vim | 26 +---------------- 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/nvim/.config/nvim/coc-settings.json b/nvim/.config/nvim/coc-settings.json index b220c20..b982908 100644 --- a/nvim/.config/nvim/coc-settings.json +++ b/nvim/.config/nvim/coc-settings.json @@ -1,19 +1,41 @@ { "languageserver": { - "clangd": { - "command": "clangd", - "filetypes": ["c", "cpp"], - "rootPatterns": ["compile_flags.txt", "compile_commands.json" ] - }, "haskell": { "command": "hie-wrapper", - "filetypes": ["haskell"], - "rootPatterns": [".stack.yaml", "cabal.config", "package.yaml"] - }, - "scry": { + "args": ["--lsp"], + "filetypes": [ "haskell" ], + "rootPatterns": [ ".git", "stack.yaml" ] + }, + "rust": { + "command": "rustup", + "args": ["run", "stable", "rls" ], + "filetypes": [ "rust" ], + "rootPatterns": [ ".git", "cargo.toml" ] + }, + "clangd": { + "command": "clangd", + "filetypes": [ "c", "cpp" ], + "rootPatterns": [".git"] + }, + "crystal": { "command": "scry", - "filetypes": ["crystal"], - "rootPatterns": ["shard.yml"] + "filetypes": [ "crystal" ], + "rootPatterns": [".git", "shard.yml"] + }, + "javascript": { + "command": "javascript-typescript-stdio", + "filetypes": [ "javascript" ], + "rootPatterns": [".git" ] + }, + "elm": { + "command": "elm-language-server", + "args": ["--stdio"], + "filetypes": ["elm"], + "rootPatterns": [".git", "elm.json"], + "initializationOptions": { + "runtime": "node", + "elmPath": "elm" + } } } } diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim index 3acb9bb..22fdd3d 100644 --- a/nvim/.config/nvim/init.vim +++ b/nvim/.config/nvim/init.vim @@ -1,7 +1,5 @@ call plug#begin('~/.config/nvim/plugged') -Plug 'roxma/nvim-yarp' -Plug 'ncm2/ncm2' -Plug 'autozimu/LanguageClient-neovim', {'branch': 'next', 'do': 'bash install.sh' } +Plug 'neoclide/coc.nvim', {'branch': 'release'} Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --bin' } Plug 'junegunn/fzf.vim' @@ -23,29 +21,7 @@ set number " Set line numbers set mouse=a " Allow mouse set signcolumn=yes " Always show extra column -autocmd BufEnter * call ncm2#enable_for_buffer() " Enable ncm2 for all buffers autocmd BufRead,BufNewFile *.v set filetype=coq " Coq is not Verilog autocmd FileType crystal setlocal shiftwidth=2 " Crystal likes 2-wide indent -set completeopt=noinsert,menuone - -let g:LanguageClient_serverCommands = { - \ 'haskell': ['hie', '--lsp'], - \ 'rust': ['rustup', 'run', 'stable', 'rls'], - \ 'c': ['clangd'], - \ 'crystal': ['scry'], - \ 'cpp': ['clangd'], - \ 'javascript': ['javascript-typescript-stdio'], - \ 'elm': ['elm-language-server', '--stdio'] - \ } -let g:deoplete#enable_at_startup = 1 -let g:LanguageClient_diagnosticsDisplay = { - \ 1: {"name": "Error","texthl": "ALEError","signText": ">>","signTexthl": "ALEErrorSign",}, - \ 2: {"name": "Warning","texthl": "ALEWarning","signText": ">>","signTexthl": "ALEWarningSign",}, - \ 3: {"name": "Information","texthl": "ALEInfo","signText": ">>","signTexthl": "ALEInfoSign",}, - \ 4: {"name": "Hint","texthl": "ALEInfo","signText": ">>","signTexthl": "ALEInfoSign",},} -let g:LanguageClient_rootMarkers = { - \ 'haskell': ['.git'], - \ 'elm': ['elm.json'], - \ } colorscheme nord