-
Notifications
You must be signed in to change notification settings - Fork 306
Servers TypeScript
Ryan Olson edited this page May 10, 2018
·
16 revisions
Note: tsserver
is searched in workspace node_modules followed by global install. Use -g
to install globally.
npm install -g typescript typescript-language-server
Using vim-lsp-typescript plugin
You can either register the typescript-language-server
in your .vimrc yourself (as described below) or you can simply install the vim-lsp-typescript
plugin, which will handle all of that for you.
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'],
\ })
endif
JavaScript is TypeScript, so the language server would provide you with some utility for JavaScript projects as well.
Since the .tsconfig.json
file is missing you can set it up the following way:
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