From eeef756b8a53317e90fe274b9a5f420a6591b4b7 Mon Sep 17 00:00:00 2001 From: Seong Yong-ju Date: Fri, 12 Jan 2018 00:17:45 +0900 Subject: [PATCH] Fix language client config * Extract config for LanguageClient-neovim.vim to a file * Fix an issue the client ignores settings after launching Neovim with no parameters --- autoload/SpaceVim/layers/lsp.vim | 53 +----------------- .../plugins_before/LanguageClient-neovim.vim | 56 +++++++++++++++++++ 2 files changed, 59 insertions(+), 50 deletions(-) create mode 100644 config/plugins_before/LanguageClient-neovim.vim diff --git a/autoload/SpaceVim/layers/lsp.vim b/autoload/SpaceVim/layers/lsp.vim index e36c948b4..09cf5a1f6 100644 --- a/autoload/SpaceVim/layers/lsp.vim +++ b/autoload/SpaceVim/layers/lsp.vim @@ -3,7 +3,7 @@ function! SpaceVim#layers#lsp#plugins() abort if has('nvim') call add(plugins, ['SpaceVim/LanguageClient-neovim', - \ { 'merged': 0, 'if': has('python3') }]) + \ { 'merged': 0, 'if': has('python3'), 'loadconf_before': 1 }]) else call add(plugins, ['prabirshrestha/async.vim', {'merged' : 0}]) call add(plugins, ['prabirshrestha/vim-lsp', {'merged' : 0}]) @@ -13,57 +13,10 @@ function! SpaceVim#layers#lsp#plugins() abort endfunction function! SpaceVim#layers#lsp#config() abort - " SpaceVim/LanguageClient-neovim {{{ - let g:LanguageClient_diagnosticsDisplay = { - \ 1: { - \ 'name': 'Error', - \ 'signText': g:spacevim_error_symbol, - \ }, - \ 2: { - \ 'name': 'Warning', - \ 'signText': g:spacevim_warning_symbol, - \ }, - \ 3: { - \ 'name': 'Information', - \ 'signText': g:spacevim_info_symbol, - \ }, - \ 4: { - \ 'name': 'Hint', - \ 'signText': g:spacevim_info_symbol, - \ }, - \ } - - if g:spacevim_enable_neomake - let g:LanguageClient_diagnosticsDisplay[1].texthl = 'NeomakeError' - let g:LanguageClient_diagnosticsDisplay[1].signTexthl = 'NeomakeErrorSign' - - let g:LanguageClient_diagnosticsDisplay[2].texthl = 'NeomakeWarning' - let g:LanguageClient_diagnosticsDisplay[2].signTexthl = - \ 'NeomakeWarningSign' - - let g:LanguageClient_diagnosticsDisplay[3].texthl = 'NeomakeInfo' - let g:LanguageClient_diagnosticsDisplay[3].signTexthl = 'NeomakeInfoSign' - - let g:LanguageClient_diagnosticsDisplay[4].texthl = 'NeomakeMessage' - let g:LanguageClient_diagnosticsDisplay[4].signTexthl = - \ 'NeomakeMessageSign' - elseif g:spacevim_enable_ale - let g:LanguageClient_diagnosticsDisplay[1].texthl = 'ALEError' - let g:LanguageClient_diagnosticsDisplay[1].signTexthl = 'ALEErrorSign' - - let g:LanguageClient_diagnosticsDisplay[2].texthl = 'ALEWarning' - let g:LanguageClient_diagnosticsDisplay[2].signTexthl = 'ALEWarningSign' - - let g:LanguageClient_diagnosticsDisplay[3].texthl = 'ALEInfo' - let g:LanguageClient_diagnosticsDisplay[3].signTexthl = 'ALEInfoSign' - - let g:LanguageClient_diagnosticsDisplay[4].texthl = 'ALEInfo' - let g:LanguageClient_diagnosticsDisplay[4].signTexthl = 'ALEInfoSign' - endif - - let g:LanguageClient_autoStart = 1 + " prabirshrestha/vim-lsp {{{ let g:lsp_async_completion = 1 " }}} + for ft in s:enabled_fts call SpaceVim#lsp#reg_server(ft, s:lsp_servers[ft]) endfor diff --git a/config/plugins_before/LanguageClient-neovim.vim b/config/plugins_before/LanguageClient-neovim.vim new file mode 100644 index 000000000..d0ac6dd7c --- /dev/null +++ b/config/plugins_before/LanguageClient-neovim.vim @@ -0,0 +1,56 @@ +"============================================================================= +" LanguageClient-neovim.vim +" Copyright (c) 2012-2016 Shidong Wang & Contributors +" Author: Seong Yong-ju +" URL: https://spacevim.org +" License: MIT license +"============================================================================= + +let g:LanguageClient_autoStart = 1 + +let g:LanguageClient_diagnosticsDisplay = { + \ 1: { + \ 'name': 'Error', + \ 'signText': g:spacevim_error_symbol, + \ }, + \ 2: { + \ 'name': 'Warning', + \ 'signText': g:spacevim_warning_symbol, + \ }, + \ 3: { + \ 'name': 'Information', + \ 'signText': g:spacevim_info_symbol, + \ }, + \ 4: { + \ 'name': 'Hint', + \ 'signText': g:spacevim_info_symbol, + \ }, + \ } + +if g:spacevim_enable_neomake + let g:LanguageClient_diagnosticsDisplay[1].texthl = 'NeomakeError' + let g:LanguageClient_diagnosticsDisplay[1].signTexthl = 'NeomakeErrorSign' + + let g:LanguageClient_diagnosticsDisplay[2].texthl = 'NeomakeWarning' + let g:LanguageClient_diagnosticsDisplay[2].signTexthl = + \ 'NeomakeWarningSign' + + let g:LanguageClient_diagnosticsDisplay[3].texthl = 'NeomakeInfo' + let g:LanguageClient_diagnosticsDisplay[3].signTexthl = 'NeomakeInfoSign' + + let g:LanguageClient_diagnosticsDisplay[4].texthl = 'NeomakeMessage' + let g:LanguageClient_diagnosticsDisplay[4].signTexthl = + \ 'NeomakeMessageSign' +elseif g:spacevim_enable_ale + let g:LanguageClient_diagnosticsDisplay[1].texthl = 'ALEError' + let g:LanguageClient_diagnosticsDisplay[1].signTexthl = 'ALEErrorSign' + + let g:LanguageClient_diagnosticsDisplay[2].texthl = 'ALEWarning' + let g:LanguageClient_diagnosticsDisplay[2].signTexthl = 'ALEWarningSign' + + let g:LanguageClient_diagnosticsDisplay[3].texthl = 'ALEInfo' + let g:LanguageClient_diagnosticsDisplay[3].signTexthl = 'ALEInfoSign' + + let g:LanguageClient_diagnosticsDisplay[4].texthl = 'ALEInfo' + let g:LanguageClient_diagnosticsDisplay[4].signTexthl = 'ALEInfoSign' +endif