-- nvim/.config/nvim/lua/plugins/lsp/typescript.lua
return {
"neovim/nvim-lspconfig",
opts = {
servers = {
ts_ls = {
init_options = {
preferences = {
includeInlayParameterNameHints = "literal",
includeInlayParameterNameHintsWhenArgumentMatchesName = false,
includeInlayFunctionParameterTypeHints = false,
includeInlayVariableTypeHints = false,
includeInlayPropertyDeclarationTypeHints = true,
includeInlayFunctionLikeReturnTypeHints = true,
includeInlayEnumMemberValueHints = true,
importModuleSpecifierPreference = "non-relative",
},
},
on_attach = function(client, _)
-- prettier/eslint handle formatting
client.server_capabilities.documentFormattingProvider = false
client.server_capabilities.documentRangeFormattingProvider = false
end,
},
eslint = {
settings = {
workingDirectories = { mode = "auto" },
format = false,
},
},
jsonls = {
settings = {
json = {
validate = { enable = true },
},
},
},
},
},
}