From 4b95ae106c832bea347ad2bd53f2c40d880f0d27 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 20 Dec 2025 01:50:15 +0800 Subject: [PATCH 01/11] bufferline.nvim: fix hover behavior (#1297) Enable `mousemoveevent` vim option if `setupOpts.options.hover` is enabled, as required by the plugin. --- docs/manual/release-notes.md | 1 + docs/manual/release-notes/rl-0.9.md | 8 ++++++ .../tabline/nvim-bufferline/config.nix | 26 ++++++++++++++++--- 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 docs/manual/release-notes/rl-0.9.md diff --git a/docs/manual/release-notes.md b/docs/manual/release-notes.md index 296b20b1..ddb53883 100644 --- a/docs/manual/release-notes.md +++ b/docs/manual/release-notes.md @@ -12,4 +12,5 @@ release-notes/rl-0.5.md release-notes/rl-0.6.md release-notes/rl-0.7.md release-notes/rl-0.8.md +release-notes/rl-0.9.md ``` diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md new file mode 100644 index 00000000..8e804d6d --- /dev/null +++ b/docs/manual/release-notes/rl-0.9.md @@ -0,0 +1,8 @@ +# Release 0.9 {#sec-release-0-9} + +## Changelog {#sec-release-0-9-changelog} + + +[suimong](https://github.com/suimong): + +- Fix `vim.tabline.nvimBufferline` where `setupOpts.options.hover` requires `vim.opt.mousemoveevent` to be set. diff --git a/modules/plugins/tabline/nvim-bufferline/config.nix b/modules/plugins/tabline/nvim-bufferline/config.nix index 396e6886..b3285537 100644 --- a/modules/plugins/tabline/nvim-bufferline/config.nix +++ b/modules/plugins/tabline/nvim-bufferline/config.nix @@ -24,15 +24,33 @@ in { # Recommended by upstream, so enabled here. visuals.nvim-web-devicons.enable = true; + # See `:help bufferline-hover-events` + options = mkIf cfg.setupOpts.options.hover.enabled { + mousemoveevent = true; + }; + maps.normal = mkMerge [ - (mkLuaBinding cfg.mappings.closeCurrent "require(\"bufdelete\").bufdelete" mappings.closeCurrent.description) + ( + mkLuaBinding cfg.mappings.closeCurrent "require(\"bufdelete\").bufdelete" + mappings.closeCurrent.description + ) (mkBinding cfg.mappings.cycleNext ":BufferLineCycleNext" mappings.cycleNext.description) (mkBinding cfg.mappings.cycleNext ":BufferLineCycleNext" mappings.cycleNext.description) (mkBinding cfg.mappings.cyclePrevious ":BufferLineCyclePrev" mappings.cyclePrevious.description) (mkBinding cfg.mappings.pick ":BufferLinePick" mappings.pick.description) - (mkBinding cfg.mappings.sortByExtension ":BufferLineSortByExtension" mappings.sortByExtension.description) - (mkBinding cfg.mappings.sortByDirectory ":BufferLineSortByDirectory" mappings.sortByDirectory.description) - (mkLuaBinding cfg.mappings.sortById "function() require(\"bufferline\").sort_buffers_by(function (buf_a, buf_b) return buf_a.id < buf_b.id end) end" mappings.sortById.description) + ( + mkBinding cfg.mappings.sortByExtension ":BufferLineSortByExtension" + mappings.sortByExtension.description + ) + ( + mkBinding cfg.mappings.sortByDirectory ":BufferLineSortByDirectory" + mappings.sortByDirectory.description + ) + ( + mkLuaBinding cfg.mappings.sortById + "function() require(\"bufferline\").sort_buffers_by(function (buf_a, buf_b) return buf_a.id < buf_b.id end) end" + mappings.sortById.description + ) (mkBinding cfg.mappings.moveNext ":BufferLineMoveNext" mappings.moveNext.description) (mkBinding cfg.mappings.movePrevious ":BufferLineMovePrev" mappings.movePrevious.description) ]; From a1ef6d28a7a63184382d531c01656b5519aaf3ec Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 21 Dec 2025 01:49:58 +0300 Subject: [PATCH 02/11] ci: trigger docs preview on more PR events Signed-off-by: NotAShelf Change-Id: I3e40e39e69befaab40ff9f278ff7537f6a6a6964 --- .github/workflows/docs-preview.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs-preview.yml b/.github/workflows/docs-preview.yml index 10421204..d6570af7 100644 --- a/.github/workflows/docs-preview.yml +++ b/.github/workflows/docs-preview.yml @@ -3,7 +3,7 @@ name: Build and Preview Manual on: workflow_dispatch: pull_request_target: - types: [opened, synchronize, reopened, closed] + types: [opened, synchronize, reopened, labeled, unlabeled, edited] paths: - ".github/workflows/docs-preview.yml" - "modules/**" From 9f4260c2a83221fae9bbf02611e69fe5bf6e2a8f Mon Sep 17 00:00:00 2001 From: Soliprem Date: Sun, 21 Dec 2025 14:32:25 +0100 Subject: [PATCH 03/11] docs/rl-0.9: fix release notes formatting --- docs/manual/release-notes/rl-0.9.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 8e804d6d..16bc1cf0 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -2,7 +2,7 @@ ## Changelog {#sec-release-0-9-changelog} - [suimong](https://github.com/suimong): -- Fix `vim.tabline.nvimBufferline` where `setupOpts.options.hover` requires `vim.opt.mousemoveevent` to be set. +- Fix `vim.tabline.nvimBufferline` where `setupOpts.options.hover` requires + `vim.opt.mousemoveevent` to be set. From b1b8794a19400222e860f90377515d01cc5c6ea3 Mon Sep 17 00:00:00 2001 From: Ben Mayer <90480641+Libadoxon@users.noreply.github.com> Date: Sun, 21 Dec 2025 15:33:27 +0100 Subject: [PATCH 04/11] make toggleterm open map acutally toggle the terminal (#1295) --- docs/manual/release-notes/rl-0.8.md | 4 ++++ modules/plugins/terminal/toggleterm/config.nix | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/manual/release-notes/rl-0.8.md b/docs/manual/release-notes/rl-0.8.md index fadb2e69..bb26a9a2 100644 --- a/docs/manual/release-notes/rl-0.8.md +++ b/docs/manual/release-notes/rl-0.8.md @@ -627,3 +627,7 @@ - Aligned `codelldb` adapter setup with [rustaceanvim]’s built-in logic. - Added `languages.rust.dap.backend` option to choose between `codelldb` and `lldb-dap` adapters. + +[Libadoxon](https://github.com/Libadoxon) + +- `toggleterm` open map now also works when in terminal mode diff --git a/modules/plugins/terminal/toggleterm/config.nix b/modules/plugins/terminal/toggleterm/config.nix index 280f29d2..85cca09f 100644 --- a/modules/plugins/terminal/toggleterm/config.nix +++ b/modules/plugins/terminal/toggleterm/config.nix @@ -17,9 +17,20 @@ in { vim = { lazy.plugins.toggleterm-nvim = { package = "toggleterm-nvim"; - cmd = ["ToggleTerm" "ToggleTermSendCurrentLine" "ToggleTermSendVisualLines" "ToggleTermSendVisualSelection" "ToggleTermSetName" "ToggleTermToggleAll"]; + cmd = [ + "ToggleTerm" + "ToggleTermSendCurrentLine" + "ToggleTermSendVisualLines" + "ToggleTermSendVisualSelection" + "ToggleTermSetName" + "ToggleTermToggleAll" + ]; keys = - [(mkKeymap "n" cfg.mappings.open "execute v:count . \"ToggleTerm\"" {desc = "Toggle terminal";})] + [ + (mkKeymap ["n" "t"] cfg.mappings.open "execute v:count . \"ToggleTerm\"" { + desc = "Toggle terminal"; + }) + ] ++ optional cfg.lazygit.enable { key = cfg.lazygit.mappings.open; mode = "n"; From c60086f34e1c2f426ea4a38abf2868d8367c6876 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 22 Dec 2025 16:48:53 +0300 Subject: [PATCH 05/11] ci: use the correct documentation URL in previews Signed-off-by: NotAShelf Change-Id: Ie5151a652e134c350d6e792ecb14da376a6a6964 --- .github/workflows/docs-preview.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs-preview.yml b/.github/workflows/docs-preview.yml index 10421204..be17ef54 100644 --- a/.github/workflows/docs-preview.yml +++ b/.github/workflows/docs-preview.yml @@ -73,7 +73,7 @@ jobs: id: prelude run: | PR_NUMBER=${{ github.event.pull_request.number }} - URL="https://${{ github.repository_owner }}.github.io/nvf/docs-preview-${PR_NUMBER}/" + URL="https:///nvf.notashelf.dev/docs-preview-${PR_NUMBER}/" # Propagate non-interpolatable environment vars echo "URL=$URL" >> "$GITHUB_OUTPUT" From c15191cee8f0a5849e78dc7ba63c3beb1abd40e9 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 22 Dec 2025 16:49:10 +0300 Subject: [PATCH 06/11] ci: force CNAME in deployments Signed-off-by: NotAShelf Change-Id: I6a22db6d5f3b95c416aefcd3dc4304556a6a6964 --- .github/workflows/manual.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 1c628b08..4b6e2eff 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -59,3 +59,4 @@ jobs: with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./public + cname: nvf.notashelf.dev From ef1f22efaf4aa37ba9382a7d1807fa8ac9c097fd Mon Sep 17 00:00:00 2001 From: suiiii Date: Wed, 24 Dec 2025 18:17:49 +0100 Subject: [PATCH 07/11] pins/codecompanion-nvim: bump to v18.3.0 --- npins/sources.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 919ef20d..a9df47b7 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -285,9 +285,9 @@ }, "branch": "main", "submodules": false, - "revision": "38db66c4e20032821bd166f7012291fe99f1e8f3", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/38db66c4e20032821bd166f7012291fe99f1e8f3.tar.gz", - "hash": "1iqqgcj7vdsif0fj0pf6ifn3nh05aznk2gnas7l3lg8b5g103vb8" + "revision": "b3bb0d73079643d4a5b0d8b621cde619a73bc91a", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/b3bb0d73079643d4a5b0d8b621cde619a73bc91a.tar.gz", + "hash": "0jzldi9h98hci5ij1qnb4283hmh14irnprp5zg6mnfs9l6m8z3mq" }, "codewindow-nvim": { "type": "Git", From 0390abd6736ff34a016afc66366d1f46372f28de Mon Sep 17 00:00:00 2001 From: ilkecan <40234257+ilkecan@users.noreply.github.com> Date: Tue, 30 Dec 2025 19:43:52 +0000 Subject: [PATCH 08/11] flake: prevent the second nixpkgs in lock file (#1308) --- flake.lock | 22 ++++------------------ flake.nix | 5 ++++- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index de4d1484..9f6d599a 100644 --- a/flake.lock +++ b/flake.lock @@ -53,7 +53,9 @@ }, "ndg": { "inputs": { - "nixpkgs": "nixpkgs" + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1765720983, @@ -70,22 +72,6 @@ } }, "nixpkgs": { - "locked": { - "lastModified": 1764242076, - "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { "locked": { "lastModified": 1764081664, "narHash": "sha256-sUoHmPr/EwXzRMpv1u/kH+dXuvJEyyF2Q7muE+t0EU4=", @@ -107,7 +93,7 @@ "flake-parts": "flake-parts", "mnw": "mnw", "ndg": "ndg", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "systems": "systems" } }, diff --git a/flake.nix b/flake.nix index 31e8d0f1..cb4a8ae8 100644 --- a/flake.nix +++ b/flake.nix @@ -107,6 +107,9 @@ mnw.url = "github:Gerg-L/mnw"; # Alternative documentation generator - ndg.url = "github:feel-co/ndg"; + ndg = { + url = "github:feel-co/ndg"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; } From 9c75c2a199af39fc95fb203636ce97d070ca3973 Mon Sep 17 00:00:00 2001 From: rain capsule <29630035+busybox11@users.noreply.github.com> Date: Fri, 2 Jan 2026 16:55:00 +0100 Subject: [PATCH 09/11] docs(readme): fix 404 on installation links (#1313) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7786636a..b83772ae 100644 --- a/README.md +++ b/README.md @@ -65,9 +65,9 @@ ## Features -[standalone]: https://notashelf.github.io/nvf/index.xhtml#ch-standalone-installation -[NixOS module]: https://notashelf.github.io/nvf/index.xhtml#ch-standalone-nixos -[Home-Manager module]: https://notashelf.github.io/nvf/index.xhtml#ch-standalone-hm +[standalone]: https://nvf.notashelf.dev/#ch-standalone-installation +[NixOS module]: https://nvf.notashelf.dev/#ch-standalone-nixos +[Home-Manager module]: https://nvf.notashelf.dev/#ch-standalone-hm [release notes]: https://notashelf.github.io/nvf/release-notes.html [discussions tab]: https://github.com/notashelf/nvf/discussions [FAQ section]: #frequently-asked-questions From 1bf757685b065c5aaeaf252c02457238df42ed31 Mon Sep 17 00:00:00 2001 From: Jens Feodor Nielsen Date: Mon, 5 Jan 2026 16:29:19 +0100 Subject: [PATCH 10/11] utility/ccc: add setupOpts option (#1294) * utility/ccc: add inputs and outputs options Added `ccc.nvim` options `vim.utility.ccc.inputs` and `vim.utility.ccc.outputs` to make input color systems and output color formats configurable. * utility/ccc: add setupOpts option Added `ccc.nvim` option `vim.utility.ccc.setupOpts` with the existing hard-coded options as default values. * utility/ccc: no hidden mapping, better types - Remove hidden mapping input/output options into luaInline with prefixes. - Update types of setupOpts sub-options to avoid large blocks of inline Lua in the configuration. * utility/ccc: properly format with alejandra --- docs/manual/release-notes/rl-0.9.md | 7 ++ modules/plugins/utility/ccc/ccc.nix | 140 ++++++++++++++++++++++++- modules/plugins/utility/ccc/config.nix | 37 +------ 3 files changed, 148 insertions(+), 36 deletions(-) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 16bc1cf0..03588586 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -6,3 +6,10 @@ - Fix `vim.tabline.nvimBufferline` where `setupOpts.options.hover` requires `vim.opt.mousemoveevent` to be set. + +[jfeo](https://github.com/jfeo): + +[ccc.nvim]: https://github.com/uga-rosa/ccc.nvim + +- Added [ccc.nvim] option {option}`vim.utility.ccc.setupOpts` with the existing + hard-coded options as default values. diff --git a/modules/plugins/utility/ccc/ccc.nix b/modules/plugins/utility/ccc/ccc.nix index f900b531..99c169fb 100644 --- a/modules/plugins/utility/ccc/ccc.nix +++ b/modules/plugins/utility/ccc/ccc.nix @@ -1,10 +1,148 @@ {lib, ...}: let - inherit (lib.options) mkEnableOption; + inherit (lib.options) mkOption mkEnableOption; + inherit (lib.types) anything attrsOf listOf enum; inherit (lib.nvim.binds) mkMappingOption; + inherit (lib.nvim.types) mkPluginSetupOption luaInline; + inherit (lib.generators) mkLuaInline; in { options.vim.utility.ccc = { enable = mkEnableOption "ccc color picker for neovim"; + setupOpts = mkPluginSetupOption "ccc.nvim" { + highlighter = mkOption { + type = attrsOf anything; + default = { + auto_enable = true; + max_byte = 2 * 1024 * 1024; # 2mb + lsp = true; + filetypes = mkLuaInline "colorPickerFts"; + }; + description = '' + Settings for the highlighter. See {command}`:help ccc` for options. + ''; + }; + + pickers = mkOption { + type = listOf luaInline; + default = map mkLuaInline [ + "ccc.picker.hex" + "ccc.picker.css_rgb" + "ccc.picker.css_hsl" + "ccc.picker.ansi_escape { meaning1 = \"bold\", }" + ]; + description = '' + List of formats that can be detected by {command}`:CccPick` to be + activated. + + Must be inline lua references to `ccc.picker`, for example + `mkLuaInline "ccc.picker.hex"`. See {command}`:help ccc` for options. + ''; + }; + + alpha_show = mkOption { + type = enum [ + "show" + "hide" + "auto" + ]; + default = "hide"; + description = '' + This option determines whether the alpha slider is displayed when the + UI is opened. "show" and "hide" mean as they are. "auto" makes the + slider appear only when the alpha value can be picked up. + ''; + }; + + recognize = mkOption { + type = attrsOf anything; + default = { + output = true; + }; + description = '' + Settings for recognizing the color format. See {command}`:help ccc` for options. + ''; + }; + + inputs = mkOption { + type = listOf luaInline; + default = map mkLuaInline ["ccc.input.hsl"]; + description = '' + List of color systems to be activated. Must be inline lua references to + `ccc.input`, for example `mkLuaInline "ccc.input.rgb"`. See + {command}`:help ccc` for options. + + The toggle input mode action toggles in this order. The first one is + the default used at the first startup. Once activated, it will keep the + previous input mode. + ''; + }; + + outputs = mkOption { + type = listOf luaInline; + default = map mkLuaInline [ + "ccc.output.css_hsl" + "ccc.output.css_rgb" + "ccc.output.hex" + ]; + description = '' + List of output formats to be activated. Must be inline Lua references to + `ccc.output`, for example `mkLuaInline "ccc.output.rgb"`. See + {command}`:help ccc` for options. + + The toggle output mode action toggles in this order. The first one is + the default used at the first startup. Once activated, it will keep the + previous output mode. + ''; + }; + + convert = mkOption { + type = listOf (listOf luaInline); + default = map (map mkLuaInline) [ + [ + "ccc.picker.hex" + "ccc.output.css_hsl" + ] + [ + "ccc.picker.css_rgb" + "ccc.output.css_hsl" + ] + [ + "ccc.picker.css_hsl" + "ccc.output.hex" + ] + ]; + description = '' + Specify the correspondence between picker and output. Must be a list of + two-element lists defining picker/output pairs as inline Lua references, + for example: + + ```nix + map (map mkLuaInline) [ + ["ccc.picker.hex", "ccc.output.css_rgb"] + ["ccc.picker.css_rgb", "ccc.output.hex"] + ]; + ``` + + See {command}`:help ccc` for options. + ''; + }; + + mappings = mkOption { + type = attrsOf luaInline; + default = { + "q" = mkLuaInline "ccc.mapping.quit"; + "L" = mkLuaInline "ccc.mapping.increase10"; + "H" = mkLuaInline "ccc.mapping.decrease10"; + }; + description = '' + The mappings are set in the UI of ccc. The table where lhs is key and + rhs is value. To disable all default mappings, use + {option}`vim.utility.ccc.setupOpts.disable_default_mappings`. To + disable only some of the default mappings, set `ccc.mapping.none`. + ''; + }; + }; + mappings = { quit = mkMappingOption "Cancel and close the UI without replace or insert" ""; increase10 = mkMappingOption "Increase the value times delta of the slider" ""; diff --git a/modules/plugins/utility/ccc/config.nix b/modules/plugins/utility/ccc/config.nix index 33948562..e0654ceb 100644 --- a/modules/plugins/utility/ccc/config.nix +++ b/modules/plugins/utility/ccc/config.nix @@ -5,7 +5,7 @@ }: let inherit (lib.modules) mkIf; inherit (lib.nvim.dag) entryAnywhere; - + inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.utility.ccc; in { config = mkIf cfg.enable { @@ -13,40 +13,7 @@ in { vim.pluginRC.ccc = entryAnywhere '' local ccc = require("ccc") - ccc.setup { - highlighter = { - auto_enable = true, - max_byte = 2 * 1024 * 1024, -- 2mb - lsp = true, - filetypes = colorPickerFts, - }, - pickers = { - ccc.picker.hex, - ccc.picker.css_rgb, - ccc.picker.css_hsl, - ccc.picker.ansi_escape { - meaning1 = "bright", -- whether the 1 means bright or yellow - }, - }, - alpha_show = "hide", -- needed when highlighter.lsp is set to true - recognize = { output = true }, -- automatically recognize color format under cursor - inputs = { ccc.input.hsl }, - outputs = { - ccc.output.css_hsl, - ccc.output.css_rgb, - ccc.output.hex, - }, - convert = { - { ccc.picker.hex, ccc.output.css_hsl }, - { ccc.picker.css_rgb, ccc.output.css_hsl }, - { ccc.picker.css_hsl, ccc.output.hex }, - }, - mappings = { - ["q"] = ccc.mapping.quit, - ["L"] = ccc.mapping.increase10, - ["H"] = ccc.mapping.decrease10, - }, - } + ccc.setup(${toLuaObject cfg.setupOpts}) ''; }; } From e0f6fe7a2ab340acde8ca0a6e4b081beafd3fb5b Mon Sep 17 00:00:00 2001 From: Thales Menato <8753631+thamenato@users.noreply.github.com> Date: Mon, 5 Jan 2026 11:07:31 -0500 Subject: [PATCH 11/11] treesitter: attempt to adapt to (breaking) Nixpkgs changes (#1315) * feat: update from builtGrammars to grammarPlugins * fix: renamed packages * chore: revert back the configs part * wip: try using config * chore: update flake * docs: update release-note --------- Co-authored-by: raf --- docs/manual/release-notes/rl-0.9.md | 11 +++++++++++ flake.lock | 6 +++--- lib/types/languages.nix | 2 +- modules/plugins/languages/csharp.nix | 2 +- modules/plugins/languages/markdown.nix | 2 +- modules/plugins/languages/python.nix | 2 +- modules/plugins/languages/sql.nix | 2 +- modules/plugins/notes/orgmode/config.nix | 2 +- modules/plugins/treesitter/config.nix | 2 +- modules/plugins/treesitter/treesitter.nix | 6 +++--- modules/plugins/treesitter/ts-textobjects/config.nix | 2 +- modules/plugins/ui/noice/config.nix | 2 +- 12 files changed, 26 insertions(+), 15 deletions(-) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 03588586..8c06cfcf 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -1,5 +1,11 @@ # Release 0.9 {#sec-release-0-9} +## Breaking changes + +- Nixpkgs merged a full and incompatible rewrite of vimPlugins.nvim-treesitter. + The changes affected how grammars are built and it caused issues when neovim + attempted to load languages and could not find files in expected locations. + ## Changelog {#sec-release-0-9-changelog} [suimong](https://github.com/suimong): @@ -7,6 +13,11 @@ - Fix `vim.tabline.nvimBufferline` where `setupOpts.options.hover` requires `vim.opt.mousemoveevent` to be set. +[thamenato](https://github.com/thamenato): + +- Attempt to adapt nvim-treesitter to (breaking) Nixpkgs changes. Some treesitte grammars + were changed to prefer `grammarPlugins` over `builtGrammars`. + [jfeo](https://github.com/jfeo): [ccc.nvim]: https://github.com/uga-rosa/ccc.nvim diff --git a/flake.lock b/flake.lock index 9f6d599a..0b4c58d5 100644 --- a/flake.lock +++ b/flake.lock @@ -73,11 +73,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1764081664, - "narHash": "sha256-sUoHmPr/EwXzRMpv1u/kH+dXuvJEyyF2Q7muE+t0EU4=", + "lastModified": 1767364772, + "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dc205f7b4fdb04c8b7877b43edb7b73be7730081", + "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa", "type": "github" }, "original": { diff --git a/lib/types/languages.nix b/lib/types/languages.nix index b1865c41..45515f55 100644 --- a/lib/types/languages.nix +++ b/lib/types/languages.nix @@ -30,7 +30,7 @@ mkGrammarOption = pkgs: grammar: mkPackageOption pkgs ["${grammar} treesitter"] { - default = ["vimPlugins" "nvim-treesitter" "builtGrammars" grammar]; + default = ["vimPlugins" "nvim-treesitter" "grammarPlugins" grammar]; }; in { inherit diagnostics diagnosticSubmodule mkGrammarOption; diff --git a/modules/plugins/languages/csharp.nix b/modules/plugins/languages/csharp.nix index 20e5bd72..ef973301 100644 --- a/modules/plugins/languages/csharp.nix +++ b/modules/plugins/languages/csharp.nix @@ -178,7 +178,7 @@ in { treesitter = { enable = mkEnableOption "C# treesitter" // {default = config.vim.languages.enableTreesitter;}; - package = mkGrammarOption pkgs "c-sharp"; + package = mkGrammarOption pkgs "c_sharp"; }; lsp = { diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 59615cec..feb3f2a5 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -63,7 +63,7 @@ in { description = "Enable Markdown treesitter"; }; mdPackage = mkGrammarOption pkgs "markdown"; - mdInlinePackage = mkGrammarOption pkgs "markdown-inline"; + mdInlinePackage = mkGrammarOption pkgs "markdown_inline"; }; lsp = { diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index b1cbe224..9cfb82f6 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -228,7 +228,7 @@ in { package = mkOption { description = "Python treesitter grammar to use"; type = package; - default = pkgs.vimPlugins.nvim-treesitter.builtGrammars.python; + default = pkgs.vimPlugins.nvim-treesitter.grammarPlugins.python; }; }; diff --git a/modules/plugins/languages/sql.nix b/modules/plugins/languages/sql.nix index e3e686ec..e5787e43 100644 --- a/modules/plugins/languages/sql.nix +++ b/modules/plugins/languages/sql.nix @@ -66,7 +66,7 @@ in { package = mkOption { type = package; - default = pkgs.vimPlugins.nvim-treesitter.builtGrammars.sql; + default = pkgs.vimPlugins.nvim-treesitter.grammarPlugins.sql; description = "SQL treesitter grammar to use"; }; }; diff --git a/modules/plugins/notes/orgmode/config.nix b/modules/plugins/notes/orgmode/config.nix index 3f1b7eaf..19b47aa1 100644 --- a/modules/plugins/notes/orgmode/config.nix +++ b/modules/plugins/notes/orgmode/config.nix @@ -21,7 +21,7 @@ in { pluginRC.orgmode = entryAnywhere '' -- Treesitter configuration - require('nvim-treesitter.configs').setup { + require('nvim-treesitter.config').setup { -- If TS highlights are not enabled at all, or disabled via `disable` prop, -- highlighting will fallback to default Vim syntax highlighting diff --git a/modules/plugins/treesitter/config.nix b/modules/plugins/treesitter/config.nix index f7955110..d10e1e89 100644 --- a/modules/plugins/treesitter/config.nix +++ b/modules/plugins/treesitter/config.nix @@ -52,7 +52,7 @@ in { ''); pluginRC.treesitter = entryAfter ["basic"] '' - require('nvim-treesitter.configs').setup { + require('nvim-treesitter.config').setup { -- Disable imperative treesitter options that would attempt to fetch -- grammars into the read-only Nix store. To add additional grammars here -- you must use the `config.vim.treesitter.grammars` option. diff --git a/modules/plugins/treesitter/treesitter.nix b/modules/plugins/treesitter/treesitter.nix index d761d6b3..cf1c5375 100644 --- a/modules/plugins/treesitter/treesitter.nix +++ b/modules/plugins/treesitter/treesitter.nix @@ -25,14 +25,14 @@ in { type = listOf package; default = []; example = literalExpression '' - with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [ + with pkgs.vimPlugins.nvim-treesitter.grammarPlugins; [ regex kdl ]; ''; description = '' List of treesitter grammars to install. For grammars to be installed properly, - you must use grammars from `pkgs.vimPlugins.nvim-treesitter.builtGrammars`. + you must use grammars from `pkgs.vimPlugins.nvim-treesitter.grammarPlugins`. You can use `pkgs.vimPlugins.nvim-treesitter.allGrammars` to install all grammars. For languages already supported by nvf, you may use @@ -56,7 +56,7 @@ in { internal = true; readOnly = true; type = listOf package; - default = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [c lua vim vimdoc query]; + default = with pkgs.vimPlugins.nvim-treesitter.grammarPlugins; [c lua vim vimdoc query]; description = '' A list of treesitter grammars that will be installed by default if treesitter has been enabled and {option}`vim.treeesitter.addDefaultGrammars` diff --git a/modules/plugins/treesitter/ts-textobjects/config.nix b/modules/plugins/treesitter/ts-textobjects/config.nix index 7a9239d1..511ebdce 100644 --- a/modules/plugins/treesitter/ts-textobjects/config.nix +++ b/modules/plugins/treesitter/ts-textobjects/config.nix @@ -16,7 +16,7 @@ in { # set up treesitter-textobjects after Treesitter, whose config we're adding to. pluginRC.treesitter-textobjects = entryAfter ["treesitter"] '' - require("nvim-treesitter.configs").setup({textobjects = ${toLuaObject cfg.setupOpts}}) + require("nvim-treesitter.config").setup({textobjects = ${toLuaObject cfg.setupOpts}}) ''; }; }; diff --git a/modules/plugins/ui/noice/config.nix b/modules/plugins/ui/noice/config.nix index fe82f588..1f81f4a9 100644 --- a/modules/plugins/ui/noice/config.nix +++ b/modules/plugins/ui/noice/config.nix @@ -12,7 +12,7 @@ cfg = config.vim.ui.noice; tscfg = config.vim.treesitter; - defaultGrammars = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [vim regex lua bash markdown]; + defaultGrammars = with pkgs.vimPlugins.nvim-treesitter.grammarPlugins; [vim regex lua bash markdown]; in { config = mkIf cfg.enable { vim = {