diff --git a/home-manager/neovim/lspconfig.lua b/home-manager/neovim/lspconfig.lua index 0ece084..ee5f769 100644 --- a/home-manager/neovim/lspconfig.lua +++ b/home-manager/neovim/lspconfig.lua @@ -5,12 +5,6 @@ local on_attach = function(client, bufnr) vim.keymap.set("n", key, command, { noremap = true, silent = true, buffer = bufnr }) end - local function format_buffer() - vim.lsp.buf.format({ timeout_ms = 3000, async = false, filter = function(formatter) - return formatter.name ~= "tsserver" and formatter.name ~= "volar" - end }) - end - local telescope = require("telescope.builtin") nnoremap("gD", vim.lsp.buf.declaration) @@ -21,18 +15,25 @@ local on_attach = function(client, bufnr) nnoremap("K", vim.lsp.buf.hover) nnoremap("rn", vim.lsp.buf.rename) nnoremap("ca", vim.lsp.buf.code_action) - nnoremap("f", format_buffer) + nnoremap("f", vim.lsp.buf.format) nnoremap("d", telescope.diagnostics) nnoremap("D", require("lsp_lines").toggle) nnoremap("", vim.diagnostic.goto_prev) nnoremap("", vim.diagnostic.goto_next) + -- disable tsserver formatting + if client.name == "tsserver" then + client.server_capabilities.document_formatting = false + end + if client.supports_method("textDocument/formatting") then vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) vim.api.nvim_create_autocmd("BufWritePre", { group = augroup, buffer = bufnr, - callback = format_buffer, + callback = function() + vim.lsp.buf.format({ timeout_ms = 3000, async = false }) + end, }) end @@ -154,11 +155,3 @@ lspconfig["html"].setup({ on_attach = on_attach, capabilities = capabilities, }) - --- setup volar -lspconfig["volar"].setup({ - cmd = { "./node_modules/.bin/vue-language-server", "--stdio" }, - filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue', 'json' }, - on_attach = on_attach, - capabilities = capabilities, -}) diff --git a/home-manager/neovim/treesitter.lua b/home-manager/neovim/treesitter.lua index 931c77d..a061730 100644 --- a/home-manager/neovim/treesitter.lua +++ b/home-manager/neovim/treesitter.lua @@ -4,7 +4,7 @@ require('nvim-treesitter.configs').setup({ additional_vim_regex_highlighting = false }, indent = { - enable = false, + enable = true, }, rainbow = { enable = true,