diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 03d4d010..567e4e6e 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -18,3 +18,6 @@ [diniamo](https://github.com/diniamo): - Add Odin support under `vim.languages.odin`. + +- Disable the built-in format-on-save feature of zls. Use `vim.lsp.formatOnSave` + instead. diff --git a/modules/plugins/languages/zig.nix b/modules/plugins/languages/zig.nix index 3618d6d8..1b9a588b 100644 --- a/modules/plugins/languages/zig.nix +++ b/modules/plugins/languages/zig.nix @@ -6,7 +6,7 @@ }: let inherit (builtins) attrNames; inherit (lib.options) mkEnableOption mkOption; - inherit (lib.modules) mkIf mkMerge; + inherit (lib.modules) mkIf mkMerge mkDefault; inherit (lib.lists) isList; inherit (lib.types) either listOf package str enum; inherit (lib.nvim.lua) expToLua; @@ -60,13 +60,22 @@ in { config = mkIf cfg.enable (mkMerge [ (mkIf cfg.treesitter.enable { - vim.treesitter.enable = true; - vim.treesitter.grammars = [cfg.treesitter.package]; + vim.treesitter = { + enable = true; + grammars = [cfg.treesitter.package]; + }; }) (mkIf cfg.lsp.enable { - vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources.zig-lsp = servers.${cfg.lsp.server}.lspConfig; + vim = { + lsp.lspconfig = { + enable = true; + sources.zig-lsp = servers.${cfg.lsp.server}.lspConfig; + }; + + # nvf handles autosaving already + globals.zig_fmt_autosave = mkDefault 0; + }; }) ]); }