/
tsserver.lua
33 lines (30 loc) · 1.01 KB
/
tsserver.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
local configs = require 'lspconfig/configs'
local util = require 'lspconfig/util'
local server_name = 'tsserver'
local bin_name = 'typescript-language-server'
if vim.fn.has 'win32' == 1 then
bin_name = bin_name .. '.cmd'
end
configs[server_name] = {
default_config = {
init_options = { hostInfo = 'neovim' },
cmd = { bin_name, '--stdio' },
filetypes = { 'javascript', 'javascriptreact', 'javascript.jsx', 'typescript', 'typescriptreact', 'typescript.tsx' },
root_dir = function(fname)
return util.root_pattern 'tsconfig.json'(fname)
or util.root_pattern('package.json', 'jsconfig.json', '.git')(fname)
end,
},
docs = {
description = [[
https://github.com/theia-ide/typescript-language-server
`typescript-language-server` depends on `typescript`. Both packages can be installed via `npm`:
```sh
npm install -g typescript typescript-language-server
```
]],
default_config = {
root_dir = [[root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git")]],
},
},
}