mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
drop deoplete-jedi and jedi-vim, use LSP instead (powered by vim-lsp).
This commit is contained in:
parent
c2d319803d
commit
cad429e721
@ -16,22 +16,15 @@ endif
|
|||||||
call plug#begin(g:PLUGIN_HOME)
|
call plug#begin(g:PLUGIN_HOME)
|
||||||
" Auto-completion
|
" Auto-completion
|
||||||
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
||||||
|
" Language Server Protocol client
|
||||||
if executable('clang') && (g:is_mac || g:is_linux)
|
Plug 'prabirshrestha/vim-lsp'
|
||||||
Plug 'deoplete-plugins/deoplete-clang'
|
Plug 'lighttiger2505/deoplete-vim-lsp'
|
||||||
endif
|
|
||||||
|
|
||||||
" Python source for deoplete
|
|
||||||
Plug 'zchee/deoplete-jedi', { 'for': 'python' }
|
|
||||||
|
|
||||||
" Vim source for deoplete
|
" Vim source for deoplete
|
||||||
Plug 'Shougo/neco-vim', { 'for': 'vim' }
|
Plug 'Shougo/neco-vim', { 'for': 'vim' }
|
||||||
"}}
|
"}}
|
||||||
|
|
||||||
"{{ Python-related plugins
|
"{{ Python-related plugins
|
||||||
" Python completion, goto definition etc.
|
|
||||||
Plug 'davidhalter/jedi-vim', { 'for': 'python' }
|
|
||||||
|
|
||||||
" Python syntax highlighting and more
|
" Python syntax highlighting and more
|
||||||
if g:is_mac || g:is_win
|
if g:is_mac || g:is_win
|
||||||
Plug 'numirias/semshi', { 'do': ':UpdateRemotePlugins' }
|
Plug 'numirias/semshi', { 'do': ':UpdateRemotePlugins' }
|
||||||
@ -342,6 +335,55 @@ call deoplete#custom#option('auto_complete_delay', 100)
|
|||||||
" Enable deoplete auto-completion
|
" Enable deoplete auto-completion
|
||||||
call deoplete#custom#option('auto_complete', v:true)
|
call deoplete#custom#option('auto_complete', v:true)
|
||||||
|
|
||||||
|
"""""""""""""""""""""""""""" vim-lsp settings""""""""""""""""""""""""""
|
||||||
|
" whether to enable diagnostics for vim-lsp (we may want to use ALE for other
|
||||||
|
" plugins for that.
|
||||||
|
let g:lsp_diagnostics_enabled = 1
|
||||||
|
|
||||||
|
" show diagnostic signs
|
||||||
|
let g:lsp_signs_enabled = 1
|
||||||
|
let g:lsp_signs_error = {'text': '✗'}
|
||||||
|
let g:lsp_signs_warning = {'text': '!'}
|
||||||
|
let g:lsp_highlights_enabled = 0
|
||||||
|
|
||||||
|
" Do not use virtual text, they are far too obstrusive.
|
||||||
|
let g:lsp_virtual_text_enabled = 0
|
||||||
|
" echo a diagnostic message at cursor position
|
||||||
|
let g:lsp_diagnostics_echo_cursor = 0
|
||||||
|
" show diagnostic in floating window
|
||||||
|
let g:lsp_diagnostics_float_cursor = 1
|
||||||
|
" whether to enable highlight a symbol and its references
|
||||||
|
let g:lsp_highlight_references_enabled = 1
|
||||||
|
let g:lsp_preview_max_width = 80
|
||||||
|
|
||||||
|
" set up pyls for vim-lsp
|
||||||
|
if executable('pyls')
|
||||||
|
" pip install python-language-server
|
||||||
|
au User lsp_setup call lsp#register_server({
|
||||||
|
\ 'name': 'pyls',
|
||||||
|
\ 'cmd': {server_info->['pyls']},
|
||||||
|
\ 'allowlist': ['python'],
|
||||||
|
\ })
|
||||||
|
endif
|
||||||
|
|
||||||
|
function! s:on_lsp_buffer_enabled() abort
|
||||||
|
if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif
|
||||||
|
nmap <buffer> gd <plug>(lsp-definition)
|
||||||
|
nmap <buffer> gr <plug>(lsp-references)
|
||||||
|
nmap <buffer> gi <plug>(lsp-implementation)
|
||||||
|
nmap <buffer> gt <plug>(lsp-type-definition)
|
||||||
|
nmap <buffer> <leader>rn <plug>(lsp-rename)
|
||||||
|
nmap <buffer> [g <Plug>(lsp-previous-diagnostic)
|
||||||
|
nmap <buffer> ]g <Plug>(lsp-next-diagnostic)
|
||||||
|
nmap <buffer> K <plug>(lsp-hover)
|
||||||
|
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 settings"""""""""""""""""""
|
"""""""""""""""""""""""""UltiSnips settings"""""""""""""""""""
|
||||||
" Trigger configuration. Do not use <tab> if you use YouCompleteMe
|
" Trigger configuration. Do not use <tab> if you use YouCompleteMe
|
||||||
let g:UltiSnipsExpandTrigger='<c-j>'
|
let g:UltiSnipsExpandTrigger='<c-j>'
|
||||||
@ -359,23 +401,6 @@ let g:UltiSnipsSnippetDirectories=['UltiSnips', 'my_snippets']
|
|||||||
"}}
|
"}}
|
||||||
|
|
||||||
"{{ Python-related
|
"{{ Python-related
|
||||||
""""""""""""""""""deoplete-jedi settings"""""""""""""""""""""""""""
|
|
||||||
" Whether to show doc string
|
|
||||||
let g:deoplete#sources#jedi#show_docstring = 0
|
|
||||||
|
|
||||||
" For large package, set autocomplete wait time longer
|
|
||||||
let g:deoplete#sources#jedi#server_timeout = 50
|
|
||||||
|
|
||||||
" Ignore jedi errors during completion
|
|
||||||
let g:deoplete#sources#jedi#ignore_errors = 1
|
|
||||||
|
|
||||||
""""""""""""""""""""""""jedi-vim settings"""""""""""""""""""
|
|
||||||
" Disable autocompletion, because I use deoplete for auto-completion
|
|
||||||
let g:jedi#completions_enabled = 0
|
|
||||||
|
|
||||||
" Whether to show function call signature
|
|
||||||
let g:jedi#show_call_signatures = '0'
|
|
||||||
|
|
||||||
"""""""""""""""""""""""""" semshi settings """""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""" semshi settings """""""""""""""""""""""""""""""
|
||||||
" Do not highlight for all occurances of variable under cursor
|
" Do not highlight for all occurances of variable under cursor
|
||||||
let g:semshi#mark_selected_nodes=0
|
let g:semshi#mark_selected_nodes=0
|
||||||
@ -764,6 +789,9 @@ let g:airline#extensions#gutentags#enabled = 1
|
|||||||
" Do not show search index in statusline since it is shown on command line
|
" Do not show search index in statusline since it is shown on command line
|
||||||
let g:airline#extensions#anzu#enabled = 0
|
let g:airline#extensions#anzu#enabled = 0
|
||||||
|
|
||||||
|
" Enable vim-airline extension for vim-lsp
|
||||||
|
let g:airline#extensions#lsp#enabled = 1
|
||||||
|
|
||||||
" Skip empty sections if there are nothing to show,
|
" Skip empty sections if there are nothing to show,
|
||||||
" extracted from https://vi.stackexchange.com/a/9637/15292
|
" extracted from https://vi.stackexchange.com/a/9637/15292
|
||||||
let g:airline_skip_empty_sections = 1
|
let g:airline_skip_empty_sections = 1
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user