44 lines
962 B
Lua
44 lines
962 B
Lua
vim.lsp.config("ts_ls", {
|
|
on_attach = function(client, bufnr)
|
|
local opts = { noremap = true, silent = true, buffer = bufnr }
|
|
|
|
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
|
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
|
|
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
|
end,
|
|
|
|
filetypes = {
|
|
"typescript",
|
|
"typescriptreact",
|
|
"javascript",
|
|
"javascriptreact",
|
|
},
|
|
|
|
cmd = { "typescript-language-server", "--stdio" },
|
|
|
|
root_dir = vim.fs.root(0, {
|
|
"package.json",
|
|
"tsconfig.json",
|
|
"jsconfig.json",
|
|
".git",
|
|
}),
|
|
|
|
settings = {
|
|
format = {
|
|
enable = true,
|
|
insertSpaceAfterCommaDelimiter = true,
|
|
insertSpaceAfterSemicolon = true,
|
|
insertSpaceBeforeAndAfterOperator = true,
|
|
indentStyle = "smart",
|
|
indentSize = 2,
|
|
wrapLineLength = 120,
|
|
},
|
|
diagnostics = {
|
|
enable = true,
|
|
},
|
|
completions = {
|
|
enable = true,
|
|
},
|
|
},
|
|
})
|
|
|