diff --git a/common/home-manager/nixvim/lsp.nix b/common/home-manager/nixvim/lsp.nix index b45a33b..d262490 100644 --- a/common/home-manager/nixvim/lsp.nix +++ b/common/home-manager/nixvim/lsp.nix @@ -29,6 +29,8 @@ enable = true; extraOptions.on_init.__raw = '' function(client) + client.server_capabilities.documentFormattingProvider = false + client.server_capabilities.documentRangeFormattingProvider = false client.handlers['tsserver/request'] = function(_, result, context) local clients = vim.lsp.get_clients({ bufnr = context.bufnr, name = 'vtsls' }) if #clients == 0 then @@ -59,6 +61,12 @@ typescript-tools = { enable = true; settings = { + on_attach.__raw = '' + function(client) + client.server_capabilities.documentFormattingProvider = false + client.server_capabilities.documentRangeFormattingProvider = false + end + ''; filetypes = [ "javascript" "typescript" "vue" ]; settings = { single_file_support = false; diff --git a/common/home-manager/nixvim/none-ls.nix b/common/home-manager/nixvim/none-ls.nix index 3703392..163312d 100644 --- a/common/home-manager/nixvim/none-ls.nix +++ b/common/home-manager/nixvim/none-ls.nix @@ -1,10 +1,15 @@ -{ ... }: { +{ pkgs, ... }: { programs.nixvim.plugins.none-ls = { enable = true; sources = { formatting = { black.enable = true; dart_format.enable = true; + mdformat = { + enable = true; + package = pkgs.mdformat.withPlugins + (packages: with packages; [ mdformat-tables ]); + }; nixfmt.enable = true; xmllint.enable = true; };