summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhui.liu <[email protected]>2021-07-09 20:08:17 +0800
committerGitHub <[email protected]>2021-07-09 08:08:17 -0400
commit8717f4f9a9606a32f0f8ed45ffae99f5c0dcc0e9 (patch)
tree65d9ba1a1afb5daebbdb7000bf7aa83524449c30
parent2866ba528c7b49c7c7261a327750a7b8fcff345d (diff)
Refactor tsserver-ls as a shared module (#806)
-rw-r--r--ftplugin/javascript.lua40
-rw-r--r--ftplugin/javascriptreact.lua40
-rw-r--r--ftplugin/typescript.lua40
-rw-r--r--ftplugin/typescriptreact.lua40
-rw-r--r--lua/lsp/tsserver-ls.lua41
5 files changed, 45 insertions, 156 deletions
diff --git a/ftplugin/javascript.lua b/ftplugin/javascript.lua
index 2c615784..f74b54e9 100644
--- a/ftplugin/javascript.lua
+++ b/ftplugin/javascript.lua
@@ -1,41 +1,3 @@
-if not require("lv-utils").check_lsp_client_active "tsserver" then
- -- 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()
-end
+require "lsp.tsserver-ls"
vim.cmd "setl ts=2 sw=2"
diff --git a/ftplugin/javascriptreact.lua b/ftplugin/javascriptreact.lua
index 2c615784..f74b54e9 100644
--- a/ftplugin/javascriptreact.lua
+++ b/ftplugin/javascriptreact.lua
@@ -1,41 +1,3 @@
-if not require("lv-utils").check_lsp_client_active "tsserver" then
- -- 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()
-end
+require "lsp.tsserver-ls"
vim.cmd "setl ts=2 sw=2"
diff --git a/ftplugin/typescript.lua b/ftplugin/typescript.lua
index 2c615784..f74b54e9 100644
--- a/ftplugin/typescript.lua
+++ b/ftplugin/typescript.lua
@@ -1,41 +1,3 @@
-if not require("lv-utils").check_lsp_client_active "tsserver" then
- -- 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()
-end
+require "lsp.tsserver-ls"
vim.cmd "setl ts=2 sw=2"
diff --git a/ftplugin/typescriptreact.lua b/ftplugin/typescriptreact.lua
index 2c615784..f74b54e9 100644
--- a/ftplugin/typescriptreact.lua
+++ b/ftplugin/typescriptreact.lua
@@ -1,41 +1,3 @@
-if not require("lv-utils").check_lsp_client_active "tsserver" then
- -- 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()
-end
+require "lsp.tsserver-ls"
vim.cmd "setl ts=2 sw=2"
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()