local ft = { "javascriptreact", "typescriptreact", "javascript", "typescript" } return { { "pmizio/typescript-tools.nvim", dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig", }, ft = ft, opts = { on_attach = function(client) client.server_capabilities.documentFormattingProvider = false client.server_capabilities.documentRangeFormattingProvider = false end, settings = { expose_as_code_action = "all", tsserver_format_options = function(_) return {} end, tsserver_file_preferences = { includeInlayParameterNameHints = "all", includeInlayParameterNameHintsWhenArgumentMatchesName = false, includeInlayFunctionParameterTypeHints = true, includeInlayVariableTypeHints = true, includeInlayVariableTypeHintsWhenTypeMatchesName = false, includeInlayPropertyDeclarationTypeHints = true, includeInlayFunctionLikeReturnTypeHints = true, includeInlayEnumMemberValueHints = true, }, complete_function_calls = true, code_lens = "all", }, }, }, { "dmmulroy/ts-error-translator.nvim", ft = ft, }, { "folke/ts-comments.nvim", opts = {}, event = "VeryLazy", enabled = vim.fn.has("nvim-0.10.0") == 1, ft = ft, }, }