require("lspconfig").ts_ls.setup({ cmd = { "typescript-language-server", "--stdio" }, filetype = { "javascript", "html" }, }) return { { "nvim-treesitter/nvim-treesitter", opts = { ensure_installed = { "css", "scss", "go", "gomod", "gowork", "gosum", "json5" } }, }, { "mason-org/mason.nvim", opts = { ensure_installed = { "bash-language-server", "css-lsp", "html-lsp", "gopls", "helm-ls", "json-lsp", "goimports", "gofumpt", "gomodifytags", "impl", "delve", }, }, }, { "neovim/nvim-lspconfig", opts = { servers = { tsserver = { enabled = false, }, ts_ls = { enabled = false, }, gopls = { settings = { gopls = { hints = { parameterNames = false, assignVariableTypes = false, }, usePlaceholders = false, }, }, }, vtsls = { enabled = false, filetypes = { "javascript", "javascriptreact", "javascript.jsx", "typescript", "typescriptreact", "typescript.tsx", }, settings = { complete_function_calls = true, vtsls = { enableMoveToFileCodeAction = true, autoUseWorkspaceTsdk = true, experimental = { completion = { enableServerSideFuzzyMatch = true, }, }, }, typescript = { updateImportsOnFileMove = { enabled = "always" }, suggest = { completeFunctionCalls = true, }, inlayHints = { enumMemberValues = { enabled = true }, functionLikeReturnTypes = { enabled = false }, parameterNames = { enabled = false }, parameterTypes = { enabled = false }, propertyDeclarationTypes = { enabled = true }, variableTypes = { enabled = false }, }, }, }, }, }, }, }, { "neovim/nvim-lspconfig", }, }