|
@@ -106,8 +106,48 @@ if O.document_highlight then
|
|
|
end
|
|
|
|
|
|
function lsp_config.tsserver_on_attach(client, bufnr)
|
|
|
- lsp_config.common_on_attach(client, bufnr)
|
|
|
+ -- lsp_config.common_on_attach(client, bufnr)
|
|
|
client.resolved_capabilities.document_formatting = false
|
|
|
+
|
|
|
+ local ts_utils = require("nvim-lsp-ts-utils")
|
|
|
+
|
|
|
+ -- defaults
|
|
|
+ ts_utils.setup {
|
|
|
+ debug = false,
|
|
|
+ disable_commands = false,
|
|
|
+ enable_import_on_completion = false,
|
|
|
+ import_all_timeout = 5000, -- ms
|
|
|
+
|
|
|
+ -- eslint
|
|
|
+ eslint_enable_code_actions = true,
|
|
|
+ eslint_enable_disable_comments = true,
|
|
|
+ eslint_bin = O.lang.tsserver.linter,
|
|
|
+ eslint_config_fallback = nil,
|
|
|
+ eslint_enable_diagnostics = true,
|
|
|
+
|
|
|
+ -- formatting
|
|
|
+ enable_formatting = O.lang.tsserver.autoformat,
|
|
|
+ formatter = O.lang.tsserver.formatter,
|
|
|
+ formatter_config_fallback = nil,
|
|
|
+
|
|
|
+ -- parentheses completion
|
|
|
+ complete_parens = false,
|
|
|
+ signature_help_in_parens = false,
|
|
|
+
|
|
|
+ -- update imports on file move
|
|
|
+ update_imports_on_move = false,
|
|
|
+ require_confirmation_on_move = false,
|
|
|
+ watch_dir = nil,
|
|
|
+ }
|
|
|
+
|
|
|
+ -- required to fix code action ranges
|
|
|
+ ts_utils.setup_client(client)
|
|
|
+
|
|
|
+ -- TODO: keymap these?
|
|
|
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "gs", ":TSLspOrganize<CR>", {silent = true})
|
|
|
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "qq", ":TSLspFixCurrent<CR>", {silent = true})
|
|
|
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "gr", ":TSLspRenameFile<CR>", {silent = true})
|
|
|
+ -- vim.api.nvim_buf_set_keymap(bufnr, "n", "gi", ":TSLspImportAll<CR>", {silent = true})
|
|
|
end
|
|
|
|
|
|
|