Switch to CoC for language servers.

This commit is contained in:
Danila Fedorin 2019-06-20 20:37:39 -07:00
parent 3727a28e26
commit 74c068a2b8
2 changed files with 34 additions and 36 deletions

View File

@ -1,19 +1,41 @@
{ {
"languageserver": { "languageserver": {
"clangd": {
"command": "clangd",
"filetypes": ["c", "cpp"],
"rootPatterns": ["compile_flags.txt", "compile_commands.json" ]
},
"haskell": { "haskell": {
"command": "hie-wrapper", "command": "hie-wrapper",
"filetypes": ["haskell"], "args": ["--lsp"],
"rootPatterns": [".stack.yaml", "cabal.config", "package.yaml"] "filetypes": [ "haskell" ],
"rootPatterns": [ ".git", "stack.yaml" ]
}, },
"scry": { "rust": {
"command": "rustup",
"args": ["run", "stable", "rls" ],
"filetypes": [ "rust" ],
"rootPatterns": [ ".git", "cargo.toml" ]
},
"clangd": {
"command": "clangd",
"filetypes": [ "c", "cpp" ],
"rootPatterns": [".git"]
},
"crystal": {
"command": "scry", "command": "scry",
"filetypes": ["crystal"], "filetypes": [ "crystal" ],
"rootPatterns": ["shard.yml"] "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"
}
} }
} }
} }

View File

@ -1,7 +1,5 @@
call plug#begin('~/.config/nvim/plugged') call plug#begin('~/.config/nvim/plugged')
Plug 'roxma/nvim-yarp' Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'ncm2/ncm2'
Plug 'autozimu/LanguageClient-neovim', {'branch': 'next', 'do': 'bash install.sh' }
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --bin' } Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --bin' }
Plug 'junegunn/fzf.vim' Plug 'junegunn/fzf.vim'
@ -23,29 +21,7 @@ set number " Set line numbers
set mouse=a " Allow mouse set mouse=a " Allow mouse
set signcolumn=yes " Always show extra column 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 BufRead,BufNewFile *.v set filetype=coq " Coq is not Verilog
autocmd FileType crystal setlocal shiftwidth=2 " Crystal likes 2-wide indent 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 colorscheme nord