-
Notifications
You must be signed in to change notification settings - Fork 307
Servers JavaScript
Ryan Olson edited this page Jan 11, 2019
·
4 revisions
The typescript-language-server is capable of giving intelligent LSP functionality for JavaScript.
Note: tsserver
is searched in workspace node_modules followed by global install. Use -g
to install globally.
npm install -g typescript typescript-language-server
Once the typescript-language-server
is installed, you can either:
- Install vim-lsp-javascript (which automatically registers the language server for JavaScript) OR
- Register the
typescript-language-server
yourself in your .vimrc
Installing vim-lsp-javascript
If you'd like the vim-lsp-javascript
plugin to register the typescript-language-server
for you, install the vim-lsp-javascript
plugin:
" After vim-lsp, etc
Plug 'ryanolsonx/vim-lsp-javascript'
For more information, check out ryanolsonx/vim-lsp-javascript.
Here's an example that shows how to manually setup a language server for JavaScript.
You can either set it up and use your git root directory as your project root OR find the root that has a package.json.
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
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_file_directory(lsp#utils#get_buffer_path(), 'package.json'))},
\ 'whitelist': ['javascript', 'javascript.jsx'],
\ })