| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | -- 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)-- endrequire'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        })    }}if O.lang.tsserver.autoformat then    require('lv-utils').define_augroups({        _javascript_autoformat = {            'BufWritePre', '*.js', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'        },        _javascriptreact_autoformat = {            'BufWritePre', '*.jsx', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'        },        _typescript_autoformat = {            'BufWritePre', '*.ts', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'        },        _typescriptreact_autoformat = {            'BufWritePre', '*.tsx', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'        }    })end
 |