From d800a03993b95ed2cc1514d81464f86994b0e0d2 Mon Sep 17 00:00:00 2001 From: Vasili Svirydau Date: Thu, 12 Jul 2018 11:51:39 -0700 Subject: [PATCH] deoplete and lsp --- config/01-plugins.vim | 36 ++++++++++++++++++++++++++++++------ config/03-mappings.vim | 15 +++++++-------- config/04-autocmds.vim | 14 +++----------- 3 files changed, 40 insertions(+), 25 deletions(-) diff --git a/config/01-plugins.vim b/config/01-plugins.vim index a5bc4b7..75da041 100644 --- a/config/01-plugins.vim +++ b/config/01-plugins.vim @@ -27,12 +27,13 @@ if(g:have_plug) endif Plug 'tacahiroy/ctrlp-funky' " Fuzzy in-buffer search Plug 'tommcdo/vim-lion' " Align stuff + Plug 'tpope/vim-abolish' " Case Convert and other stuff Plug 'tpope/vim-commentary' " Commenting Plug 'tpope/vim-fugitive' " Work with git repos Plug 'tpope/vim-surround' " Surround with quotes Plug 'vim-airline/vim-airline' " Status bar Plug 'vim-airline/vim-airline-themes' " Status bar themes - Plug 'vimwiki/vimwiki' " http://vimwiki.github.io/ + " Plug 'vimwiki/vimwiki' " http://vimwiki.github.io/ Plug 'w0ng/vim-hybrid' " Hybrid colorscheme " Language @@ -51,13 +52,23 @@ if(g:have_plug) " Quality of life Plug 'edkolev/tmuxline.vim' Plug 'jez/vim-superman' " Man page viewer + Plug 'mhinz/vim-signify' " Gutter signs, git, et al. + + " Plug 'sotte/presenting.vim' " Slides if v:version >= 800 Plug 'w0rp/ale' " Asynchronous Linting Plug 'sbdchd/neoformat' " Automatic code formatting - Plug 'prabirshrestha/async.vim' " vim8/neovim async normalizer - Plug 'prabirshrestha/vim-lsp' " Language Server Protocol support + Plug 'autozimu/LanguageClient-neovim', { + \ 'branch': 'next', + \ 'do': 'bash install.sh', + \ } " Lanugage Server Support + Plug 'junegunn/fzf' " Multi-entry selection UI for LanguageClient + + Plug 'Shougo/deoplete.nvim' " Autocomplete Support + Plug 'roxma/nvim-yarp' " nvim plugin support + Plug 'roxma/vim-hug-neovim-rpc' Plug 'ruanyl/coverage.vim' " Code Coverage Support endif @@ -82,14 +93,27 @@ let g:airline#extensions#ale#enabled = 1 let g:ale_sign_column_always = 1 let g:ale_sign_error = '' let g:ale_sign_warning = '' +let g:ale_linters = { + \ 'html': [ 'tsserver' ], + \ } let g:ale_fixers = { \ 'javascript': [ 'eslint' ], \ } +let g:ale_linter_aliases = { 'html': ['ts'] } let g:ale_fix_on_save = 1 - -" let g:lsp_log_verbose = 1 -" let g:lsp_log_file = expand('~/vim-lsp.log') +" let g:ale_completion_enabled = 1 let g:coverage_json_report_path = 'coverage/coverage-final.json' let g:coverage_sign_covered = '' let g:coverage_sign_uncovered = '' + +let g:signify_vcs_list = [ 'git' ] + +let g:LanguageClient_serverCommands = { + \ 'typescript': ['typescript-language-server', '--stdio'], + \ 'javascript': ['javascript-typescript-stdio'], + \ 'javascript.jsx': ['javascript-typescript-stdio'], + \ 'dockerfile': ['docker-langserver', '--stdio'], + \ } + +let g:deoplete#enable_at_startup = 1 diff --git a/config/03-mappings.vim b/config/03-mappings.vim index 177a4d8..6b56dd4 100644 --- a/config/03-mappings.vim +++ b/config/03-mappings.vim @@ -4,8 +4,8 @@ noremap w :update inoremap w :updatea cmap w!! w !sudo tee % >/dev/null -cmap eh e %:h/ -cmap wh w %:h/ +" cmap eh e %:h/ +" cmap wh w %:h/ "Remove search highlight when is pressed nnoremap :nohlsearch @@ -25,13 +25,12 @@ noremap d :bd nmap e[ (ale_previous_wrap) nmap e] (ale_next_wrap) -" let g:tsuquyomi_javascript_support = 1 -" noremap p :echo tsuquyomi#hint() - -noremap p :LspHover -noremap D :LspDefinition -noremap U :LspReferences +nmap p (ale_hover) +nmap D (ale_go_to_definition) +nmap U (ale_find_references) let g:ctrlp_funky_syntax_highlight = 1 nnoremap f :CtrlPFunky +nnoremap :call LanguageClient_contextMenu() +nnoremap :call LanguageClient_textDocument_codeAction() diff --git a/config/04-autocmds.vim b/config/04-autocmds.vim index 556fb6e..11ce01d 100644 --- a/config/04-autocmds.vim +++ b/config/04-autocmds.vim @@ -60,16 +60,8 @@ \ } augroup END - augroup lsp - au! - if executable('typescript-language-server') - au User lsp_setup call lsp#register_server({ - \ 'name': 'typescript-language-server', - \ 'cmd': { server_info->[&shell, &shellcmdflag, 'typescript-language-server --stdio']}, - \ 'root_uri': { server_info->lsp#utils#path_to_uri(lsp#utils#find_nearest_parent_directory(lsp#utils#get_buffer_path(), '.git/..'))}, - \ 'whitelist': ['typescript', 'javascript', 'javascript.jsx'] - \ }) - endif - + augroup Dockerfile + au! + au BufNewFile,BufRead *.dockerfile setf dockerfile augroup END endif