| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 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()endvim.cmd "setl ts=2 sw=2"
 |