summaryrefslogtreecommitdiff
path: root/.config/nvim/ftplugin/javascript.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/ftplugin/javascript.lua')
-rw-r--r--.config/nvim/ftplugin/javascript.lua77
1 files changed, 40 insertions, 37 deletions
diff --git a/.config/nvim/ftplugin/javascript.lua b/.config/nvim/ftplugin/javascript.lua
index ab37036..ff7cef2 100644
--- a/.config/nvim/ftplugin/javascript.lua
+++ b/.config/nvim/ftplugin/javascript.lua
@@ -1,38 +1,41 @@
--- 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()
+if not require("cfg.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("cfg.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
+
vim.cmd "setl ts=2 sw=2"