diff options
author | hui.liu <[email protected]> | 2021-07-09 20:08:17 +0800 |
---|---|---|
committer | GitHub <[email protected]> | 2021-07-09 08:08:17 -0400 |
commit | 8717f4f9a9606a32f0f8ed45ffae99f5c0dcc0e9 (patch) | |
tree | 65d9ba1a1afb5daebbdb7000bf7aa83524449c30 /lua/lsp/tsserver-ls.lua | |
parent | 2866ba528c7b49c7c7261a327750a7b8fcff345d (diff) |
Refactor tsserver-ls as a shared module (#806)
Diffstat (limited to 'lua/lsp/tsserver-ls.lua')
-rw-r--r-- | lua/lsp/tsserver-ls.lua | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lua/lsp/tsserver-ls.lua b/lua/lsp/tsserver-ls.lua new file mode 100644 index 00000000..d7c4ec3c --- /dev/null +++ b/lua/lsp/tsserver-ls.lua @@ -0,0 +1,41 @@ +if require("lv-utils").check_lsp_client_active "tsserver" then + return +end + +-- npm install -g typescript typescript-language-server +-- require'snippets'.use_suggested_mappings() +-- local capabilities = vim.lsp.protocol.make_client_capabilities() +-- capabilities.textDocument.completion.completionItem.snippetSupport = true; +-- local on_attach_common = function(client) +-- print("LSP Initialized") +-- require'completion'.on_attach(client) +-- require'illuminate'.on_attach(client) +-- end +require("lspconfig").tsserver.setup { + cmd = { + DATA_PATH .. "/lspinstall/typescript/node_modules/.bin/typescript-language-server", + "--stdio", + }, + filetypes = { + "javascript", + "javascriptreact", + "javascript.jsx", + "typescript", + "typescriptreact", + "typescript.tsx", + }, + on_attach = require("lsp").tsserver_on_attach, + -- This makes sure tsserver is not used for formatting (I prefer prettier) + -- on_attach = require'lsp'.common_on_attach, + root_dir = require("lspconfig/util").root_pattern("package.json", "tsconfig.json", "jsconfig.json", ".git"), + settings = { documentFormatting = false }, + handlers = { + ["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { + virtual_text = O.lang.tsserver.diagnostics.virtual_text, + signs = O.lang.tsserver.diagnostics.signs, + underline = O.lang.tsserver.diagnostics.underline, + update_in_insert = true, + }), + }, +} +require("lsp.ts-fmt-lint").setup() |