diff --git a/.vimrc b/.vimrc index 6754830..590784e 100644 --- a/.vimrc +++ b/.vimrc @@ -120,7 +120,7 @@ elseif executable('ccls') \ 'whitelist': ['c', 'cpp', 'objc', 'objcpp', 'cc'], \ }) endif -" + " Rust if executable('rust-analyzer') au User lsp_setup call lsp#register_server({ @@ -130,6 +130,22 @@ if executable('rust-analyzer') \ }) endif +" TypeScript and ECMAScript +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_file_directory(lsp#utils#get_buffer_path(), 'tsconfig.json'))}, + \ 'whitelist': ['typescript', 'typescript.tsx', 'typescriptreact'], + \ }) + au User lsp_setup call lsp#register_server({ + \ 'name': 'javascript support using 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': ['javascript', 'javascript.jsx', 'javascriptreact'] + \ }) +endif + " LSP config function! s:on_lsp_buffer_enabled() abort setlocal omnifunc=lsp#complete