From 28af5c1ff9fd10e7ff1fe4c3e4991d65ff5a0cc8 Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Wed, 9 Apr 2025 21:52:55 +0000 Subject: [PATCH 01/55] utility/snacks-nvim: add lualine, bufferline extension / offset --- docs/release-notes/rl-0.8.md | 4 +-- modules/plugins/statusline/lualine/config.nix | 33 ++++++++++++------- .../nvim-bufferline/nvim-bufferline.nix | 20 ++++------- 3 files changed, 30 insertions(+), 27 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 40f2af57..8177cb88 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -298,12 +298,12 @@ - Add lint (luacheck) and formatting (stylua) support for Lua. - Add lint (markdownlint-cli2) support for Markdown. - Add catppuccin integration for Bufferline, Lspsaga. -- Add neo-tree integration for Bufferline. +- Add `neo-tree`, `snacks.explorer` integrations to `bufferline`. - Add more applicable filetypes to illuminate denylist. - Disable mini.indentscope for applicable filetypes. - Fix fzf-lua having a hard dependency on fzf. - Enable inlay hints support - `config.vim.lsp.inlayHints`. -- Add `neo-tree` extension to `lualine`. +- Add `neo-tree`, `snacks.picker` extensions to `lualine`. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/statusline/lualine/config.nix b/modules/plugins/statusline/lualine/config.nix index b8334bfd..89dcbbe5 100644 --- a/modules/plugins/statusline/lualine/config.nix +++ b/modules/plugins/statusline/lualine/config.nix @@ -14,17 +14,28 @@ bCfg = config.vim.ui.breadcrumbs; in { config = mkMerge [ - (mkIf config.vim.filetree.nvimTree.enable { - vim.statusline.lualine.setupOpts = { - extensions = ["nvim-tree"]; - }; - }) - - (mkIf config.vim.filetree.neo-tree.enable { - vim.statusline.lualine.setupOpts = { - extensions = ["neo-tree"]; - }; - }) + { + vim.statusline.lualine.setupOpts.extensions = + (lib.optionals config.vim.filetree.nvimTree.enable ["nvim-tree"]) + ++ (lib.optionals config.vim.filetree.neo-tree.enable ["neo-tree"]) + ++ (lib.optionals config.vim.utility.snacks-nvim.enable [ + { + # same extensions as nerdtree / neo-tree + # https://github.com/nvim-lualine/lualine.nvim/blob/master/lua/lualine/extensions/nerdtree.lua + # https://github.com/nvim-lualine/lualine.nvim/blob/master/lua/lualine/extensions/neo-tree.lua + sections = { + lualine_a = mkLuaInline '' + { + function() + return vim.fn.fnamemodify(vim.fn.getcwd(), ":~") + end, + } + ''; + }; + filetypes = ["snacks_picker_list" "snacks_picker_input"]; + } + ]); + } (mkIf (bCfg.enable && bCfg.lualine.winbar.enable && bCfg.source == "nvim-navic") { vim.statusline.lualine.setupOpts = { diff --git a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix index 997c9ba3..14243670 100644 --- a/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix +++ b/modules/plugins/tabline/nvim-bufferline/nvim-bufferline.nix @@ -272,20 +272,12 @@ in { offsets = mkOption { type = listOf attrs; - default = [ - { - filetype = "NvimTree"; - text = "File Explorer"; - highlight = "Directory"; - separator = true; - } - { - filetype = "neo-tree"; - text = "File Explorer"; - highlight = "Directory"; - separator = true; - } - ]; + default = map (filetype: { + inherit filetype; + text = "File Explorer"; + highlight = "Directory"; + separator = true; + }) ["NvimTree" "neo-tree" "snacks_layout_box"]; description = "The windows to offset bufferline above, see `:help bufferline-offset`"; }; From a436aca603a0c95b9b085d05ce9593b9afd99c1b Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Sat, 12 Apr 2025 20:53:19 +0700 Subject: [PATCH 02/55] nvim-lint: added required files support --- docs/release-notes/rl-0.8.md | 1 + .../plugins/diagnostics/nvim-lint/config.nix | 25 ++++++++++- .../diagnostics/nvim-lint/nvim-lint.nix | 7 +++ modules/plugins/languages/astro.nix | 43 +++++++------------ modules/plugins/languages/svelte.nix | 23 ++++------ modules/plugins/languages/ts.nix | 40 +++++++---------- 6 files changed, 71 insertions(+), 68 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 710578eb..d5190855 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -290,6 +290,7 @@ - `eslint_d` now checks for configuration files to load. - Fixed an error where `eslint_d` fails to load. +- Added required files support for linters under `vim.diagnostics.nvim-lint.linters.*.required_files`. [Sc3l3t0n](https://github.com/Sc3l3t0n): diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index b284270b..c7326cff 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -38,8 +38,29 @@ in { { event = ["BufWritePost"]; callback = mkLuaInline '' - function() - require("lint").try_lint() + function(args) + local ft = vim.api.nvim_get_option_value("filetype", { buf = args.buf }) + local linters = require("lint").linters + local linters_from_ft = require("lint").linters_by_ft[ft] + + -- if no linter is configured for this filetype, stops linting + if linters_from_ft == nil then return end + + for _, name in ipairs(linters_from_ft) do + local cwd = linters[name].required_files + + -- if no configuration files are configured, lint + if cwd == nil then + require("lint").try_lint(name) + else + -- if configuration files are configured and present in the project, lint + for _, fn in ipairs(cwd) do + if vim.uv.fs_stat(fn) then + require("lint").try_lint(name) + end + end + end + end end ''; } diff --git a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix index 20f14f0b..cb830975 100644 --- a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix +++ b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix @@ -69,6 +69,13 @@ default = null; description = "Parser function"; }; + + required_files = mkOption { + type = nullOr (listOf str); + default = null; + description = "Required files to lint"; + example = ["eslint.config.js"]; + }; }; }; in { diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index c12f6ada..2ecbbe47 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -53,24 +53,20 @@ # TODO: specify packages defaultDiagnosticsProvider = ["eslint_d"]; diagnosticsProviders = { - eslint_d = { - package = pkgs.eslint_d; + eslint_d = let + pkg = pkgs.eslint_d; + in { + package = pkg; config = { - # HACK: change if nvim-lint gets a dynamic enable thing - parser = mkLuaInline '' - function(output, bufnr, cwd) - local markers = { "eslint.config.js", "eslint.config.mjs", - ".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } - for _, filename in ipairs(markers) do - local path = vim.fs.joinpath(cwd, filename) - if vim.loop.fs_stat(path) then - return require("lint.linters.eslint_d").parser(output, bufnr, cwd) - end - end - - return {} - end - ''; + cmd = getExe pkg; + required_files = [ + "eslint.config.js" + "eslint.config.mjs" + ".eslintrc" + ".eslintrc.json" + ".eslintrc.js" + ".eslintrc.yml" + ]; }; }; }; @@ -153,16 +149,9 @@ in { vim.diagnostics.nvim-lint = { enable = true; linters_by_ft.astro = cfg.extraDiagnostics.types; - linters = mkMerge (map ( - name: { - ${name} = - diagnosticsProviders.${name}.config - // { - cmd = getExe diagnosticsProviders.${name}.package; - }; - } - ) - cfg.extraDiagnostics.types); + linters = + mkMerge (map (name: {${name} = diagnosticsProviders.${name}.config;}) + cfg.extraDiagnostics.types); }; }) ]); diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index e01ec427..536ff2c1 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -55,21 +55,14 @@ package = pkg; config = { cmd = getExe pkg; - # HACK: change if nvim-lint gets a dynamic enable thing - parser = mkLuaInline '' - function(output, bufnr, cwd) - local markers = { "eslint.config.js", "eslint.config.mjs", - ".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } - for _, filename in ipairs(markers) do - local path = vim.fs.joinpath(cwd, filename) - if vim.loop.fs_stat(path) then - return require("lint.linters.eslint_d").parser(output, bufnr, cwd) - end - end - - return {} - end - ''; + required_files = [ + "eslint.config.js" + "eslint.config.mjs" + ".eslintrc" + ".eslintrc.json" + ".eslintrc.js" + ".eslintrc.yml" + ]; }; }; }; diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index ffab265b..df1353ab 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -91,27 +91,20 @@ # TODO: specify packages defaultDiagnosticsProvider = ["eslint_d"]; diagnosticsProviders = { - eslint_d = { - package = pkgs.eslint_d; - config = let - pkg = pkgs.eslint_d; - in { + eslint_d = let + pkg = pkgs.eslint_d; + in { + package = pkg; + config = { cmd = getExe pkg; - # HACK: change if nvim-lint gets a dynamic enable thing - parser = mkLuaInline '' - function(output, bufnr, cwd) - local markers = { "eslint.config.js", "eslint.config.mjs", - ".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } - for _, filename in ipairs(markers) do - local path = vim.fs.joinpath(cwd, filename) - if vim.loop.fs_stat(path) then - return require("lint.linters.eslint_d").parser(output, bufnr, cwd) - end - end - - return {} - end - ''; + required_files = [ + "eslint.config.js" + "eslint.config.mjs" + ".eslintrc" + ".eslintrc.json" + ".eslintrc.js" + ".eslintrc.yml" + ]; }; }; }; @@ -221,10 +214,9 @@ in { linters_by_ft.typescript = cfg.extraDiagnostics.types; linters_by_ft.typescriptreact = cfg.extraDiagnostics.types; - linters = mkMerge (map (name: { - ${name}.cmd = getExe diagnosticsProviders.${name}.package; - }) - cfg.extraDiagnostics.types); + linters = + mkMerge (map (name: {${name} = diagnosticsProviders.${name}.config;}) + cfg.extraDiagnostics.types); }; }) From 5c3a90e3f661572ddcb23ccd52a9e7fb67d8ab32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phan=20=C4=90=C4=83ng=20Khoa?= Date: Sun, 13 Apr 2025 16:06:42 +0700 Subject: [PATCH 03/55] Update modules/plugins/diagnostics/nvim-lint/config.nix Co-authored-by: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> --- modules/plugins/diagnostics/nvim-lint/config.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index c7326cff..69d9b35b 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -47,7 +47,13 @@ in { if linters_from_ft == nil then return end for _, name in ipairs(linters_from_ft) do - local cwd = linters[name].required_files + local linter = linters[name] + assert(linter, 'Linter with name `' .. name .. '` not available') + + if type(linter) == "function" then + linter = linter() + end + local cwd = linter.required_files -- if no configuration files are configured, lint if cwd == nil then From f4ee6a275f2cd4dc40c599c63c13e6cbab31256e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phan=20=C4=90=C4=83ng=20Khoa?= Date: Sun, 13 Apr 2025 16:06:58 +0700 Subject: [PATCH 04/55] Update modules/plugins/diagnostics/nvim-lint/config.nix Co-authored-by: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> --- modules/plugins/diagnostics/nvim-lint/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index 69d9b35b..e1ef789a 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -57,7 +57,7 @@ in { -- if no configuration files are configured, lint if cwd == nil then - require("lint").try_lint(name) + require("lint").lint(linter) else -- if configuration files are configured and present in the project, lint for _, fn in ipairs(cwd) do From 2b62a441e9c0383451bc1796380e7ce8d76866dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phan=20=C4=90=C4=83ng=20Khoa?= Date: Sun, 13 Apr 2025 16:07:27 +0700 Subject: [PATCH 05/55] Update modules/plugins/diagnostics/nvim-lint/nvim-lint.nix Co-authored-by: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> --- modules/plugins/diagnostics/nvim-lint/nvim-lint.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix index cb830975..6657be69 100644 --- a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix +++ b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix @@ -73,7 +73,7 @@ required_files = mkOption { type = nullOr (listOf str); default = null; - description = "Required files to lint"; + description = "Required files to lint. These files must exist relative to the cwd of the linter or else this linter will be skipped"; example = ["eslint.config.js"]; }; }; From 90d09ba05f1460214759241ce08c0dc686eb0b32 Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Sun, 13 Apr 2025 20:57:23 +0700 Subject: [PATCH 06/55] nvim-lint: switch to .lint() --- modules/plugins/diagnostics/nvim-lint/config.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index e1ef789a..f1c2f8c2 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -53,6 +53,8 @@ in { if type(linter) == "function" then linter = linter() end + -- for require("lint").lint() to work, linter.name must be set + linter.name = linter.name or name local cwd = linter.required_files -- if no configuration files are configured, lint @@ -61,8 +63,10 @@ in { else -- if configuration files are configured and present in the project, lint for _, fn in ipairs(cwd) do - if vim.uv.fs_stat(fn) then - require("lint").try_lint(name) + local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); + if vim.uv.fs_stat(path) then + require("lint").lint(linter) + break end end end From acbeb26854300be3186ac6176e98f5f84c129f30 Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Mon, 14 Apr 2025 00:02:54 +0700 Subject: [PATCH 07/55] nvim-lint: moved linting into its own global function "nvf_lint(buf)" --- .../plugins/diagnostics/nvim-lint/config.nix | 68 ++++++++++--------- 1 file changed, 36 insertions(+), 32 deletions(-) diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index f1c2f8c2..fca38cfa 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -28,6 +28,41 @@ in { end end end + + function nvf_lint(buf) + local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) + local linters = require("lint").linters + local linters_from_ft = require("lint").linters_by_ft[ft] + + -- if no linter is configured for this filetype, stops linting + if linters_from_ft == nil then return end + + for _, name in ipairs(linters_from_ft) do + local linter = linters[name] + assert(linter, 'Linter with name `' .. name .. '` not available') + + if type(linter) == "function" then + linter = linter() + end + -- for require("lint").lint() to work, linter.name must be set + linter.name = linter.name or name + local cwd = linter.required_files + + -- if no configuration files are configured, lint + if cwd == nil then + require("lint").lint(linter) + else + -- if configuration files are configured and present in the project, lint + for _, fn in ipairs(cwd) do + local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); + if vim.uv.fs_stat(path) then + require("lint").lint(linter) + break + end + end + end + end + end ''; }; }) @@ -39,38 +74,7 @@ in { event = ["BufWritePost"]; callback = mkLuaInline '' function(args) - local ft = vim.api.nvim_get_option_value("filetype", { buf = args.buf }) - local linters = require("lint").linters - local linters_from_ft = require("lint").linters_by_ft[ft] - - -- if no linter is configured for this filetype, stops linting - if linters_from_ft == nil then return end - - for _, name in ipairs(linters_from_ft) do - local linter = linters[name] - assert(linter, 'Linter with name `' .. name .. '` not available') - - if type(linter) == "function" then - linter = linter() - end - -- for require("lint").lint() to work, linter.name must be set - linter.name = linter.name or name - local cwd = linter.required_files - - -- if no configuration files are configured, lint - if cwd == nil then - require("lint").lint(linter) - else - -- if configuration files are configured and present in the project, lint - for _, fn in ipairs(cwd) do - local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); - if vim.uv.fs_stat(path) then - require("lint").lint(linter) - break - end - end - end - end + nvf_lint(args.buf) end ''; } From a3051d49aa5f32d9ceab672bad52d591b8a78a8e Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Mon, 14 Apr 2025 00:03:22 +0700 Subject: [PATCH 08/55] format: formatted the project --- npins/sources.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/npins/sources.nix b/npins/sources.nix index 162f1d94..3ae0b99e 100644 --- a/npins/sources.nix +++ b/npins/sources.nix @@ -98,7 +98,9 @@ builtins.mapAttrs Channel = getZip; Tarball = getUrl; } - .${spec.type} + .${ + spec.type + } or (builtins.throw "Unknown source type ${spec.type}"); in spec // {outPath = mayOverride (func spec);} From f830553166bbf38963413c638d9240d71a0ea8bb Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Mon, 14 Apr 2025 18:01:52 +0700 Subject: [PATCH 09/55] nvim_lint: moved the function into a separate option "lint_function" --- docs/release-notes/rl-0.8.md | 5 +- .../plugins/diagnostics/nvim-lint/config.nix | 35 +----------- .../diagnostics/nvim-lint/nvim-lint.nix | 56 ++++++++++++++++++- 3 files changed, 58 insertions(+), 38 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index d5190855..b8c51358 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -289,8 +289,9 @@ [rice-cracker-dev](https://github.com/rice-cracker-dev): - `eslint_d` now checks for configuration files to load. -- Fixed an error where `eslint_d` fails to load. -- Added required files support for linters under `vim.diagnostics.nvim-lint.linters.*.required_files`. +- Fix an error where `eslint_d` fails to load. +- Add required files support for linters under `vim.diagnostics.nvim-lint.linters.*.required_files`. +- Add global function `nvf_lint` under `vim.diagnostics.nvim-lint.lint_function`. [Sc3l3t0n](https://github.com/Sc3l3t0n): diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index fca38cfa..488bd70f 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -29,40 +29,7 @@ in { end end - function nvf_lint(buf) - local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) - local linters = require("lint").linters - local linters_from_ft = require("lint").linters_by_ft[ft] - - -- if no linter is configured for this filetype, stops linting - if linters_from_ft == nil then return end - - for _, name in ipairs(linters_from_ft) do - local linter = linters[name] - assert(linter, 'Linter with name `' .. name .. '` not available') - - if type(linter) == "function" then - linter = linter() - end - -- for require("lint").lint() to work, linter.name must be set - linter.name = linter.name or name - local cwd = linter.required_files - - -- if no configuration files are configured, lint - if cwd == nil then - require("lint").lint(linter) - else - -- if configuration files are configured and present in the project, lint - for _, fn in ipairs(cwd) do - local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); - if vim.uv.fs_stat(path) then - require("lint").lint(linter) - break - end - end - end - end - end + nvf_lint = ${toLuaObject cfg.lint_function} ''; }; }) diff --git a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix index 6657be69..59c50f1d 100644 --- a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix +++ b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix @@ -1,7 +1,8 @@ {lib, ...}: let - inherit (lib.options) mkOption mkEnableOption; + inherit (lib.options) mkOption mkEnableOption literalExpression; inherit (lib.types) nullOr attrsOf listOf str either submodule bool enum; inherit (lib.nvim.types) luaInline; + inherit (lib.generators) mkLuaInline; linterType = submodule { options = { @@ -73,8 +74,11 @@ required_files = mkOption { type = nullOr (listOf str); default = null; - description = "Required files to lint. These files must exist relative to the cwd of the linter or else this linter will be skipped"; example = ["eslint.config.js"]; + description = '' + Required files to lint. These files must exist relative to the cwd + of the linter or else this linter will be skipped + ''; }; }; }; @@ -124,5 +128,53 @@ in { }; lint_after_save = mkEnableOption "autocmd to lint after each save" // {default = true;}; + + lint_function = mkOption { + type = luaInline; + default = mkLuaInline '' + function(buf) + local ft = vim.api.nvim_get_option_value("filetype", { buf = buf }) + local linters = require("lint").linters + local linters_from_ft = require("lint").linters_by_ft[ft] + + -- if no linter is configured for this filetype, stops linting + if linters_from_ft == nil then return end + + for _, name in ipairs(linters_from_ft) do + local linter = linters[name] + assert(linter, 'Linter with name `' .. name .. '` not available') + + if type(linter) == "function" then + linter = linter() + end + -- for require("lint").lint() to work, linter.name must be set + linter.name = linter.name or name + local cwd = linter.required_files + + -- if no configuration files are configured, lint + if cwd == nil then + require("lint").lint(linter) + else + -- if configuration files are configured and present in the project, lint + for _, fn in ipairs(cwd) do + local path = vim.fs.joinpath(linter.cwd or vim.fn.getcwd(), fn); + if vim.uv.fs_stat(path) then + require("lint").lint(linter) + break + end + end + end + end + end + ''; + example = literalExpression '' + mkLuaInline ''' + function(buf) + require("lint").try_lint() + end + ''' + ''; + description = "Define the global function nvf_lint which is used by nvf to lint."; + }; }; } From db3a35a116d93162d9bc07264ede37404b243f0a Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 13 Apr 2025 11:14:50 +0200 Subject: [PATCH 10/55] rc: do not set options via luaConfigPre --- modules/wrapper/rc/config.nix | 10 +++++++++- modules/wrapper/rc/options.nix | 26 ++------------------------ 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/modules/wrapper/rc/config.nix b/modules/wrapper/rc/config.nix index ff8a4585..77a62d58 100644 --- a/modules/wrapper/rc/config.nix +++ b/modules/wrapper/rc/config.nix @@ -5,7 +5,7 @@ }: let inherit (builtins) map mapAttrs filter; inherit (lib.attrsets) mapAttrsToList; - inherit (lib.strings) concatLines concatMapStringsSep; + inherit (lib.strings) concatLines concatMapStringsSep optionalString; inherit (lib.trivial) showWarnings; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.dag) entryAfter mkLuarcSection resolveDag entryAnywhere; @@ -72,6 +72,14 @@ in { dag = cfg.luaConfigRC; mapResult = result: concatLines [ + (optionalString (cfg.additionalRuntimePaths != []) '' + vim.opt.runtimepath:append(${toLuaObject cfg.additionalRuntimePaths}) + '') + (optionalString cfg.enableLuaLoader '' + if vim.loader then + vim.loader.enable() + end + '') cfg.luaConfigPre (concatMapStringsSep "\n" mkLuarcSection result) cfg.luaConfigPost diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 4cd3026f..10abd77d 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -1,15 +1,7 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib.options) mkOption literalMD literalExpression; - inherit (lib.strings) optionalString; inherit (lib.types) str bool int enum attrsOf lines listOf either path submodule anything; inherit (lib.nvim.types) dagOf; - inherit (lib.nvim.lua) listToLuaTable; - - cfg = config.vim; in { options.vim = { enableLuaLoader = mkOption { @@ -286,21 +278,7 @@ in { luaConfigPre = mkOption { type = str; - default = '' - ${optionalString (cfg.additionalRuntimePaths != []) '' - -- The following list is generated from `vim.additionalRuntimePaths` - -- and is used to append additional runtime paths to the - -- `runtimepath` option. - vim.opt.runtimepath:append(${listToLuaTable cfg.additionalRuntimePaths}) - ''} - - ${optionalString cfg.enableLuaLoader '' - if vim.loader then - vim.loader.enable() - end - ''} - ''; - + default = ""; defaultText = literalMD '' By default, this option will **append** paths in [](#opt-vim.additionalRuntimePaths) From 1f6e2f3ca461f6d5ffa3f9676362f396eae708ff Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 13 Apr 2025 11:32:11 +0200 Subject: [PATCH 11/55] docs: update release notes --- docs/release-notes/rl-0.8.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 642599ba..e866e969 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -107,6 +107,8 @@ - Add `LazyFile` user event. - Migrate language modules from none-ls to conform/nvim-lint - Add tsx support in conform and lint +- Moved code setting additionalRuntimePaths and enableLuaLoader out of + luaConfigPre's default to prevent being overridden [diniamo](https://github.com/diniamo): From 05954eec6d6bff2d0ed00f507aa0b50674d051c4 Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Fri, 18 Apr 2025 11:00:16 +0700 Subject: [PATCH 12/55] docs: update vim.diagnostics.nvim-lint.*.required_files description --- modules/plugins/diagnostics/nvim-lint/nvim-lint.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix index 59c50f1d..956bd76e 100644 --- a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix +++ b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix @@ -78,6 +78,13 @@ description = '' Required files to lint. These files must exist relative to the cwd of the linter or else this linter will be skipped + + ::: {.note} + This option is an nvf extension that only takes effect if you + use the `nvf_lint()` lua function. + + See {option}`vim.diagnostics.nvim-lint.lint_function`. + ::: ''; }; }; From ef3ab83254e51e42b17cde9322070eef565a06d6 Mon Sep 17 00:00:00 2001 From: Noah765 Date: Fri, 18 Apr 2025 15:49:11 +0200 Subject: [PATCH 13/55] languages/dart: add necessary dependency of flutter-tools.nvim on lsp --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/languages/dart.nix | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 642599ba..f17ca59e 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -332,3 +332,4 @@ [Noah765](https://github.com/Noah765): - Add missing `flutter-tools.nvim` dependency `plenary.nvim`. +- Add necessary dependency of `flutter-tools.nvim` on lsp diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index 77d92d3b..d8d44d88 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -13,7 +13,7 @@ inherit (lib.strings) optionalString; inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.types) mkGrammarOption; - inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.dag) entryAfter; cfg = config.vim.languages.dart; ftcfg = cfg.flutter-tools; @@ -122,19 +122,21 @@ in { }; }; - config = mkIf cfg.enable (mkMerge [ + config.vim = mkIf cfg.enable (mkMerge [ (mkIf cfg.treesitter.enable { - vim.treesitter.enable = true; - vim.treesitter.grammars = [cfg.treesitter.package]; + treesitter.enable = true; + treesitter.grammars = [cfg.treesitter.package]; }) (mkIf cfg.lsp.enable { - vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources.dart-lsp = servers.${cfg.lsp.server}.lspConfig; + lsp.lspconfig.enable = true; + lsp.lspconfig.sources.dart-lsp = servers.${cfg.lsp.server}.lspConfig; }) (mkIf ftcfg.enable { - vim.startPlugins = [ + lsp.enable = true; + + startPlugins = [ ( if ftcfg.enableNoResolvePatch then "flutter-tools-patched" @@ -143,7 +145,7 @@ in { "plenary-nvim" ]; - vim.pluginRC.flutter-tools = entryAnywhere '' + pluginRC.flutter-tools = entryAfter ["lsp-setup"] '' require('flutter-tools').setup { lsp = { color = { -- show the derived colours for dart variables From 99d600f40f4bf4d7b50524f760979886acab8ad7 Mon Sep 17 00:00:00 2001 From: Noah765 Date: Fri, 18 Apr 2025 15:51:03 +0200 Subject: [PATCH 14/55] languages/dart: remove invalid config key lsp.flags from flutter-tools.nvim setup The lsp.flags key is not present in the documentation of flutter-tools.nvim and lsp_flags always evaluates to nil. --- modules/plugins/languages/dart.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index d8d44d88..b3747099 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -158,7 +158,6 @@ in { capabilities = capabilities, on_attach = default_on_attach; - flags = lsp_flags, }, ${optionalString cfg.dap.enable '' debugger = { From df0e2060c6cd3471fb1964b99b8dc5bacd36c10e Mon Sep 17 00:00:00 2001 From: Noah765 Date: Fri, 18 Apr 2025 17:05:57 +0200 Subject: [PATCH 15/55] languages/dart: add flutter-tools.flutterPackage option Previously, flutter-tools was dependent on the flutter SDK, which it found in the PATH. Having such undeclared and non-reproducible dependencies is against the principles of nix. The flutterPackage option has been made optional for people who have installed the flutter SDK differently and want to keep it that way. The enableNoResolvePatch option has been retained for people who have installed the flutter SDK using nix outside the scope of nvf and do not want to have to install it twice. The default value has been changed to false, assuming that most people who use nix to install flutter will use the flutterPackage option instead. --- docs/release-notes/rl-0.8.md | 3 ++- modules/plugins/languages/dart.nix | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f17ca59e..312b1896 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -332,4 +332,5 @@ [Noah765](https://github.com/Noah765): - Add missing `flutter-tools.nvim` dependency `plenary.nvim`. -- Add necessary dependency of `flutter-tools.nvim` on lsp +- Add necessary dependency of `flutter-tools.nvim` on lsp. +- Add the `vim.languages.dart.flutter-tools.flutterPackage` option. diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index b3747099..b61585d4 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -81,16 +81,23 @@ in { description = "Enable flutter-tools for flutter support"; }; + flutterPackage = mkOption { + type = nullOr package; + default = pkgs.flutter; + description = "Flutter package, or null to detect the flutter path at runtime instead."; + }; + enableNoResolvePatch = mkOption { type = bool; - default = true; + default = false; description = '' Whether to patch flutter-tools so that it doesn't resolve symlinks when detecting flutter path. - This is required if you want to use a flutter package built with nix. - If you are using a flutter SDK installed from a different source - and encounter the error "`dart` missing from PATH", disable this option. + This is required if flutterPackage is set to null and the flutter + package in your PATH was built with nix. If you are using a flutter + SDK installed from a different source and encounter the error "`dart` + missing from PATH", leave this option disabled. ''; }; @@ -147,6 +154,7 @@ in { pluginRC.flutter-tools = entryAfter ["lsp-setup"] '' require('flutter-tools').setup { + ${optionalString (ftcfg.flutterPackage != null) "flutter_path = \"${ftcfg.flutterPackage}/bin/flutter\","} lsp = { color = { -- show the derived colours for dart variables enabled = ${boolToString ftcfg.color.enable}, -- whether or not to highlight color variables at all, only supported on flutter >= 2.10 From a6a7bd37f314d2bff8212a452ae22bd6698c44e3 Mon Sep 17 00:00:00 2001 From: Howard Nguyen-Huu Date: Fri, 18 Apr 2025 19:52:44 -0400 Subject: [PATCH 16/55] fix: change python dap name from python to debugpy --- modules/plugins/languages/python.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 476b56ef..d6dec1c2 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -99,7 +99,7 @@ # idk if this is the best way to install/run debugpy package = pkgs.python3.withPackages (ps: with ps; [debugpy]); dapConfig = '' - dap.adapters.python = function(cb, config) + dap.adapters.debugpy = function(cb, config) if config.request == 'attach' then ---@diagnostic disable-next-line: undefined-field local port = (config.connect or config).port @@ -125,10 +125,10 @@ end end - dap.configurations.python = { + dap.configurations.debugpy = { { -- The first three options are required by nvim-dap - type = 'python'; -- the type here established the link to the adapter definition: `dap.adapters.python` + type = 'debugpy'; -- the type here established the link to the adapter definition: `dap.adapters.debugpy` request = 'launch'; name = "Launch file"; From b7627523333b1ac64111e0f030934f9d17dbb063 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 19 Apr 2025 13:22:06 +0200 Subject: [PATCH 17/55] languages/go: default disable gofmt if lsp is enabled --- modules/plugins/languages/go.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/plugins/languages/go.nix b/modules/plugins/languages/go.nix index 9f8bca3c..3f232669 100644 --- a/modules/plugins/languages/go.nix +++ b/modules/plugins/languages/go.nix @@ -5,7 +5,7 @@ ... }: let inherit (builtins) attrNames; - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkEnableOption mkOption literalMD; inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.lists) isList; @@ -84,7 +84,14 @@ in { }; format = { - enable = mkEnableOption "Go formatting" // {default = config.vim.languages.enableFormat;}; + enable = + mkEnableOption "Go formatting" + // { + default = !cfg.lsp.enable && config.vim.languages.enableFormat; + defaultText = literalMD '' + disabled if Go LSP is enabled, otherwise follows {option}`vim.languages.enableFormat` + ''; + }; type = mkOption { description = "Go formatter to use"; From 5db21bae6f9073bf08608449ba7ea50da4040c13 Mon Sep 17 00:00:00 2001 From: Noah765 Date: Sat, 19 Apr 2025 15:51:47 +0200 Subject: [PATCH 18/55] languages/dart: update flutter-tools.enableNoResolvePatch description --- modules/plugins/languages/dart.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index b61585d4..7b9584b9 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -94,10 +94,12 @@ in { Whether to patch flutter-tools so that it doesn't resolve symlinks when detecting flutter path. - This is required if flutterPackage is set to null and the flutter - package in your PATH was built with nix. If you are using a flutter + ::: {.note} + This is required if `flutterPackage` is set to null and the flutter + package in your `PATH` was built with Nix. If you are using a flutter SDK installed from a different source and encounter the error "`dart` - missing from PATH", leave this option disabled. + missing from `PATH`", leave this option disabled. + ::: ''; }; From b67e151d22567c9cca367ea430253299e34344c4 Mon Sep 17 00:00:00 2001 From: Howard Nguyen-Huu Date: Sat, 19 Apr 2025 13:53:15 -0400 Subject: [PATCH 19/55] docs: add changes to release notes --- docs/release-notes/rl-0.8.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index bd88ab7c..4c345d15 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -290,8 +290,10 @@ - `eslint_d` now checks for configuration files to load. - Fix an error where `eslint_d` fails to load. -- Add required files support for linters under `vim.diagnostics.nvim-lint.linters.*.required_files`. -- Add global function `nvf_lint` under `vim.diagnostics.nvim-lint.lint_function`. +- Add required files support for linters under + `vim.diagnostics.nvim-lint.linters.*.required_files`. +- Add global function `nvf_lint` under + `vim.diagnostics.nvim-lint.lint_function`. [Sc3l3t0n](https://github.com/Sc3l3t0n): @@ -334,3 +336,7 @@ [Noah765](https://github.com/Noah765): - Add missing `flutter-tools.nvim` dependency `plenary.nvim`. + +[howird](https://github.com/howird): + +- Change python dap adapter name from `python` to commonly expected `debugpy`. From fb7f47b375160db5845f6f7bf3815e33eae8cac3 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 20 Apr 2025 17:48:59 +0300 Subject: [PATCH 20/55] flake: bump inputs --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 540715e9..3c089070 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1744592022, - "narHash": "sha256-QuWrCRiF3CUM99sgj3gXbIzB1IAVWS5IEfFHadbMA2g=", + "lastModified": 1744597985, + "narHash": "sha256-lLYB9/tQ0OAKonL0Ku963nqOm0aE1TmLavrzmXAr5Zc=", "owner": "Gerg-L", "repo": "mnw", - "rev": "cf9e19413b6c2d995b55565cd99facf9c751b653", + "rev": "cbdcbb5f8eb24e25b932bbc87e29299a72e34b64", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744473229, - "narHash": "sha256-rGXvIsD/Hn+bJRFb7hqSx7UUZUIlxXs0fM6ix5+iT5w=", + "lastModified": 1744868846, + "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "52d0eded529af34e91df6b2a2bc32eb636637cd2", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", "type": "github" }, "original": { From 27c0b5caf3ce04f5190d360028a2ee0bc39fc5e7 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 20 Apr 2025 17:49:06 +0300 Subject: [PATCH 21/55] pins: bump all plugins --- npins/sources.json | 240 ++++++++++++++++++++++----------------------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index d11d16c4..05a8c173 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -35,9 +35,9 @@ }, "branch": "master", "submodules": false, - "revision": "3f13e15c53ea2aaf79c24ceab725309d87f0619c", - "url": "https://github.com/rrethy/base16-nvim/archive/3f13e15c53ea2aaf79c24ceab725309d87f0619c.tar.gz", - "hash": "1z6pdf707r2rpmzi057dhcmd045695v03215asn1hdn8r294zcmg" + "revision": "965160025d0facbe9caa863e5beef2a7a488e9d1", + "url": "https://github.com/rrethy/base16-nvim/archive/965160025d0facbe9caa863e5beef2a7a488e9d1.tar.gz", + "hash": "02w1mn15gydma9canvqrlwf4l5z76s1vs01zanipwwflvwclsb8f" }, "blink-cmp": { "type": "GitRelease", @@ -77,9 +77,9 @@ }, "branch": "main", "submodules": false, - "revision": "2ed6d9a28b07fa6f3bface818470605f8896408c", - "url": "https://github.com/saghen/blink.compat/archive/2ed6d9a28b07fa6f3bface818470605f8896408c.tar.gz", - "hash": "009475xy41l4dpayswhx65q6a7djzw7rz2ycbrbpyg041y0qynqs" + "revision": "f1836ed7a07f8d082ff6c3fbae1e476ba2adee84", + "url": "https://github.com/saghen/blink.compat/archive/f1836ed7a07f8d082ff6c3fbae1e476ba2adee84.tar.gz", + "hash": "0b22c943vbxn8cgfc3m0wmmia9rja6x766ywa798nx7s7x0sd53x" }, "blink-emoji-nvim": { "type": "Git", @@ -103,9 +103,9 @@ }, "branch": "main", "submodules": false, - "revision": "56084d1f45c8621d23d4bac724c2dc50b1eb75db", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/56084d1f45c8621d23d4bac724c2dc50b1eb75db.tar.gz", - "hash": "1lyczjvwpi5f1mjgw059yzkxxjrk48vcvhdjzkjgakhsq76s125x" + "revision": "ca538d15bd22fedd3408064d2b25ff8d56ec8ce8", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/ca538d15bd22fedd3408064d2b25ff8d56ec8ce8.tar.gz", + "hash": "1rg40x0lvz11rl95b3q3kqzb8ygvyvhcxiw255200ccxl6q21jg8" }, "bufdelete-nvim": { "type": "Git", @@ -272,9 +272,9 @@ }, "branch": "main", "submodules": false, - "revision": "9654cb31f10c9eda3e777d03d32b29df606ab0fe", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/9654cb31f10c9eda3e777d03d32b29df606ab0fe.tar.gz", - "hash": "0ff4mbfim0kj5prv9xfqp8gsk1fw0y2d0kmazfivkhg04my8m89l" + "revision": "030f305930a25bd9e45b5e5252b47b7069fb800e", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/030f305930a25bd9e45b5e5252b47b7069fb800e.tar.gz", + "hash": "1n59gkzfs05ybf7xvrbxacmwk8nbz8ybgdjwv8irdz5la5hi6wmn" }, "codewindow-nvim": { "type": "Git", @@ -311,9 +311,9 @@ }, "branch": "master", "submodules": false, - "revision": "eebc724d12c5579d733d1f801386e0ceb909d001", - "url": "https://github.com/stevearc/conform.nvim/archive/eebc724d12c5579d733d1f801386e0ceb909d001.tar.gz", - "hash": "122v0svrsss8g4gzy9fz2ppzm2lxf85l4m8wincxsy75x9v3ywgn" + "revision": "6632e7d788a85bf8405ea0c812d343fc308b7b8c", + "url": "https://github.com/stevearc/conform.nvim/archive/6632e7d788a85bf8405ea0c812d343fc308b7b8c.tar.gz", + "hash": "0dv4h87jjb2dp6whgc7wvxisc7hcx1828ixzci80py8kjky013zw" }, "copilot-cmp": { "type": "Git", @@ -337,9 +337,9 @@ }, "branch": "master", "submodules": false, - "revision": "c62a2a7616a9789a7676b6b7a8d9263b1082cdc8", - "url": "https://github.com/zbirenbaum/copilot.lua/archive/c62a2a7616a9789a7676b6b7a8d9263b1082cdc8.tar.gz", - "hash": "1agbxzq43wsga9szgaz45s638my8d7cxqwg2aa3rizyf7g8f7szy" + "revision": "dc579f98536029610cfa32c6bad86c0d24363679", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/dc579f98536029610cfa32c6bad86c0d24363679.tar.gz", + "hash": "16zx9a8f2mjmj7ibdsjyj0vqdsc10yl1vrna0kkkgccj957rd99x" }, "crates-nvim": { "type": "Git", @@ -506,9 +506,9 @@ }, "branch": "main", "submodules": false, - "revision": "efff286dd74c22f731cdec26a70b46e5b203c619", - "url": "https://github.com/rafamadriz/friendly-snippets/archive/efff286dd74c22f731cdec26a70b46e5b203c619.tar.gz", - "hash": "1vb5l8ipfjwsrqffbq8v2z5p1cpg035b3gk57692wd7835kr3i13" + "revision": "31f2a2657b6261724313281fe0d8ba6f43f4a4fa", + "url": "https://github.com/rafamadriz/friendly-snippets/archive/31f2a2657b6261724313281fe0d8ba6f43f4a4fa.tar.gz", + "hash": "0rkz7zbv1maqhr22nxq39w7pahahcapfyc4rgscmr3bm4dcymk2a" }, "fzf-lua": { "type": "Git", @@ -519,9 +519,9 @@ }, "branch": "main", "submodules": false, - "revision": "dc693475c4463463d84a0c7c43d463b8a8cd3aea", - "url": "https://github.com/ibhagwan/fzf-lua/archive/dc693475c4463463d84a0c7c43d463b8a8cd3aea.tar.gz", - "hash": "1his2nwjrb9xbjmz5i6nln7v5mk2f85dla10qn5xwji9zgnfy24l" + "revision": "ea2bda8a9717307affd921e1b540dc06acdf8ea8", + "url": "https://github.com/ibhagwan/fzf-lua/archive/ea2bda8a9717307affd921e1b540dc06acdf8ea8.tar.gz", + "hash": "0ba9ncwjv9kcnw7nimifyad54xdf1cacbdlc7hjyy2zlivf4pm3g" }, "gesture-nvim": { "type": "Git", @@ -584,9 +584,9 @@ }, "branch": "main", "submodules": false, - "revision": "fcfa7a989cd6fed10abf02d9880dc76d7a38167d", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/fcfa7a989cd6fed10abf02d9880dc76d7a38167d.tar.gz", - "hash": "1grkw8x1fycw1hbppy0zakwwkk7h2f8x5qy4wh34yj5f5g9jn3vj" + "revision": "02eafb1273afec94447f66d1a43fc5e477c2ab8a", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/02eafb1273afec94447f66d1a43fc5e477c2ab8a.tar.gz", + "hash": "1m507jyyi1nny14q2bxydy6a54g28yq855g4yaj9jslz7dml2v4i" }, "glow-nvim": { "type": "Git", @@ -610,9 +610,9 @@ }, "branch": "main", "submodules": false, - "revision": "12b5420b665e8053d74eb075d8a589477333f67d", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/12b5420b665e8053d74eb075d8a589477333f67d.tar.gz", - "hash": "16fa841cv0dbn7pkcs44r5ch241vhax8jfxgcxwwd0z4srlbj6gy" + "revision": "a933d8666dad9363dc6908ae72cfc832299c2f59", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/a933d8666dad9363dc6908ae72cfc832299c2f59.tar.gz", + "hash": "02r2h0ip2vzmgmv9b36ff2r6br3ql0b9ggzl8ijsyjy7pgiij04y" }, "harpoon": { "type": "Git", @@ -636,9 +636,9 @@ }, "branch": "master", "submodules": false, - "revision": "18fef08cba01de6b5022e85ac4468f74edc45259", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/18fef08cba01de6b5022e85ac4468f74edc45259.tar.gz", - "hash": "1bhr9w58hy63zilbqdwfvwzca6sk667yagjbzf13acl306nvgnhd" + "revision": "797610ad83d2730d0a8659ecac5d98ccb476ac23", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/797610ad83d2730d0a8659ecac5d98ccb476ac23.tar.gz", + "hash": "1i1ivfhl34yi9xff5s1wkr252vlfjazsf75bjphbi4c50s64wbaa" }, "highlight-undo-nvim": { "type": "Git", @@ -743,9 +743,9 @@ }, "branch": "main", "submodules": false, - "revision": "03eaa2e0c0ec9436dea0e954bc47564ff3ca9196", - "url": "https://github.com/ggandor/leap.nvim/archive/03eaa2e0c0ec9436dea0e954bc47564ff3ca9196.tar.gz", - "hash": "1lskih4hvf1c57d0f6gibc36c926lqky0y2h6ypmkgh8gmcdazdw" + "revision": "8a0efa79133fee211017d769c8031512192008b3", + "url": "https://github.com/ggandor/leap.nvim/archive/8a0efa79133fee211017d769c8031512192008b3.tar.gz", + "hash": "0pgg26r5rh1r2364yj05w4scarzy6zwsp6w7s9yxgfmk7l9x89yk" }, "leetcode-nvim": { "type": "Git", @@ -795,9 +795,9 @@ }, "branch": "main", "submodules": false, - "revision": "778d56ff9b387dacd14ae648ed5604394b486f51", - "url": "https://github.com/nvimdev/lspsaga.nvim/archive/778d56ff9b387dacd14ae648ed5604394b486f51.tar.gz", - "hash": "1rm8ww8krxliwli9m2j6j37xgwgjsrgapvgrcdr6nd4mi6hgmczm" + "revision": "920b1253e1a26732e53fac78412f6da7f674671d", + "url": "https://github.com/nvimdev/lspsaga.nvim/archive/920b1253e1a26732e53fac78412f6da7f674671d.tar.gz", + "hash": "0wkcgy2x119sd9xn6k9vs83pvrj0m4ali1ac72pah8pnlzfvkw7i" }, "lua-utils-nvim": { "type": "Git", @@ -847,9 +847,9 @@ }, "branch": "master", "submodules": false, - "revision": "2ef8dfbef6f8f97873da4c5820067343690d114c", - "url": "https://github.com/nvim-neorocks/lz.n/archive/2ef8dfbef6f8f97873da4c5820067343690d114c.tar.gz", - "hash": "11i6ayqvyamh8i2scq7qbf6rrxrq9v0hax9gxmdxhdxd18djyq8n" + "revision": "c22bd7ef977a32b792ea70e203126a9063519a62", + "url": "https://github.com/nvim-neorocks/lz.n/archive/c22bd7ef977a32b792ea70e203126a9063519a62.tar.gz", + "hash": "0q8bz28dbmdsyndbnajw73x2cr8kpcx0fcj9lip9mr24vgx2vb8v" }, "lzn-auto-require": { "type": "Git", @@ -1016,9 +1016,9 @@ }, "branch": "main", "submodules": false, - "revision": "cf3625d2c4a437f5edf7e61382e0fe522fc76fb7", - "url": "https://github.com/echasnovski/mini.completion/archive/cf3625d2c4a437f5edf7e61382e0fe522fc76fb7.tar.gz", - "hash": "0lpvl1kd7vmyy00p97am9ghj6gdmnk1dbw93wjmnvin057w9sysw" + "revision": "35130cebc63ace7d6e4583f349af8cd3f3141af7", + "url": "https://github.com/echasnovski/mini.completion/archive/35130cebc63ace7d6e4583f349af8cd3f3141af7.tar.gz", + "hash": "0h5z5i62cc780bzw60rbizngvpyl4vk7j858pndyi2g572plz929" }, "mini-diff": { "type": "Git", @@ -1289,9 +1289,9 @@ }, "branch": "main", "submodules": false, - "revision": "e05106957fc178285dbc510ff833985da59d3e5a", - "url": "https://github.com/echasnovski/mini.snippets/archive/e05106957fc178285dbc510ff833985da59d3e5a.tar.gz", - "hash": "0pn9i6sfh3fxkjzh9yyyc05lgcgm8wsanvl7axmy4p7a9spnfa2q" + "revision": "d005684e620e76eb2a5fbbbd211a1eba7212b4aa", + "url": "https://github.com/echasnovski/mini.snippets/archive/d005684e620e76eb2a5fbbbd211a1eba7212b4aa.tar.gz", + "hash": "19xmqzgx0lv6m6lp6dn4pcr53clgjyrlnh45j795cy9szizw4y0x" }, "mini-splitjoin": { "type": "Git", @@ -1461,9 +1461,9 @@ }, "branch": "main", "submodules": false, - "revision": "5224467c6a49a6c77b8a8333f4d9af0abc788e10", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/5224467c6a49a6c77b8a8333f4d9af0abc788e10.tar.gz", - "hash": "0dzppxi4w38s3pqsgwd3z0xr1r14bd0v4qpakxw3kjn9wr2d8y7n" + "revision": "1ef260eb4f54515fe121a2267b477efb054d108a", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/1ef260eb4f54515fe121a2267b477efb054d108a.tar.gz", + "hash": "0j0gr2pisrj5vsiwsvrd3dkrdrd3q2742srk23rw2x0h055c0mxh" }, "neocord": { "type": "Git", @@ -1487,9 +1487,9 @@ }, "branch": "main", "submodules": false, - "revision": "a1e19618c012a712c5ed7cd5ebd01b48ad9f4b5b", - "url": "https://github.com/nvim-neorg/neorg/archive/a1e19618c012a712c5ed7cd5ebd01b48ad9f4b5b.tar.gz", - "hash": "1lp1chm788rnzqjndw64rnjn299889fx66lm01lvfgail0509dw0" + "revision": "35da593c55d78086a3203ee3e6d749fafe2e4e73", + "url": "https://github.com/nvim-neorg/neorg/archive/35da593c55d78086a3203ee3e6d749fafe2e4e73.tar.gz", + "hash": "0kxygwpfffa0blcy54g7cvm5laj77q0f72p69s43j9dpsps1h63y" }, "neorg-telescope": { "type": "Git", @@ -1500,9 +1500,9 @@ }, "branch": "main", "submodules": false, - "revision": "ddb2556644cae922699a239bbb0fe16e25b084b7", - "url": "https://github.com/nvim-neorg/neorg-telescope/archive/ddb2556644cae922699a239bbb0fe16e25b084b7.tar.gz", - "hash": "0p2s3n22fy1vkqc9n55x6kssqs4n0znwlszfrs532hj8m992wbks" + "revision": "7fb6ca6a632c3c095601d379a664c0c1f802dc6c", + "url": "https://github.com/nvim-neorg/neorg-telescope/archive/7fb6ca6a632c3c095601d379a664c0c1f802dc6c.tar.gz", + "hash": "12pbixkb7175qb9wblq01mbpkccm9h0si7b2jjaf7yip8j8frxmn" }, "neovim-session-manager": { "type": "Git", @@ -1565,9 +1565,9 @@ }, "branch": "main", "submodules": false, - "revision": "8d99472fcccffd73d7501e54e9018bab5cb0c4ad", - "url": "https://github.com/nvimtools/none-ls.nvim/archive/8d99472fcccffd73d7501e54e9018bab5cb0c4ad.tar.gz", - "hash": "1x1fmpy65j8smn5lfl9bknmfnan33gd5dila49gyblgcgfvpd7ph" + "revision": "fb50cf17e926a037c9f8d96d8db29ddbd04965d4", + "url": "https://github.com/nvimtools/none-ls.nvim/archive/fb50cf17e926a037c9f8d96d8db29ddbd04965d4.tar.gz", + "hash": "07zfkjdqwlrm1d07za0payqs37gmn4x8m489438nv84sqqhnfrvd" }, "nord": { "type": "Git", @@ -1604,9 +1604,9 @@ }, "branch": "master", "submodules": false, - "revision": "2a406cdd8c373ae7fe378a9e062a5424472bd8d8", - "url": "https://github.com/windwp/nvim-autopairs/archive/2a406cdd8c373ae7fe378a9e062a5424472bd8d8.tar.gz", - "hash": "06i7bdq4msy2gia6mczxaj2y7chhrmw9xwjj8q4dix0pk58hjfp1" + "revision": "4d74e75913832866aa7de35e4202463ddf6efd1b", + "url": "https://github.com/windwp/nvim-autopairs/archive/4d74e75913832866aa7de35e4202463ddf6efd1b.tar.gz", + "hash": "0q6pv89x05l71nfg2chqf9p0d2ha72agmll2svimq0npp84ymfxz" }, "nvim-bufferline-lua": { "type": "Git", @@ -1630,9 +1630,9 @@ }, "branch": "main", "submodules": false, - "revision": "059e89495b3ec09395262f16b1ad441a38081d04", - "url": "https://github.com/hrsh7th/nvim-cmp/archive/059e89495b3ec09395262f16b1ad441a38081d04.tar.gz", - "hash": "0yfxjkascn45svvzx727kz20bm6lkflkx4jc8nrx3rxv0j39wbb0" + "revision": "b5311ab3ed9c846b585c0c15b7559be131ec4be9", + "url": "https://github.com/hrsh7th/nvim-cmp/archive/b5311ab3ed9c846b585c0c15b7559be131ec4be9.tar.gz", + "hash": "07674djcyac9wlj08y9p5gsmdpsm8zxjfgk3fwyvvx8j7qyzx74p" }, "nvim-colorizer-lua": { "type": "Git", @@ -1669,9 +1669,9 @@ }, "branch": "master", "submodules": false, - "revision": "7aade9e99bef5f0735cf966e715b3ce45515d786", - "url": "https://github.com/mfussenegger/nvim-dap/archive/7aade9e99bef5f0735cf966e715b3ce45515d786.tar.gz", - "hash": "0cr2y3lkr6ffxxd9b2pj8hr3fzb5dlj003fcknswqwsdhws75l22" + "revision": "98bf130702eaafad8567c0e3ea1171c2552d58bb", + "url": "https://github.com/mfussenegger/nvim-dap/archive/98bf130702eaafad8567c0e3ea1171c2552d58bb.tar.gz", + "hash": "045sajd5amwxq4964yj4lbh20daa0g8473a0ggbwggxpq6qz2678" }, "nvim-dap-go": { "type": "Git", @@ -1695,9 +1695,9 @@ }, "branch": "master", "submodules": false, - "revision": "bc81f8d3440aede116f821114547a476b082b319", - "url": "https://github.com/rcarriga/nvim-dap-ui/archive/bc81f8d3440aede116f821114547a476b082b319.tar.gz", - "hash": "0hk34mfjxqiq82faf3q75ixpxd822vh8zbl1i5pvx6akn4v3mxk7" + "revision": "881a69e25bd6658864fab47450025490b74be878", + "url": "https://github.com/rcarriga/nvim-dap-ui/archive/881a69e25bd6658864fab47450025490b74be878.tar.gz", + "hash": "040xa1jg5591czydjsxf9rwk3g805nxgaaqn5zkgkxr3igc2rvsy" }, "nvim-docs-view": { "type": "Git", @@ -1734,9 +1734,9 @@ }, "branch": "master", "submodules": false, - "revision": "5b1bdf306bd3e565908145279e8bbfc594dac3b3", - "url": "https://github.com/mfussenegger/nvim-lint/archive/5b1bdf306bd3e565908145279e8bbfc594dac3b3.tar.gz", - "hash": "0kwdb9wggkgzg9msrvnf15njqm9a8acljdak9fxnfh9al1ks8cav" + "revision": "d698d3b6fd7b1b85657d05a2a31d843ddb682c63", + "url": "https://github.com/mfussenegger/nvim-lint/archive/d698d3b6fd7b1b85657d05a2a31d843ddb682c63.tar.gz", + "hash": "0m4hj1yc0s6cb3icshcr3qkd5wknksnnw97axjbacsan5vc6831z" }, "nvim-lspconfig": { "type": "Git", @@ -1747,9 +1747,9 @@ }, "branch": "master", "submodules": false, - "revision": "6ac17e69a353fea377b30a35a672a30f04e887a1", - "url": "https://github.com/neovim/nvim-lspconfig/archive/6ac17e69a353fea377b30a35a672a30f04e887a1.tar.gz", - "hash": "0s1hb7fkjvccycwdzq10lrycs8xmdlk9n4pjafgwgmnhnmgb3sfr" + "revision": "32b6a6449aaba11461fffbb596dd6310af79eea4", + "url": "https://github.com/neovim/nvim-lspconfig/archive/32b6a6449aaba11461fffbb596dd6310af79eea4.tar.gz", + "hash": "0rbqg3xdsdfklcsadzbbphzrgwa2c54lsipfqd67jq2p4baxsgxn" }, "nvim-metals": { "type": "Git", @@ -1760,9 +1760,9 @@ }, "branch": "main", "submodules": false, - "revision": "bc896458ac639dea568e8dc06862074f8cba7fa3", - "url": "https://github.com/scalameta/nvim-metals/archive/bc896458ac639dea568e8dc06862074f8cba7fa3.tar.gz", - "hash": "0k7c300rf62f50vqzxxdgh7pqpb61im6xbz230fysvdjdx1ddglh" + "revision": "04d8ce24638412a2c93dd79fecca4b2c7b9c07f9", + "url": "https://github.com/scalameta/nvim-metals/archive/04d8ce24638412a2c93dd79fecca4b2c7b9c07f9.tar.gz", + "hash": "19mdfn5ni35ldjmwdg25cwiy9cvkg2cxrdhcjr9xplx7ln6zsld9" }, "nvim-navbuddy": { "type": "Git", @@ -1786,9 +1786,9 @@ }, "branch": "master", "submodules": false, - "revision": "8649f694d3e76ee10c19255dece6411c29206a54", - "url": "https://github.com/SmiteshP/nvim-navic/archive/8649f694d3e76ee10c19255dece6411c29206a54.tar.gz", - "hash": "0964wgwh6i4nm637vx36bshkpd5i63ipwzqmrdbkz5h9bzyng7nj" + "revision": "39231352aec0d1e09cebbffdd9dc20a5dc691ffe", + "url": "https://github.com/SmiteshP/nvim-navic/archive/39231352aec0d1e09cebbffdd9dc20a5dc691ffe.tar.gz", + "hash": "1xj2bzax8hynm2x9zbvsaxv1j22chklyygzm1kbqxxs077qn45ws" }, "nvim-neoclip-lua": { "type": "Git", @@ -1825,9 +1825,9 @@ }, "branch": "master", "submodules": false, - "revision": "22f29093eae7785773ee9d543f8750348b1a195c", - "url": "https://github.com/rcarriga/nvim-notify/archive/22f29093eae7785773ee9d543f8750348b1a195c.tar.gz", - "hash": "0nnxmi65ppmn8dzwh38vx2w7w6piq0i28mw0s32wa31xn5rmzwza" + "revision": "b5825cf9ee881dd8e43309c93374ed5b87b7a896", + "url": "https://github.com/rcarriga/nvim-notify/archive/b5825cf9ee881dd8e43309c93374ed5b87b7a896.tar.gz", + "hash": "13qlkncpmjvmkpcx5sv366i7scsh90wjvcqy8qlv31ccmgq511wv" }, "nvim-scrollbar": { "type": "Git", @@ -1851,9 +1851,9 @@ }, "branch": "main", "submodules": false, - "revision": "caf6f633d4d77a29b6e265b560c5a035d171a913", - "url": "https://github.com/kylechui/nvim-surround/archive/caf6f633d4d77a29b6e265b560c5a035d171a913.tar.gz", - "hash": "130y0b2f69y5rzm64ss34a9zyqkpkybr2d1s4p0pcvvaq1ngq0r0" + "revision": "0e62500b98f4513feaaf7425c135472457ea5b7d", + "url": "https://github.com/kylechui/nvim-surround/archive/0e62500b98f4513feaaf7425c135472457ea5b7d.tar.gz", + "hash": "0rwzz98n8gyx2bffxg7ga7vxxxcc4crbwimvglx6bxkdg2abwyrn" }, "nvim-tree-lua": { "type": "Git", @@ -1864,9 +1864,9 @@ }, "branch": "master", "submodules": false, - "revision": "5bea2b37523a31288e0fcab42f3be5c1bd4516bb", - "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/5bea2b37523a31288e0fcab42f3be5c1bd4516bb.tar.gz", - "hash": "1mizgknbbjqv7a8fqc0n7glgabl0fq660nrqwq6w04qqynp0z1ax" + "revision": "3a63717d3d332d8f39aaf65be7a0e4c2265af021", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/3a63717d3d332d8f39aaf65be7a0e4c2265af021.tar.gz", + "hash": "1w5m090wwhbsdif0w2fhg8qvdjni0g95b13h0kh5kdm3a7avwsm0" }, "nvim-treesitter-context": { "type": "Git", @@ -1877,9 +1877,9 @@ }, "branch": "master", "submodules": false, - "revision": "439789a9a8df9639ecd749bb3286b77117024a6f", - "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/439789a9a8df9639ecd749bb3286b77117024a6f.tar.gz", - "hash": "04x9nza48d2vz262myhhfnmjzcc2fkdjb21mdqvlmnzkhh7ysyz2" + "revision": "6daca3ad780f045550b820f262002f35175a6c04", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/6daca3ad780f045550b820f262002f35175a6c04.tar.gz", + "hash": "0qprwd44hw9sz0vh14p6lpvs9vxrick462pfkradmal6ak1kfwn3" }, "nvim-ts-autotag": { "type": "Git", @@ -1903,9 +1903,9 @@ }, "branch": "main", "submodules": false, - "revision": "a026364df62e88037b26d37c9f14c17c006fd577", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/a026364df62e88037b26d37c9f14c17c006fd577.tar.gz", - "hash": "02mqjwc4h29i9s9l8lsfwrx4ac69n3mpr9hw2vg7ji3c20mbh413" + "revision": "17aa9cec9081351946743a7094c0c883b24ebe64", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/17aa9cec9081351946743a7094c0c883b24ebe64.tar.gz", + "hash": "14lz7bnwkv3gjpkh8zi9ki9xlxc979gfy3ii396fpa1l3jpys18q" }, "nvim-web-devicons": { "type": "Git", @@ -1916,9 +1916,9 @@ }, "branch": "master", "submodules": false, - "revision": "c90dee4e930ab9f49fa6d77f289bff335b49e972", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/c90dee4e930ab9f49fa6d77f289bff335b49e972.tar.gz", - "hash": "0i41df2cafrpc49cfbimajwbiyhd31q95d1s3rh40g6zgz0gm8sc" + "revision": "855c97005c8eebcdd19846f2e54706bffd40ee96", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/855c97005c8eebcdd19846f2e54706bffd40ee96.tar.gz", + "hash": "1rxpc5k6jbz7078dmjyjg8kgs67q2815bs8fz0srfqwyhvkgi15s" }, "obsidian-nvim": { "type": "Git", @@ -1981,9 +1981,9 @@ }, "branch": "master", "submodules": false, - "revision": "e66a64183e211842c195f34fd6dcb97d7b534812", - "url": "https://github.com/nvim-orgmode/orgmode/archive/e66a64183e211842c195f34fd6dcb97d7b534812.tar.gz", - "hash": "0cm3xiqjxxxcrrmjnpfrr7k6xy94ixz55wcrfxgsa8cm2xjzx52m" + "revision": "8c17ffeb2d08f77a6fd098634f5f85034d88caf8", + "url": "https://github.com/nvim-orgmode/orgmode/archive/8c17ffeb2d08f77a6fd098634f5f85034d88caf8.tar.gz", + "hash": "1rx20i6y666n8a593b2fqw2gdxs96qhzgwrza6m8zfcavzkwh0r0" }, "otter-nvim": { "type": "Git", @@ -2085,9 +2085,9 @@ }, "branch": "master", "submodules": false, - "revision": "351e449683070a2bb946bbd603555faf5a195e9a", - "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/351e449683070a2bb946bbd603555faf5a195e9a.tar.gz", - "hash": "12qj32zfyjbxs3qjp283fnc8sfa8w4blfx3skgvhkifv0vi7r3bf" + "revision": "55ad4fb76ab68460f700599b7449385f0c4e858e", + "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/55ad4fb76ab68460f700599b7449385f0c4e858e.tar.gz", + "hash": "1wb18hp5yz4vhw9ajm50006n4d1mp1krri6kidxh8rkhs0d6zqhi" }, "registers-nvim": { "type": "Git", @@ -2111,9 +2111,9 @@ }, "branch": "main", "submodules": false, - "revision": "8bb0d4725cc4909a603158d44ff28b6158ad9278", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/8bb0d4725cc4909a603158d44ff28b6158ad9278.tar.gz", - "hash": "18yqhy2y36rydyqs9z3s1h6rghd02bd9kb3rkxs88spm18wvq41z" + "revision": "dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f.tar.gz", + "hash": "1r636cyjflhpybjwfi01blbwkrxwi4lvykffrjclwfaf4l4gwddd" }, "rose-pine": { "type": "Git", @@ -2163,9 +2163,9 @@ }, "branch": "master", "submodules": false, - "revision": "3f327d15a3c1ed48b1e1087e16873a28a39768c2", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/3f327d15a3c1ed48b1e1087e16873a28a39768c2.tar.gz", - "hash": "09wrfmzbk81xax5p4wzczsvv1x28nv54mayi12fvzv6c3bmcsbvj" + "revision": "69636cedf0d6aabf0eac3dfbce24883fe1051a3d", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/69636cedf0d6aabf0eac3dfbce24883fe1051a3d.tar.gz", + "hash": "0g40qj67pazf428wdgzijvf1a4xr2l1nimxisyka52fpwi1rah4y" }, "smartcolumn-nvim": { "type": "Git", @@ -2361,9 +2361,9 @@ }, "branch": "master", "submodules": false, - "revision": "08aa184f1bd508f6a59371b52cba26be07bc016d", - "url": "https://github.com/RRethy/vim-illuminate/archive/08aa184f1bd508f6a59371b52cba26be07bc016d.tar.gz", - "hash": "0sqs4q2qk9hfkh5vn08y664568pl15b88yyvb9za0f5k7v3z1bcw" + "revision": "1fa4b23409e22a03823648e344c77f260e2572cb", + "url": "https://github.com/RRethy/vim-illuminate/archive/1fa4b23409e22a03823648e344c77f260e2572cb.tar.gz", + "hash": "1z27z6mpj4jazmifyz5scrniqr7sgh9hbkqx4g27yk0dnn9cm9ff" }, "vim-markdown": { "type": "Git", @@ -2426,9 +2426,9 @@ }, "branch": "main", "submodules": false, - "revision": "98b9c21d3c06d79f68fd9d471dcc28fc6d2d72ef", - "url": "https://github.com/gbprod/yanky.nvim/archive/98b9c21d3c06d79f68fd9d471dcc28fc6d2d72ef.tar.gz", - "hash": "1bdplxlhsc72kmbzmi7x4p378f3dyjdm3ncikkjs3qwxkvjl1bxw" + "revision": "04775cc6e10ef038c397c407bc17f00a2f52b378", + "url": "https://github.com/gbprod/yanky.nvim/archive/04775cc6e10ef038c397c407bc17f00a2f52b378.tar.gz", + "hash": "024dw52ji4691ndkaz3k12fx6qyvhdpd2r69r9d2isy81fbs2fjm" } }, "version": 5 From 6bf57573f1e370487c049a2826b2976c8c485c05 Mon Sep 17 00:00:00 2001 From: Noah765 Date: Mon, 21 Apr 2025 08:41:41 +0200 Subject: [PATCH 22/55] autocmds: improve autocommand descriptions --- modules/neovim/init/autocmds.nix | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/modules/neovim/init/autocmds.nix b/modules/neovim/init/autocmds.nix index 5da7bc55..81580e6b 100644 --- a/modules/neovim/init/autocmds.nix +++ b/modules/neovim/init/autocmds.nix @@ -17,7 +17,7 @@ mkEnableOption "" // { default = true; - description = "Whether to enable this autocommand"; + description = "Whether to enable this autocommand."; }; event = mkOption { @@ -31,7 +31,7 @@ type = nullOr (listOf str); default = null; example = ["*.lua" "*.vim"]; - description = "The file pattern(s) that determine when the autocommand applies)."; + description = "The file pattern(s) that determine when the autocommand applies."; }; callback = mkOption { @@ -44,13 +44,16 @@ end '''' ''; - description = "The file pattern(s) that determine when the autocommand applies."; + description = "Lua function to be called when the event(s) are triggered."; }; command = mkOption { type = nullOr str; default = null; - description = "Vim command string instead of a Lua function."; + description = '' + Vim command to be executed when the event(s) are triggered. + Cannot be defined if the `callback` option is already defined. + ''; }; group = mkOption { @@ -70,7 +73,7 @@ once = mkOption { type = bool; default = false; - description = "Whether autocommand run only once."; + description = "Whether to run the autocommand only once."; }; nested = mkOption { @@ -87,7 +90,7 @@ mkEnableOption "" // { default = true; - description = "Whether to enable this autogroup"; + description = "Whether to enable this autocommand group."; }; name = mkOption { @@ -118,8 +121,8 @@ in { autocommands together. Groups allow multiple autocommands to be cleared or redefined collectively, preventing duplicate definitions. - Each autogroup consists of a name, a boolean indicating whether to clear - existing autocommands, and a list of associated autocommands. + Each autogroup consists of a name and a boolean indicating whether to clear + existing autocommands. ''; }; @@ -129,8 +132,8 @@ in { description = '' A list of Neovim autocommands to be registered. - Each entry defines an autocommand, specifying events, patterns, optional - callbacks, commands, groups, and execution settings. + Each entry defines an autocommand, specifying events, patterns, a callback or Vim + command, an optional group, a description, and execution settings. ''; }; }; From 46979fd94fc544b64819b7aaa7cb73c2d3ea0292 Mon Sep 17 00:00:00 2001 From: raf Date: Mon, 21 Apr 2025 06:54:30 +0000 Subject: [PATCH 23/55] docs: format options as inline code --- docs/release-notes/rl-0.8.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index f993a9e5..5dc3ca94 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -107,8 +107,8 @@ - Add `LazyFile` user event. - Migrate language modules from none-ls to conform/nvim-lint - Add tsx support in conform and lint -- Moved code setting additionalRuntimePaths and enableLuaLoader out of - luaConfigPre's default to prevent being overridden +- Moved code setting `additionalRuntimePaths` and `enableLuaLoader` out of + `luaConfigPre`'s default to prevent being overridden [diniamo](https://github.com/diniamo): From 4045c458dc3e3eaabbb94518a857651cff341542 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 21 Apr 2025 10:11:30 +0300 Subject: [PATCH 24/55] assistant/chatgpt: add missing dependencies --- modules/plugins/assistant/chatgpt/config.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/plugins/assistant/chatgpt/config.nix b/modules/plugins/assistant/chatgpt/config.nix index 95a36acf..b1066e5a 100644 --- a/modules/plugins/assistant/chatgpt/config.nix +++ b/modules/plugins/assistant/chatgpt/config.nix @@ -30,7 +30,16 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = ["chatgpt-nvim"]; + startPlugins = [ + "chatgpt-nvim" + + # Dependencies + "nui-nvim" + "plenary-nvim" + ]; + + # ChatGPT.nvim explicitly depends on Telescope. + telescope.enable = true; pluginRC.chagpt = entryAnywhere '' require("chatgpt").setup(${toLuaObject cfg.setupOpts}) From 9220c27e85d6d30166473999622aab5b387f3466 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 17:55:21 +0100 Subject: [PATCH 25/55] languages/render-markdown-nvim: add file_types as list set file_types as listOf (nullOr str) to allow merging --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/languages/markdown.nix | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 5dc3ca94..06a3267a 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -344,3 +344,7 @@ [howird](https://github.com/howird): - Change python dap adapter name from `python` to commonly expected `debugpy`. + +[aionoid](https://github.com/aionoid): + +- Fix [render-markdown.nvim] file_types option type to list, to accept merging. diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 62081549..008192e3 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.options) mkEnableOption mkOption; inherit (lib.lists) isList; - inherit (lib.types) bool enum either package listOf str; + inherit (lib.types) bool enum either package listOf str nullOr; inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption; inherit (lib.nvim.dag) entryAnywhere; @@ -117,7 +117,13 @@ in { ''; }; - setupOpts = mkPluginSetupOption "render-markdown" {}; + setupOpts = mkPluginSetupOption "render-markdown" { + file_types = lib.mkOption { + type = listOf (nullOr str); + default = []; + description = "List of buffer filetypes to enable this plugin in. This will cause the plugin to attach to new buffers who have any of these filetypes."; + }; + }; }; }; From 95e2eec30b8d20c096c327ef5dd3887d7f859ae9 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 21:32:53 +0100 Subject: [PATCH 26/55] doc: format description to a multi-line string --- modules/plugins/languages/markdown.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 008192e3..21b4f4af 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -121,7 +121,12 @@ in { file_types = lib.mkOption { type = listOf (nullOr str); default = []; - description = "List of buffer filetypes to enable this plugin in. This will cause the plugin to attach to new buffers who have any of these filetypes."; + description = '' + List of buffer filetypes to enable this plugin in. + + This will cause the plugin to attach to new buffers who + have any of these filetypes. + ''; }; }; }; From 3e3d7171c1b8354065adf9890c2e2a469441f300 Mon Sep 17 00:00:00 2001 From: Farouk Brown Date: Tue, 22 Apr 2025 22:36:11 +0100 Subject: [PATCH 27/55] ref: change file_types type to nullOr(listOf str) --- modules/plugins/languages/markdown.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 21b4f4af..4563bc44 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -119,8 +119,8 @@ in { setupOpts = mkPluginSetupOption "render-markdown" { file_types = lib.mkOption { - type = listOf (nullOr str); - default = []; + type = nullOr (listOf str); + default = null; description = '' List of buffer filetypes to enable this plugin in. From 8ab559ccfe1e834b1a043896db21bafd26902e2e Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Wed, 23 Apr 2025 16:02:39 +0300 Subject: [PATCH 28/55] mini/cursorword: init --- modules/plugins/mini/cursorword/config.nix | 19 +++++++++++++++++++ .../plugins/mini/cursorword/cursorword.nix | 9 +++++++++ modules/plugins/mini/cursorword/default.nix | 6 ++++++ modules/plugins/mini/default.nix | 1 + npins/sources.json | 16 ++++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 modules/plugins/mini/cursorword/config.nix create mode 100644 modules/plugins/mini/cursorword/cursorword.nix create mode 100644 modules/plugins/mini/cursorword/default.nix diff --git a/modules/plugins/mini/cursorword/config.nix b/modules/plugins/mini/cursorword/config.nix new file mode 100644 index 00000000..bc5ab2cb --- /dev/null +++ b/modules/plugins/mini/cursorword/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.cursorword; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-cursorword"]; + + pluginRC.mini-ai = entryAnywhere '' + require("mini.cursorword").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/cursorword/cursorword.nix b/modules/plugins/mini/cursorword/cursorword.nix new file mode 100644 index 00000000..f2b8903a --- /dev/null +++ b/modules/plugins/mini/cursorword/cursorword.nix @@ -0,0 +1,9 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.cursorword = { + enable = mkEnableOption "mini.cursorword"; + setupOpts = mkPluginSetupOption "mini.cursorword" {}; + }; +} diff --git a/modules/plugins/mini/cursorword/default.nix b/modules/plugins/mini/cursorword/default.nix new file mode 100644 index 00000000..f0aae6c8 --- /dev/null +++ b/modules/plugins/mini/cursorword/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./cursorword.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 8f035285..f066b172 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -11,6 +11,7 @@ ./colors ./comment ./completion + ./cursorword ./diff ./doc ./extra diff --git a/npins/sources.json b/npins/sources.json index 05a8c173..7339ce8a 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1020,6 +1020,22 @@ "url": "https://github.com/echasnovski/mini.completion/archive/35130cebc63ace7d6e4583f349af8cd3f3141af7.tar.gz", "hash": "0h5z5i62cc780bzw60rbizngvpyl4vk7j858pndyi2g572plz929" }, + "mini-cursorword": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.cursorword" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "submodules": false, + "version": "v0.15.0", + "revision": "6683f04509c380e3147cca368f90bbdb99641775", + "url": "https://api.github.com/repos/echasnovski/mini.cursorword/tarball/v0.15.0", + "hash": "0vqr4hkzq13ap6giyyp8asn5g6nnm406piq1a07a5nmkfxiskp9v" + }, "mini-diff": { "type": "Git", "repository": { From 8b305e8ed199253262254a906ade3fdb872344ef Mon Sep 17 00:00:00 2001 From: Howard Nguyen-Huu <55764261+howird@users.noreply.github.com> Date: Wed, 23 Apr 2025 14:52:21 -0400 Subject: [PATCH 29/55] fix: python dap configuration regression --- modules/plugins/languages/python.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index d6dec1c2..9905716e 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -125,7 +125,7 @@ end end - dap.configurations.debugpy = { + dap.configurations.python = { { -- The first three options are required by nvim-dap type = 'debugpy'; -- the type here established the link to the adapter definition: `dap.adapters.debugpy` From 990d3598b1891833e765a822c3e377b18cdbc75d Mon Sep 17 00:00:00 2001 From: Noah765 Date: Wed, 23 Apr 2025 21:28:17 +0200 Subject: [PATCH 30/55] highlight: fix color type The color options also allow color definitions in the form of color names. --- docs/release-notes/rl-0.8.md | 1 + modules/neovim/init/highlight.nix | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 2800789f..e713db69 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -338,6 +338,7 @@ - Add missing `flutter-tools.nvim` dependency `plenary.nvim`. - Add necessary dependency of `flutter-tools.nvim` on lsp. - Add the `vim.languages.dart.flutter-tools.flutterPackage` option. +- Fix the type of the `highlight` color options. [howird](https://github.com/howird): diff --git a/modules/neovim/init/highlight.nix b/modules/neovim/init/highlight.nix index 7e992fd1..9c6b7214 100644 --- a/modules/neovim/init/highlight.nix +++ b/modules/neovim/init/highlight.nix @@ -5,15 +5,14 @@ }: let inherit (lib.options) mkOption; inherit (lib.types) nullOr attrsOf listOf submodule bool ints str enum; - inherit (lib.strings) hasPrefix concatLines; + inherit (lib.strings) concatLines; inherit (lib.attrsets) mapAttrsToList; inherit (lib.nvim.dag) entryBetween; inherit (lib.nvim.lua) toLuaObject; - inherit (lib.nvim.types) hexColor; mkColorOption = target: mkOption { - type = nullOr hexColor; + type = nullOr str; default = null; example = "#ebdbb2"; description = '' From 8f73019907d667a9254b3244a9ef518742e03c2b Mon Sep 17 00:00:00 2001 From: Noah765 Date: Thu, 24 Apr 2025 09:20:42 +0200 Subject: [PATCH 31/55] utility/sleuth: init --- docs/release-notes/rl-0.8.md | 3 +++ modules/plugins/utility/default.nix | 1 + modules/plugins/utility/sleuth/config.nix | 10 ++++++++++ modules/plugins/utility/sleuth/default.nix | 6 ++++++ modules/plugins/utility/sleuth/sleuth.nix | 7 +++++++ npins/sources.json | 13 +++++++++++++ 6 files changed, 40 insertions(+) create mode 100644 modules/plugins/utility/sleuth/config.nix create mode 100644 modules/plugins/utility/sleuth/default.nix create mode 100644 modules/plugins/utility/sleuth/sleuth.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 778fc37a..04e0eb64 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -337,10 +337,13 @@ [Noah765](https://github.com/Noah765): +[vim-sleuth]: https://github.com/tpope/vim-sleuth + - Add missing `flutter-tools.nvim` dependency `plenary.nvim`. - Add necessary dependency of `flutter-tools.nvim` on lsp. - Add the `vim.languages.dart.flutter-tools.flutterPackage` option. - Fix the type of the `highlight` color options. +- Add [vim-sleuth] plugin under `vim.utility.sleuth`. [howird](https://github.com/howird): diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 62b07574..e3ae7c5e 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -18,6 +18,7 @@ ./oil-nvim ./outline ./preview + ./sleuth ./snacks-nvim ./surround ./telescope diff --git a/modules/plugins/utility/sleuth/config.nix b/modules/plugins/utility/sleuth/config.nix new file mode 100644 index 00000000..d25cc140 --- /dev/null +++ b/modules/plugins/utility/sleuth/config.nix @@ -0,0 +1,10 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + cfg = config.vim.utility.sleuth; +in { + vim.startPlugins = mkIf cfg.enable ["vim-sleuth"]; +} diff --git a/modules/plugins/utility/sleuth/default.nix b/modules/plugins/utility/sleuth/default.nix new file mode 100644 index 00000000..04cb4158 --- /dev/null +++ b/modules/plugins/utility/sleuth/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./sleuth.nix + ]; +} diff --git a/modules/plugins/utility/sleuth/sleuth.nix b/modules/plugins/utility/sleuth/sleuth.nix new file mode 100644 index 00000000..a86d414d --- /dev/null +++ b/modules/plugins/utility/sleuth/sleuth.nix @@ -0,0 +1,7 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; +in { + options.vim.utility.sleuth.enable = mkEnableOption '' + automatically adjusting options such as `shiftwidth` or `expandtab`, using `vim-sleuth` + ''; +} diff --git a/npins/sources.json b/npins/sources.json index 7339ce8a..90a54057 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2407,6 +2407,19 @@ "url": "https://github.com/tpope/vim-repeat/archive/65846025c15494983dafe5e3b46c8f88ab2e9635.tar.gz", "hash": "0n8sx6s2sbjb21dv9j6y5lyqda9vvxraffg2jz423daamn96dxqv" }, + "vim-sleuth": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "tpope", + "repo": "vim-sleuth" + }, + "branch": "master", + "submodules": false, + "revision": "be69bff86754b1aa5adcbb527d7fcd1635a84080", + "url": "https://github.com/tpope/vim-sleuth/archive/be69bff86754b1aa5adcbb527d7fcd1635a84080.tar.gz", + "hash": "0wqxdjgplf04nq428ialw1w03f8nh5vb629a17vl5gc9gf3zfanq" + }, "vim-startify": { "type": "Git", "repository": { From c7b7a5d6d4f64ab65da97a1536dcf5d47fc57717 Mon Sep 17 00:00:00 2001 From: Valyn Tyler <115489989+ValynTyler@users.noreply.github.com> Date: Thu, 24 Apr 2025 19:57:19 +0300 Subject: [PATCH 32/55] fix: bad option in custom-config example --- docs/manual/installation/custom-configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/installation/custom-configuration.md b/docs/manual/installation/custom-configuration.md index 940f35a3..52f81573 100644 --- a/docs/manual/installation/custom-configuration.md +++ b/docs/manual/installation/custom-configuration.md @@ -39,7 +39,7 @@ An example flake that exposes your custom Neovim configuration might look like theme.enable = true; # Enable Treesitter - tree-sitter.enable = true; + treesitter.enable = true; # Other options will go here. Refer to the config # reference in Appendix B of the nvf manual. From e60fd89a42645be5044b61061e4495d1dd79aade Mon Sep 17 00:00:00 2001 From: Brian E <72316548+Brian-ED@users.noreply.github.com> Date: Thu, 24 Apr 2025 22:21:15 +0200 Subject: [PATCH 33/55] fixed typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit plural `way→→→→→→→←→→→→→→` to `ways` --- docs/manual/configuring/custom-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/configuring/custom-plugins.md b/docs/manual/configuring/custom-plugins.md index 79a691e2..c621e03c 100644 --- a/docs/manual/configuring/custom-plugins.md +++ b/docs/manual/configuring/custom-plugins.md @@ -15,7 +15,7 @@ plugin to the runtime, you need to add it to the [](#opt-vim.startPlugins) list in your configuration. Adding a plugin to `startPlugins` will not allow you to configure the plugin -that you have added, but **nvf** provides multiple way of configuring any custom +that you have added, but **nvf** provides multiple ways of configuring any custom plugins that you might have added to your configuration. ```{=include=} sections From bb3ca63d21cd05c197e2df9da6ee2c7eaa8e7672 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 12 Apr 2025 20:50:05 +0300 Subject: [PATCH 34/55] lsp/null-ls: take a list instead of attrs for sources --- modules/plugins/lsp/null-ls/null-ls.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/plugins/lsp/null-ls/null-ls.nix b/modules/plugins/lsp/null-ls/null-ls.nix index 3a10bac7..ba02df9c 100644 --- a/modules/plugins/lsp/null-ls/null-ls.nix +++ b/modules/plugins/lsp/null-ls/null-ls.nix @@ -1,6 +1,6 @@ {lib, ...}: let inherit (lib.options) mkOption mkEnableOption; - inherit (lib.types) attrsOf str int nullOr; + inherit (lib.types) listOf str int nullOr; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.types) luaInline mkPluginSetupOption; inherit (lib.nvim.config) batchRenameOptions; @@ -70,7 +70,7 @@ in { }; sources = mkOption { - type = nullOr (attrsOf luaInline); + type = nullOr (listOf luaInline); default = null; description = "Sources for null-ls to register"; }; From 6f2f28afb13ebbaee1d0a8f5dd390174b89f2998 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 27 Apr 2025 21:54:48 +0300 Subject: [PATCH 35/55] flake: bump inputs --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 3c089070..65243865 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1744597985, - "narHash": "sha256-lLYB9/tQ0OAKonL0Ku963nqOm0aE1TmLavrzmXAr5Zc=", + "lastModified": 1745705214, + "narHash": "sha256-XGfaHbFI4vvDuaoVO3IFYZKezXIO8rhUaMCGcjY71Ac=", "owner": "Gerg-L", "repo": "mnw", - "rev": "cbdcbb5f8eb24e25b932bbc87e29299a72e34b64", + "rev": "c1f4587db4c53dcefa432c46c7a899a116d8e924", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", + "lastModified": 1745377448, + "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", + "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", "type": "github" }, "original": { From 3147ef13711464ec555f8897c1179c55ca76ec77 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 27 Apr 2025 22:32:50 +0300 Subject: [PATCH 36/55] pins: bump all plugins --- npins/sources.json | 234 ++++++++++++++++++++++----------------------- 1 file changed, 117 insertions(+), 117 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 90a54057..04c35ede 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -9,9 +9,9 @@ }, "branch": "master", "submodules": false, - "revision": "44684bf429dc40e97a6d00ffa09043ac3f692186", - "url": "https://github.com/stevearc/aerial.nvim/archive/44684bf429dc40e97a6d00ffa09043ac3f692186.tar.gz", - "hash": "02zd23np2pn7hivi8sl63lcdn85cfbvsapkyghkwh9prxg8a81zn" + "revision": "2e00d1d4248f08dddfceacb8d2996e51e13e00f6", + "url": "https://github.com/stevearc/aerial.nvim/archive/2e00d1d4248f08dddfceacb8d2996e51e13e00f6.tar.gz", + "hash": "18rhmpqs8440hn4g5786znj37fzb01wa3zws33rlq9vm6sfb0grw" }, "alpha-nvim": { "type": "Git", @@ -103,9 +103,9 @@ }, "branch": "main", "submodules": false, - "revision": "ca538d15bd22fedd3408064d2b25ff8d56ec8ce8", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/ca538d15bd22fedd3408064d2b25ff8d56ec8ce8.tar.gz", - "hash": "1rg40x0lvz11rl95b3q3kqzb8ygvyvhcxiw255200ccxl6q21jg8" + "revision": "89c4d158bc6d6ca03b4059452f2f9ffaa850db8a", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/89c4d158bc6d6ca03b4059452f2f9ffaa850db8a.tar.gz", + "hash": "04xh5hzbzvm0nvipsy0cw7k1vb1kcrb09xiw0j66cqddjvvpv6zk" }, "bufdelete-nvim": { "type": "Git", @@ -272,9 +272,9 @@ }, "branch": "main", "submodules": false, - "revision": "030f305930a25bd9e45b5e5252b47b7069fb800e", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/030f305930a25bd9e45b5e5252b47b7069fb800e.tar.gz", - "hash": "1n59gkzfs05ybf7xvrbxacmwk8nbz8ybgdjwv8irdz5la5hi6wmn" + "revision": "c861811f8b825d30c0343951336d2bb8c8f6d990", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/c861811f8b825d30c0343951336d2bb8c8f6d990.tar.gz", + "hash": "0a1mzwh07lhrx893w7xdlhgiivbrwqp7a0b9wkdrna99x8kd9d77" }, "codewindow-nvim": { "type": "Git", @@ -311,9 +311,9 @@ }, "branch": "master", "submodules": false, - "revision": "6632e7d788a85bf8405ea0c812d343fc308b7b8c", - "url": "https://github.com/stevearc/conform.nvim/archive/6632e7d788a85bf8405ea0c812d343fc308b7b8c.tar.gz", - "hash": "0dv4h87jjb2dp6whgc7wvxisc7hcx1828ixzci80py8kjky013zw" + "revision": "372fc521f8421b7830ea6db4d6ea3bae1c77548c", + "url": "https://github.com/stevearc/conform.nvim/archive/372fc521f8421b7830ea6db4d6ea3bae1c77548c.tar.gz", + "hash": "0b6qbwyb6ashpia7pk0r5kp82pdrblhmhmx1fprgy7lmgnm8mw97" }, "copilot-cmp": { "type": "Git", @@ -337,9 +337,9 @@ }, "branch": "master", "submodules": false, - "revision": "dc579f98536029610cfa32c6bad86c0d24363679", - "url": "https://github.com/zbirenbaum/copilot.lua/archive/dc579f98536029610cfa32c6bad86c0d24363679.tar.gz", - "hash": "16zx9a8f2mjmj7ibdsjyj0vqdsc10yl1vrna0kkkgccj957rd99x" + "revision": "a5c390f8d8e85b501b22dcb2f30e0cbbd69d5ff0", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/a5c390f8d8e85b501b22dcb2f30e0cbbd69d5ff0.tar.gz", + "hash": "1pk6mh40kbja49xlsqv70wl3j89i6p996gf8z95b9b50pd2dsdgk" }, "crates-nvim": { "type": "Git", @@ -376,9 +376,9 @@ }, "branch": "master", "submodules": false, - "revision": "000448d837f6e7a47f8f342f29526c4d7e49e9ce", - "url": "https://github.com/glepnir/dashboard-nvim/archive/000448d837f6e7a47f8f342f29526c4d7e49e9ce.tar.gz", - "hash": "11kh15qp819dhr2r3q78dv9pzxrswzzpjqmdpa5nlba9mvgjzzy3" + "revision": "b0551fae871fc39454a67cca1adcf76fbe2f61f9", + "url": "https://github.com/glepnir/dashboard-nvim/archive/b0551fae871fc39454a67cca1adcf76fbe2f61f9.tar.gz", + "hash": "0m67ij62dwnzyspyckhqvcsk81nvc16gx8zphghw4w2w4vl9lsrj" }, "diffview-nvim": { "type": "Git", @@ -454,9 +454,9 @@ }, "branch": "main", "submodules": false, - "revision": "c43684448470e732387beccaff12e6667a534800", - "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/c43684448470e732387beccaff12e6667a534800.tar.gz", - "hash": "1ihh07j9q4089m4iw7sb33zg106g1m84bd2nk81gixfl76vg3vbi" + "revision": "2f2e8d7010a0e5e725957828476b4e1625eaf82c", + "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/2f2e8d7010a0e5e725957828476b4e1625eaf82c.tar.gz", + "hash": "0m2qplldlcgzb6n5lwnwiac5n56zpyf3df015abfwrwba95zflfv" }, "fidget-nvim": { "type": "Git", @@ -506,9 +506,9 @@ }, "branch": "main", "submodules": false, - "revision": "31f2a2657b6261724313281fe0d8ba6f43f4a4fa", - "url": "https://github.com/rafamadriz/friendly-snippets/archive/31f2a2657b6261724313281fe0d8ba6f43f4a4fa.tar.gz", - "hash": "0rkz7zbv1maqhr22nxq39w7pahahcapfyc4rgscmr3bm4dcymk2a" + "revision": "fc8f183479a472df60aa86f00e295462f2308178", + "url": "https://github.com/rafamadriz/friendly-snippets/archive/fc8f183479a472df60aa86f00e295462f2308178.tar.gz", + "hash": "1clmyxkw0gk9p9j72d75byws75vi3r7d04wica2dq5i0zkk49b27" }, "fzf-lua": { "type": "Git", @@ -519,9 +519,9 @@ }, "branch": "main", "submodules": false, - "revision": "ea2bda8a9717307affd921e1b540dc06acdf8ea8", - "url": "https://github.com/ibhagwan/fzf-lua/archive/ea2bda8a9717307affd921e1b540dc06acdf8ea8.tar.gz", - "hash": "0ba9ncwjv9kcnw7nimifyad54xdf1cacbdlc7hjyy2zlivf4pm3g" + "revision": "b11467c3fbfe48e4a815e4909f5c4e5b413ce6d0", + "url": "https://github.com/ibhagwan/fzf-lua/archive/b11467c3fbfe48e4a815e4909f5c4e5b413ce6d0.tar.gz", + "hash": "1yjfyz0fchibyb6wnnyxarn2v4fxxfvf9vy1pyvfc7mz5b4mzwc2" }, "gesture-nvim": { "type": "Git", @@ -584,9 +584,9 @@ }, "branch": "main", "submodules": false, - "revision": "02eafb1273afec94447f66d1a43fc5e477c2ab8a", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/02eafb1273afec94447f66d1a43fc5e477c2ab8a.tar.gz", - "hash": "1m507jyyi1nny14q2bxydy6a54g28yq855g4yaj9jslz7dml2v4i" + "revision": "9cd665f46ab7af2e49d140d328b8e72ea1cf511b", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/9cd665f46ab7af2e49d140d328b8e72ea1cf511b.tar.gz", + "hash": "110ykgvd3hbjq8ilz1yvfcic1jpqzyz4r13dswmpv7nvsi7a2lb5" }, "glow-nvim": { "type": "Git", @@ -610,9 +610,9 @@ }, "branch": "main", "submodules": false, - "revision": "a933d8666dad9363dc6908ae72cfc832299c2f59", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/a933d8666dad9363dc6908ae72cfc832299c2f59.tar.gz", - "hash": "02r2h0ip2vzmgmv9b36ff2r6br3ql0b9ggzl8ijsyjy7pgiij04y" + "revision": "c54db7f7e67832fbdd0ac14633f62c8a6997ddcf", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/c54db7f7e67832fbdd0ac14633f62c8a6997ddcf.tar.gz", + "hash": "0i7dh2d3l1w6bga6gpfssam7w1qkd84q3cxyscdfsf4j9z4b62l2" }, "harpoon": { "type": "Git", @@ -636,9 +636,9 @@ }, "branch": "master", "submodules": false, - "revision": "797610ad83d2730d0a8659ecac5d98ccb476ac23", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/797610ad83d2730d0a8659ecac5d98ccb476ac23.tar.gz", - "hash": "1i1ivfhl34yi9xff5s1wkr252vlfjazsf75bjphbi4c50s64wbaa" + "revision": "fda0e5082ecc1c9e892f38b715d6f61e8829081d", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/fda0e5082ecc1c9e892f38b715d6f61e8829081d.tar.gz", + "hash": "0hi0ww7q0j042ssjk7x3d4s4vaninawpw3s0yrv1c4l1q5v6gnz1" }, "highlight-undo-nvim": { "type": "Git", @@ -704,9 +704,9 @@ }, "branch": "master", "submodules": false, - "revision": "2e2d28b7734b5efdfc1219f4da8a46c761587bc2", - "url": "https://github.com/3rd/image.nvim/archive/2e2d28b7734b5efdfc1219f4da8a46c761587bc2.tar.gz", - "hash": "1k2bch2l9bvy4ian6l3jymddcy7p4mvblpmbq0qvn8rzxdi65fy1" + "revision": "4c51d6202628b3b51e368152c053c3fb5c5f76f2", + "url": "https://github.com/3rd/image.nvim/archive/4c51d6202628b3b51e368152c053c3fb5c5f76f2.tar.gz", + "hash": "16s1wsy9k72qiqzvwij67j2jzwgi6ggl6lhx9p6lfw8dpps3ayxg" }, "indent-blankline-nvim": { "type": "Git", @@ -743,9 +743,9 @@ }, "branch": "main", "submodules": false, - "revision": "8a0efa79133fee211017d769c8031512192008b3", - "url": "https://github.com/ggandor/leap.nvim/archive/8a0efa79133fee211017d769c8031512192008b3.tar.gz", - "hash": "0pgg26r5rh1r2364yj05w4scarzy6zwsp6w7s9yxgfmk7l9x89yk" + "revision": "2b68ddc0802bd295e64c9e2e75f18f755e50dbcc", + "url": "https://github.com/ggandor/leap.nvim/archive/2b68ddc0802bd295e64c9e2e75f18f755e50dbcc.tar.gz", + "hash": "07bdhfsig70qblvk2x0n35i5apz3mjdr05ba3082mh438ikgfmvx" }, "leetcode-nvim": { "type": "Git", @@ -769,9 +769,9 @@ }, "branch": "master", "submodules": false, - "revision": "15bb33cdb47e85278e168cad11acb1b6fa9c6488", - "url": "https://github.com/ray-x/lsp_signature.nvim/archive/15bb33cdb47e85278e168cad11acb1b6fa9c6488.tar.gz", - "hash": "0acynlgd7vg3cn08136ky1j2qayq1f7x6fl1562cby6hl47rsnck" + "revision": "a793d02b6a5e639fa9d3f2a89a839fa688ab2d0a", + "url": "https://github.com/ray-x/lsp_signature.nvim/archive/a793d02b6a5e639fa9d3f2a89a839fa688ab2d0a.tar.gz", + "hash": "0y5ffzj613kf0mq74yj248176fywn4vrsnn1fhip7j5yni1cyhzy" }, "lspkind-nvim": { "type": "Git", @@ -821,9 +821,9 @@ }, "branch": "master", "submodules": false, - "revision": "86fe39534b7da729a1ac56c0466e76f2c663dc42", - "url": "https://github.com/hoob3rt/lualine.nvim/archive/86fe39534b7da729a1ac56c0466e76f2c663dc42.tar.gz", - "hash": "1kqdckylsjl1ibk4wm87y1yxxzxnjz87vwziaw4k6nw61rg0bq2x" + "revision": "15884cee63a8c205334ab13ab1c891cd4d27101a", + "url": "https://github.com/hoob3rt/lualine.nvim/archive/15884cee63a8c205334ab13ab1c891cd4d27101a.tar.gz", + "hash": "0c251ywx5gsqwafgn2pb7qrv43cimrxp4wwqhlxccizf3l6l9wy1" }, "luasnip": { "type": "Git", @@ -847,9 +847,9 @@ }, "branch": "master", "submodules": false, - "revision": "c22bd7ef977a32b792ea70e203126a9063519a62", - "url": "https://github.com/nvim-neorocks/lz.n/archive/c22bd7ef977a32b792ea70e203126a9063519a62.tar.gz", - "hash": "0q8bz28dbmdsyndbnajw73x2cr8kpcx0fcj9lip9mr24vgx2vb8v" + "revision": "a10519ab5940a5364560043df9dc3db328e27f98", + "url": "https://github.com/nvim-neorocks/lz.n/archive/a10519ab5940a5364560043df9dc3db328e27f98.tar.gz", + "hash": "18q0hai33qrb950lg8w9nk83smqpp1ahiyrn6pv9dqyakbqhx1k1" }, "lzn-auto-require": { "type": "Git", @@ -990,9 +990,9 @@ }, "branch": "main", "submodules": false, - "revision": "1c88ba8c79e5717acc82bf596f5722c724af570e", - "url": "https://github.com/echasnovski/mini.colors/archive/1c88ba8c79e5717acc82bf596f5722c724af570e.tar.gz", - "hash": "0dcv6z4z5gq73d2s2hbcg8l5y1jzxvdsq7wy6a2rxbjmjhg5j7is" + "revision": "c45b8ee96f0347134e34ba3f0adaf08a9a8826d3", + "url": "https://github.com/echasnovski/mini.colors/archive/c45b8ee96f0347134e34ba3f0adaf08a9a8826d3.tar.gz", + "hash": "1px2x50h613f3jahhr24bmkkwxpwnf68c5acz51r89rmj5dl5v9r" }, "mini-comment": { "type": "Git", @@ -1016,9 +1016,9 @@ }, "branch": "main", "submodules": false, - "revision": "35130cebc63ace7d6e4583f349af8cd3f3141af7", - "url": "https://github.com/echasnovski/mini.completion/archive/35130cebc63ace7d6e4583f349af8cd3f3141af7.tar.gz", - "hash": "0h5z5i62cc780bzw60rbizngvpyl4vk7j858pndyi2g572plz929" + "revision": "f0c324ff2142b02871cfb43049461e4f3f022a11", + "url": "https://github.com/echasnovski/mini.completion/archive/f0c324ff2142b02871cfb43049461e4f3f022a11.tar.gz", + "hash": "0q8w733i3428gzz6bk4ldc57smj55916imnpzx33arhfdvmzp8l0" }, "mini-cursorword": { "type": "GitRelease", @@ -1214,9 +1214,9 @@ }, "branch": "main", "submodules": false, - "revision": "52bf20e952a26820c25776c7b594f64b7a6dcb66", - "url": "https://github.com/echasnovski/mini.misc/archive/52bf20e952a26820c25776c7b594f64b7a6dcb66.tar.gz", - "hash": "0r2xmxlsq8ifq4ps54l7yjljczlp7ldxp8b30gjdkkrbbi1rkbvg" + "revision": "f7252c5b8ff27d0856b91a410efe8e528370d919", + "url": "https://github.com/echasnovski/mini.misc/archive/f7252c5b8ff27d0856b91a410efe8e528370d919.tar.gz", + "hash": "02jrwcmbi74512240p8grlc9awivyihl6s71d60s46nslgqlnsqf" }, "mini-move": { "type": "Git", @@ -1240,9 +1240,9 @@ }, "branch": "main", "submodules": false, - "revision": "f4e892533c8821bc5e0f373b353022a42bd465f7", - "url": "https://github.com/echasnovski/mini.notify/archive/f4e892533c8821bc5e0f373b353022a42bd465f7.tar.gz", - "hash": "0ziqqd8zz2d28x7801g9h45jgcv5vxqx25wcyh3574zrd5aay5s7" + "revision": "3a06b21dd0b335b95d125eae813276113b5e9ce7", + "url": "https://github.com/echasnovski/mini.notify/archive/3a06b21dd0b335b95d125eae813276113b5e9ce7.tar.gz", + "hash": "13pa82zmz6w8is4gfh33fqcd2yx3f1bmd5r3q4sp1kfgf2c68c30" }, "mini-operators": { "type": "Git", @@ -1279,9 +1279,9 @@ }, "branch": "main", "submodules": false, - "revision": "6cad781797f3a9b0e69f2e9a2d63de8b1c1824f5", - "url": "https://github.com/echasnovski/mini.pick/archive/6cad781797f3a9b0e69f2e9a2d63de8b1c1824f5.tar.gz", - "hash": "1nsnz9dys2nsjrpzm4d3dc4qjms5f7pqsxbgnvglibi9vizrkahx" + "revision": "417c273861971b451687e847383e61687463b06e", + "url": "https://github.com/echasnovski/mini.pick/archive/417c273861971b451687e847383e61687463b06e.tar.gz", + "hash": "0xyw2wns9fpv1yxzflb18mmfajihy45g163q4bka0vylj77858xa" }, "mini-sessions": { "type": "Git", @@ -1477,9 +1477,9 @@ }, "branch": "main", "submodules": false, - "revision": "1ef260eb4f54515fe121a2267b477efb054d108a", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/1ef260eb4f54515fe121a2267b477efb054d108a.tar.gz", - "hash": "0j0gr2pisrj5vsiwsvrd3dkrdrd3q2742srk23rw2x0h055c0mxh" + "revision": "299e174c3b8373c9c1f9be0bc3967c852712d0f3", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/299e174c3b8373c9c1f9be0bc3967c852712d0f3.tar.gz", + "hash": "0vm7hbcqj548pvl9vfmzsgpx73lmrnmhp399bprizg87zn73m005" }, "neocord": { "type": "Git", @@ -1581,9 +1581,9 @@ }, "branch": "main", "submodules": false, - "revision": "fb50cf17e926a037c9f8d96d8db29ddbd04965d4", - "url": "https://github.com/nvimtools/none-ls.nvim/archive/fb50cf17e926a037c9f8d96d8db29ddbd04965d4.tar.gz", - "hash": "07zfkjdqwlrm1d07za0payqs37gmn4x8m489438nv84sqqhnfrvd" + "revision": "751349f21bdf1acf7af091fead456866bf9a7e7d", + "url": "https://github.com/nvimtools/none-ls.nvim/archive/751349f21bdf1acf7af091fead456866bf9a7e7d.tar.gz", + "hash": "1zhqyjs914ib1yq42xq3aphw8pl4168h2k3ybm92z00ahi51kbqn" }, "nord": { "type": "Git", @@ -1607,9 +1607,9 @@ }, "branch": "main", "submodules": false, - "revision": "8d3bce9764e627b62b07424e0df77f680d47ffdb", - "url": "https://github.com/MunifTanjim/nui.nvim/archive/8d3bce9764e627b62b07424e0df77f680d47ffdb.tar.gz", - "hash": "0ia8q5d4xcss45vw6jlaanyr0migy03cjzq9g0kipfyqxkcxi105" + "revision": "8d5b0b568517935d3c84f257f272ef004d9f5a59", + "url": "https://github.com/MunifTanjim/nui.nvim/archive/8d5b0b568517935d3c84f257f272ef004d9f5a59.tar.gz", + "hash": "0z5md64qly2dzm9pq46ldid45l44mfwqk3r1hirk8lj6djyrxv9m" }, "nvim-autopairs": { "type": "Git", @@ -1685,9 +1685,9 @@ }, "branch": "master", "submodules": false, - "revision": "98bf130702eaafad8567c0e3ea1171c2552d58bb", - "url": "https://github.com/mfussenegger/nvim-dap/archive/98bf130702eaafad8567c0e3ea1171c2552d58bb.tar.gz", - "hash": "045sajd5amwxq4964yj4lbh20daa0g8473a0ggbwggxpq6qz2678" + "revision": "8df427aeba0a06c6577dc3ab82de3076964e3b8d", + "url": "https://github.com/mfussenegger/nvim-dap/archive/8df427aeba0a06c6577dc3ab82de3076964e3b8d.tar.gz", + "hash": "13d04z1dnkrhslq6s1xba5myqkgxar3i3p2lhqvpawicbba8yp22" }, "nvim-dap-go": { "type": "Git", @@ -1711,9 +1711,9 @@ }, "branch": "master", "submodules": false, - "revision": "881a69e25bd6658864fab47450025490b74be878", - "url": "https://github.com/rcarriga/nvim-dap-ui/archive/881a69e25bd6658864fab47450025490b74be878.tar.gz", - "hash": "040xa1jg5591czydjsxf9rwk3g805nxgaaqn5zkgkxr3igc2rvsy" + "revision": "73a26abf4941aa27da59820fd6b028ebcdbcf932", + "url": "https://github.com/rcarriga/nvim-dap-ui/archive/73a26abf4941aa27da59820fd6b028ebcdbcf932.tar.gz", + "hash": "1h71y3pjbbgh8kgghs0sb721bl9pd7l7ak3mj1j27fv6x6kbmgar" }, "nvim-docs-view": { "type": "Git", @@ -1750,9 +1750,9 @@ }, "branch": "master", "submodules": false, - "revision": "d698d3b6fd7b1b85657d05a2a31d843ddb682c63", - "url": "https://github.com/mfussenegger/nvim-lint/archive/d698d3b6fd7b1b85657d05a2a31d843ddb682c63.tar.gz", - "hash": "0m4hj1yc0s6cb3icshcr3qkd5wknksnnw97axjbacsan5vc6831z" + "revision": "9dfb77ef6c5092a19502883c02dc5a02ec648729", + "url": "https://github.com/mfussenegger/nvim-lint/archive/9dfb77ef6c5092a19502883c02dc5a02ec648729.tar.gz", + "hash": "0772bgl09jcrvvhvpic2b07qb21kf2pr479g792jlwbr5jfa1pa0" }, "nvim-lspconfig": { "type": "Git", @@ -1763,9 +1763,9 @@ }, "branch": "master", "submodules": false, - "revision": "32b6a6449aaba11461fffbb596dd6310af79eea4", - "url": "https://github.com/neovim/nvim-lspconfig/archive/32b6a6449aaba11461fffbb596dd6310af79eea4.tar.gz", - "hash": "0rbqg3xdsdfklcsadzbbphzrgwa2c54lsipfqd67jq2p4baxsgxn" + "revision": "641e567f975feab3815b47c7d29e6148e07afa77", + "url": "https://github.com/neovim/nvim-lspconfig/archive/641e567f975feab3815b47c7d29e6148e07afa77.tar.gz", + "hash": "1238hk6v3mm6hzjbipz60rva7crv95h2vzg6ph9wzplq52kzryav" }, "nvim-metals": { "type": "Git", @@ -1880,9 +1880,9 @@ }, "branch": "master", "submodules": false, - "revision": "3a63717d3d332d8f39aaf65be7a0e4c2265af021", - "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/3a63717d3d332d8f39aaf65be7a0e4c2265af021.tar.gz", - "hash": "1w5m090wwhbsdif0w2fhg8qvdjni0g95b13h0kh5kdm3a7avwsm0" + "revision": "582ae48c9e43d2bcd55dfcc8e2e7a1f29065d924", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/582ae48c9e43d2bcd55dfcc8e2e7a1f29065d924.tar.gz", + "hash": "1xpal45q4mvplvgz06z4wzsq1ml5awv8v4m0k9jh9s4xlnc0va24" }, "nvim-treesitter-context": { "type": "Git", @@ -1919,9 +1919,9 @@ }, "branch": "main", "submodules": false, - "revision": "17aa9cec9081351946743a7094c0c883b24ebe64", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/17aa9cec9081351946743a7094c0c883b24ebe64.tar.gz", - "hash": "14lz7bnwkv3gjpkh8zi9ki9xlxc979gfy3ii396fpa1l3jpys18q" + "revision": "d4c8bdb06b7a589f004a53bf710196967752c63d", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/d4c8bdb06b7a589f004a53bf710196967752c63d.tar.gz", + "hash": "11zcr6vvj6gm5di63w55ccvwf2x7his8v9v8bingsz6l6n79dk6v" }, "nvim-web-devicons": { "type": "Git", @@ -1932,9 +1932,9 @@ }, "branch": "master", "submodules": false, - "revision": "855c97005c8eebcdd19846f2e54706bffd40ee96", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/855c97005c8eebcdd19846f2e54706bffd40ee96.tar.gz", - "hash": "1rxpc5k6jbz7078dmjyjg8kgs67q2815bs8fz0srfqwyhvkgi15s" + "revision": "50b5b06bff13a9b4eab946de7c7033649a6618a1", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/50b5b06bff13a9b4eab946de7c7033649a6618a1.tar.gz", + "hash": "1jsrwcsyjwlzk2l3x417pr6s6cq4zk6b6k417hhmrprrw66ajdb6" }, "obsidian-nvim": { "type": "Git", @@ -1958,9 +1958,9 @@ }, "branch": "master", "submodules": false, - "revision": "302bbaceeafc690e6419e0c8296e804d60cb9446", - "url": "https://github.com/stevearc/oil.nvim/archive/302bbaceeafc690e6419e0c8296e804d60cb9446.tar.gz", - "hash": "155v10myfpahyf9hf2x3dmp8ljjqavmqg1958x255i9l5swqcp5g" + "revision": "685cdb4ffa74473d75a1b97451f8654ceeab0f4a", + "url": "https://github.com/stevearc/oil.nvim/archive/685cdb4ffa74473d75a1b97451f8654ceeab0f4a.tar.gz", + "hash": "1wqbsfh274wkyyx8nf5gbcnsk92y4bwsrwq2vl85x3cx73kkzlhv" }, "omnisharp-extended-lsp-nvim": { "type": "Git", @@ -1984,9 +1984,9 @@ }, "branch": "master", "submodules": false, - "revision": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6", - "url": "https://github.com/navarasu/onedark.nvim/archive/67a74c275d1116d575ab25485d1bfa6b2a9c38a6.tar.gz", - "hash": "1pfyz3ascxs3sxl878qcirp9jsz77kpl2ks3wxkcv8ql4psymc9l" + "revision": "0e5512d1bebd1f08954710086f87a5caa173a924", + "url": "https://github.com/navarasu/onedark.nvim/archive/0e5512d1bebd1f08954710086f87a5caa173a924.tar.gz", + "hash": "14ixrvcp3h06kngq5ji54lf2l10k33vrmzs609xf7sqdy6rflm4j" }, "orgmode": { "type": "Git", @@ -1997,9 +1997,9 @@ }, "branch": "master", "submodules": false, - "revision": "8c17ffeb2d08f77a6fd098634f5f85034d88caf8", - "url": "https://github.com/nvim-orgmode/orgmode/archive/8c17ffeb2d08f77a6fd098634f5f85034d88caf8.tar.gz", - "hash": "1rx20i6y666n8a593b2fqw2gdxs96qhzgwrza6m8zfcavzkwh0r0" + "revision": "27ab1cf9e7ae142f9e9ffb218be50dd920f04cb3", + "url": "https://github.com/nvim-orgmode/orgmode/archive/27ab1cf9e7ae142f9e9ffb218be50dd920f04cb3.tar.gz", + "hash": "176v9y36258jm8h3aaph57wgr6s7rgmgdnq9hgwialwn4bygfym0" }, "otter-nvim": { "type": "Git", @@ -2127,9 +2127,9 @@ }, "branch": "main", "submodules": false, - "revision": "dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/dfc1299d9f32b53b34b7ac6c3a7553b5fd29977f.tar.gz", - "hash": "1r636cyjflhpybjwfi01blbwkrxwi4lvykffrjclwfaf4l4gwddd" + "revision": "78ffe3b0500bbc7e37fabde723d96661538e8b32", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/78ffe3b0500bbc7e37fabde723d96661538e8b32.tar.gz", + "hash": "00dn9cpdvm7dy4xyhaij2rs0g0l926cqvjn03v06sray3adbyij5" }, "rose-pine": { "type": "Git", @@ -2179,9 +2179,9 @@ }, "branch": "master", "submodules": false, - "revision": "69636cedf0d6aabf0eac3dfbce24883fe1051a3d", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/69636cedf0d6aabf0eac3dfbce24883fe1051a3d.tar.gz", - "hash": "0g40qj67pazf428wdgzijvf1a4xr2l1nimxisyka52fpwi1rah4y" + "revision": "3f2b7a94b7fa3c0f301dfa9644c94b543000efc2", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/3f2b7a94b7fa3c0f301dfa9644c94b543000efc2.tar.gz", + "hash": "1y3x6m3yglkyv37xgli9k3dlw59yy3jbsp1phx75xqma1480dzy5" }, "smartcolumn-nvim": { "type": "Git", @@ -2338,9 +2338,9 @@ }, "branch": "master", "submodules": false, - "revision": "2503b188cd2a17ce44fdd21a944a93335e935215", - "url": "https://github.com/chomosuke/typst-preview.nvim/archive/2503b188cd2a17ce44fdd21a944a93335e935215.tar.gz", - "hash": "0l981pjiz2ycn6rw1xwvmhdjpml7nrrlymwfyc942inw173k1jsg" + "revision": "dea4525d5420b7c32eebda7de15a6beb9d6574fa", + "url": "https://github.com/chomosuke/typst-preview.nvim/archive/dea4525d5420b7c32eebda7de15a6beb9d6574fa.tar.gz", + "hash": "0y658l2ibq0x4cwa4rl3lab7aw4ba68xcrdnxp81p2rsk0d60qq4" }, "vim-dirtytalk": { "type": "Git", @@ -2377,9 +2377,9 @@ }, "branch": "master", "submodules": false, - "revision": "1fa4b23409e22a03823648e344c77f260e2572cb", - "url": "https://github.com/RRethy/vim-illuminate/archive/1fa4b23409e22a03823648e344c77f260e2572cb.tar.gz", - "hash": "1z27z6mpj4jazmifyz5scrniqr7sgh9hbkqx4g27yk0dnn9cm9ff" + "revision": "f985f5a4fbc410c9e5367f6b5863a8fa502e516d", + "url": "https://github.com/RRethy/vim-illuminate/archive/f985f5a4fbc410c9e5367f6b5863a8fa502e516d.tar.gz", + "hash": "0igx2i4k59vadhw7kgqvxjw9594n8p2n9yqszif9by8xq5gsd7g6" }, "vim-markdown": { "type": "Git", From 1768791402ae4112c08f71c077f65d035d672126 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 16 Feb 2025 12:48:40 +0300 Subject: [PATCH 37/55] lib/languages: add `lspOptions` submodule type for freeform LSP config --- lib/languages.nix | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/lib/languages.nix b/lib/languages.nix index a202ff14..19171cc8 100644 --- a/lib/languages.nix +++ b/lib/languages.nix @@ -1,9 +1,10 @@ -# From home-manager: https://github.com/nix-community/home-manager/blob/master/modules/lib/booleans.nix {lib}: let inherit (builtins) isString getAttr; inherit (lib.options) mkOption; - inherit (lib.types) bool; + inherit (lib.types) listOf bool str submodule attrsOf anything; + inherit (lib.generators) mkLuaInline; inherit (lib.nvim.attrsets) mapListToAttrs; + inherit (lib.nvim.types) luaInline; in { diagnosticsToLua = { lang, @@ -32,4 +33,31 @@ in { type = bool; description = "Turn on ${desc} for enabled languages by default"; }; + + lspOptions = submodule { + freeformType = attrsOf anything; + options = { + capabilities = mkOption { + type = luaInline; + default = mkLuaInline "capabilities"; + description = "LSP capabilitiess to pass to lspconfig"; + }; + + on_attach = mkOption { + type = luaInline; + default = mkLuaInline "default_on_attach"; + description = "Function to execute when an LSP server attaches to a buffer"; + }; + + filetypes = mkOption { + type = listOf str; + description = "Filetypes to auto-attach LSP in"; + }; + + cmd = mkOption { + type = listOf str; + description = "Command used to start the LSP server"; + }; + }; + }; } From 159a0339024a3b3e34fa97f46eacb3d41cdbaf34 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 5 Apr 2025 22:47:10 +0300 Subject: [PATCH 38/55] lib/languages: add `root_marker` to `lspOptions` type --- lib/languages.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/languages.nix b/lib/languages.nix index 19171cc8..d7e30394 100644 --- a/lib/languages.nix +++ b/lib/languages.nix @@ -58,6 +58,14 @@ in { type = listOf str; description = "Command used to start the LSP server"; }; + + root_markers = mkOption { + type = listOf str; + description = '' + "root markers" used to determine the root directory of the workspace, and + the filetypes associated with this LSP server. + ''; + }; }; }; } From 35c432db3b76e898fec0f6e25f9e410e0807d9c4 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 5 Apr 2025 22:47:25 +0300 Subject: [PATCH 39/55] neovim/lsp: init --- modules/neovim/init/default.nix | 1 + modules/neovim/init/lsp.nix | 44 +++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 modules/neovim/init/lsp.nix diff --git a/modules/neovim/init/default.nix b/modules/neovim/init/default.nix index 0e7a4c6b..7db6f2ef 100644 --- a/modules/neovim/init/default.nix +++ b/modules/neovim/init/default.nix @@ -5,6 +5,7 @@ ./debug.nix ./diagnostics.nix ./highlight.nix + ./lsp.nix ./spellcheck.nix ]; } diff --git a/modules/neovim/init/lsp.nix b/modules/neovim/init/lsp.nix new file mode 100644 index 00000000..5dfd7a74 --- /dev/null +++ b/modules/neovim/init/lsp.nix @@ -0,0 +1,44 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.options) mkOption; + inherit (lib.types) attrsOf; + inherit (lib.strings) concatLines; + inherit (lib.attrsets) mapAttrsToList attrNames filterAttrs; + inherit (lib.nvim.languages) lspOptions; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.lsp; + + lspConfigurations = + mapAttrsToList ( + name: value: '' + vim.lsp.config["${name}"] = ${toLuaObject value} + '' + ) + cfg.servers; + + enabledServers = filterAttrs (_: u: u.enable) cfg.servers; +in { + options = { + vim.lsp.servers = mkOption { + type = attrsOf lspOptions; + default = {}; + description = ""; + }; + }; + + config = mkIf (cfg.servers != {}) { + vim.luaConfigRC.lsp-servers = entryAnywhere '' + -- Individual LSP configurations managed by nvf. + ${(concatLines lspConfigurations)} + + -- Enable configured LSPs explicitly + vim.lsp.enable(${toLuaObject (attrNames enabledServers)}) + ''; + }; +} From 52fb95ea6b93f37f40dc710d4b6a9df8685051ba Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 5 Apr 2025 23:17:18 +0300 Subject: [PATCH 40/55] lib/languages: add explicit enable to LSP submodule --- lib/languages.nix | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/lib/languages.nix b/lib/languages.nix index d7e30394..c4074144 100644 --- a/lib/languages.nix +++ b/lib/languages.nix @@ -1,11 +1,11 @@ {lib}: let inherit (builtins) isString getAttr; inherit (lib.options) mkOption; - inherit (lib.types) listOf bool str submodule attrsOf anything; - inherit (lib.generators) mkLuaInline; + inherit (lib.types) listOf bool str submodule attrsOf anything either nullOr; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.types) luaInline; in { + # TODO: remove diagnosticsToLua = { lang, config, @@ -37,30 +37,39 @@ in { lspOptions = submodule { freeformType = attrsOf anything; options = { + enable = mkOption { + type = bool; + default = true; + description = "Whether to enable this LSP server."; + }; + capabilities = mkOption { - type = luaInline; - default = mkLuaInline "capabilities"; + type = nullOr (either luaInline (attrsOf anything)); + default = null; description = "LSP capabilitiess to pass to lspconfig"; }; on_attach = mkOption { - type = luaInline; - default = mkLuaInline "default_on_attach"; + type = nullOr luaInline; + default = null; description = "Function to execute when an LSP server attaches to a buffer"; }; filetypes = mkOption { - type = listOf str; + type = nullOr (listOf str); + default = null; description = "Filetypes to auto-attach LSP in"; }; cmd = mkOption { - type = listOf str; + type = nullOr (listOf str); + default = null; description = "Command used to start the LSP server"; }; root_markers = mkOption { - type = listOf str; + type = nullOr (listOf str); + default = null; description = '' "root markers" used to determine the root directory of the workspace, and the filetypes associated with this LSP server. From ea9075a07f285f31bd22e56c2182a0b9d52c961a Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sun, 6 Apr 2025 01:18:39 +0200 Subject: [PATCH 41/55] lsp: add default fallback config --- modules/neovim/init/lsp.nix | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/modules/neovim/init/lsp.nix b/modules/neovim/init/lsp.nix index 5dfd7a74..6d3478c9 100644 --- a/modules/neovim/init/lsp.nix +++ b/modules/neovim/init/lsp.nix @@ -3,11 +3,13 @@ lib, ... }: let - inherit (lib.modules) mkIf; + inherit (builtins) filter; + inherit (lib.modules) mkIf mkMerge mkDefault; inherit (lib.options) mkOption; inherit (lib.types) attrsOf; inherit (lib.strings) concatLines; inherit (lib.attrsets) mapAttrsToList attrNames filterAttrs; + inherit (lib.generators) mkLuaInline; inherit (lib.nvim.languages) lspOptions; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.lua) toLuaObject; @@ -32,13 +34,22 @@ in { }; }; - config = mkIf (cfg.servers != {}) { - vim.luaConfigRC.lsp-servers = entryAnywhere '' - -- Individual LSP configurations managed by nvf. - ${(concatLines lspConfigurations)} + config = mkMerge [ + { + vim.lsp.servers."*" = { + capabilities = mkDefault (mkLuaInline "capabilities"); + on_attach = mkDefault (mkLuaInline "default_on_attach"); + }; + } - -- Enable configured LSPs explicitly - vim.lsp.enable(${toLuaObject (attrNames enabledServers)}) - ''; - }; + (mkIf (cfg.servers != {}) { + vim.luaConfigRC.lsp-servers = entryAnywhere '' + -- Individual LSP configurations managed by nvf. + ${(concatLines lspConfigurations)} + + -- Enable configured LSPs explicitly + vim.lsp.enable(${toLuaObject (filter (name: name != "*") (attrNames enabledServers))}) + ''; + }) + ]; } From 9bd2a6dcb4d8f6f7231aa86f075447255aea812a Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 27 Apr 2025 06:21:13 +0300 Subject: [PATCH 42/55] neovim/lsp: add LSP example; add description to servers option --- modules/neovim/init/lsp.nix | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/modules/neovim/init/lsp.nix b/modules/neovim/init/lsp.nix index 6d3478c9..faef0f93 100644 --- a/modules/neovim/init/lsp.nix +++ b/modules/neovim/init/lsp.nix @@ -30,7 +30,34 @@ in { vim.lsp.servers = mkOption { type = attrsOf lspOptions; default = {}; - description = ""; + example = '' + { + "*" = { + root_markers = [".git"]; + capabilities = { + textDocument = { + semanticTokens = { + multilineTokenSupport = true; + }; + }; + }; + }; + + "clangd" = { + filetypes = ["c"]; + }; + } + ''; + description = '' + LSP configurations that will be managed using `vim.lsp.config()` and + related utilities added in Neovim 0.11. LSPs defined here will be + added to the resulting {file}`init.lua` using `vim.lsp.config` and + enabled through `vim.lsp.enable` below the configuration table. + + You may review the generated configuration by running {command}`nvf-print-config` + in a shell. Please see {command}`:help lsp-config` for more details + on the underlying API. + ''; }; }; @@ -45,7 +72,7 @@ in { (mkIf (cfg.servers != {}) { vim.luaConfigRC.lsp-servers = entryAnywhere '' -- Individual LSP configurations managed by nvf. - ${(concatLines lspConfigurations)} + ${concatLines lspConfigurations} -- Enable configured LSPs explicitly vim.lsp.enable(${toLuaObject (filter (name: name != "*") (attrNames enabledServers))}) From c30f07fcd67a636e685259769bbb1ba18bbb8483 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 27 Apr 2025 06:25:19 +0300 Subject: [PATCH 43/55] languages: set `enableLSP` to true while `vim.lsp` is enabled --- modules/plugins/languages/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index c3312135..b889e60a 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -1,4 +1,8 @@ -{lib, ...}: let +{ + config, + lib, + ... +}: let inherit (lib.nvim.languages) mkEnable; in { imports = [ @@ -47,7 +51,11 @@ in { ]; options.vim.languages = { - enableLSP = mkEnable "LSP"; + # LSPs are now built into Neovim, and we should enable them by default + # if `vim.lsp.enable` is true. + enableLSP = mkEnable "LSP" // {default = config.vim.lsp.enable;}; + + # Those are still managed by plugins, and should be enabled here. enableDAP = mkEnable "Debug Adapter"; enableTreesitter = mkEnable "Treesitter"; enableFormat = mkEnable "Formatting"; From ea90d2baf381b30f8ea4116438f2c04f61b5cc3b Mon Sep 17 00:00:00 2001 From: haskex Date: Mon, 28 Apr 2025 12:16:53 -0300 Subject: [PATCH 44/55] Added HardTime.nvim plugin and added vim.binds.hardtime.enable and .setupOpts options --- configuration.nix | 3 +++ modules/plugins/utility/binds/default.nix | 1 + .../plugins/utility/binds/hardtime/config.nix | 21 +++++++++++++++++++ .../utility/binds/hardtime/default.nix | 6 ++++++ .../utility/binds/hardtime/hardtime.nix | 10 +++++++++ npins/sources.json | 13 ++++++++++++ 6 files changed, 54 insertions(+) create mode 100644 modules/plugins/utility/binds/hardtime/config.nix create mode 100644 modules/plugins/utility/binds/hardtime/default.nix create mode 100644 modules/plugins/utility/binds/hardtime/hardtime.nix diff --git a/configuration.nix b/configuration.nix index 011d6fae..f48af0b4 100644 --- a/configuration.nix +++ b/configuration.nix @@ -142,6 +142,9 @@ isMaximal: { binds = { whichKey.enable = true; cheatsheet.enable = true; + + # Remove this after test + hardtime.enable = true; }; telescope.enable = true; diff --git a/modules/plugins/utility/binds/default.nix b/modules/plugins/utility/binds/default.nix index 229423b8..43666cc9 100644 --- a/modules/plugins/utility/binds/default.nix +++ b/modules/plugins/utility/binds/default.nix @@ -2,5 +2,6 @@ _: { imports = [ ./which-key ./cheatsheet + ./hardtime ]; } diff --git a/modules/plugins/utility/binds/hardtime/config.nix b/modules/plugins/utility/binds/hardtime/config.nix new file mode 100644 index 00000000..7f2cde73 --- /dev/null +++ b/modules/plugins/utility/binds/hardtime/config.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.dag) entryAnywhere; + + cfg = config.vim.binds.hardtime; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["hardtime-nvim"]; + + pluginRC.hardtime = entryAnywhere '' + require("hardtime").setup (${toLuaObject cfg.setupOpts}) + ''; + }; + }; +} diff --git a/modules/plugins/utility/binds/hardtime/default.nix b/modules/plugins/utility/binds/hardtime/default.nix new file mode 100644 index 00000000..89aa11d3 --- /dev/null +++ b/modules/plugins/utility/binds/hardtime/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./hardtime.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/binds/hardtime/hardtime.nix b/modules/plugins/utility/binds/hardtime/hardtime.nix new file mode 100644 index 00000000..c27c1c0d --- /dev/null +++ b/modules/plugins/utility/binds/hardtime/hardtime.nix @@ -0,0 +1,10 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.binds.hardtime = { + enable = mkEnableOption "enable hardtime"; + + setupOpts = mkPluginSetupOption "hardtime-nvim" {}; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 90a54057..5fe087f5 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -614,6 +614,19 @@ "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/a933d8666dad9363dc6908ae72cfc832299c2f59.tar.gz", "hash": "02r2h0ip2vzmgmv9b36ff2r6br3ql0b9ggzl8ijsyjy7pgiij04y" }, + "hardtime-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "m4xshen", + "repo": "hardtime.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "9aaec65de041bddfc4c0af66919030d2950bcea8", + "url": "https://github.com/m4xshen/hardtime.nvim/archive/9aaec65de041bddfc4c0af66919030d2950bcea8.tar.gz", + "hash": "1rmcl200a4m3ip3xjzhh7ghhh2961xj2mw7yf0w44jpvs98gqb18" + }, "harpoon": { "type": "Git", "repository": { From 878cf96f717cf71f8be2732ebd21698aeff499fa Mon Sep 17 00:00:00 2001 From: haskex Date: Mon, 28 Apr 2025 18:27:43 -0300 Subject: [PATCH 45/55] Changing from 'hardtime.enable = true' to 'hardtime.enable = isMaximal' in configuration.nix --- configuration.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/configuration.nix b/configuration.nix index f48af0b4..dce9534a 100644 --- a/configuration.nix +++ b/configuration.nix @@ -142,9 +142,7 @@ isMaximal: { binds = { whichKey.enable = true; cheatsheet.enable = true; - - # Remove this after test - hardtime.enable = true; + hardtime.enable = isMaximal; }; telescope.enable = true; From 5dff9537d1ccba729728c9633bddfee9dc82e4ca Mon Sep 17 00:00:00 2001 From: poz Date: Thu, 1 May 2025 00:09:53 +0200 Subject: [PATCH 46/55] plugins/gitsigns: fix null-ls issue --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/git/gitsigns/config.nix | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index edf90e62..294fd17b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -352,3 +352,7 @@ [aionoid](https://github.com/aionoid): - Fix [render-markdown.nvim] file_types option type to list, to accept merging. + +[poz](https://poz.pet): + +- Fix gitsigns null-ls issue. diff --git a/modules/plugins/git/gitsigns/config.nix b/modules/plugins/git/gitsigns/config.nix index 99927546..f5d9f910 100644 --- a/modules/plugins/git/gitsigns/config.nix +++ b/modules/plugins/git/gitsigns/config.nix @@ -81,9 +81,11 @@ in { (mkIf cfg.codeActions.enable { vim.lsp.null-ls = { enable = true; - setupOpts.sources.gitsigns-ca = mkLuaInline '' - require("null-ls").builtins.code_actions.gitsigns - ''; + setupOpts.sources = [ + (mkLuaInline '' + require("null-ls").builtins.code_actions.gitsigns + '') + ]; }; }) ]); From eb4b990b4955fb0c51021e2513efc81fcb66a2a1 Mon Sep 17 00:00:00 2001 From: poz Date: Thu, 1 May 2025 00:26:04 +0200 Subject: [PATCH 47/55] release-notes: update jacekpoz to poz --- docs/release-notes/rl-0.5.md | 2 +- docs/release-notes/rl-0.6.md | 2 +- docs/release-notes/rl-0.7.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/release-notes/rl-0.5.md b/docs/release-notes/rl-0.5.md index 0ca02164..910c93d5 100644 --- a/docs/release-notes/rl-0.5.md +++ b/docs/release-notes/rl-0.5.md @@ -91,7 +91,7 @@ Release notes for release 0.5 - Updated indent-blankine.nvim to v3 - this comes with a few option changes, which will be migrated with `renamedOptionModule` -[jacekpoz](https://jacekpoz.pl): +[poz](https://poz.pet): - Fixed scrollOffset not being used diff --git a/docs/release-notes/rl-0.6.md b/docs/release-notes/rl-0.6.md index 1807a3e9..309d6b16 100644 --- a/docs/release-notes/rl-0.6.md +++ b/docs/release-notes/rl-0.6.md @@ -69,7 +69,7 @@ vim.api.nvim_set_keymap('n', 'a', ':lua camelToSnake()', { noremap = - Added rose-pine theme. -[jacekpoz](https://jacekpoz.pl): +[poz](https://poz.pet): - Added `vim.autocomplete.alwaysComplete`. Allows users to have the autocomplete window popup only when manually activated. diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md index d62e3619..ed9d2d81 100644 --- a/docs/release-notes/rl-0.7.md +++ b/docs/release-notes/rl-0.7.md @@ -162,7 +162,7 @@ The changes are, in no particular order: - Add [lz.n] support and lazy-load some builtin plugins. - Add simpler helper functions for making keymaps -[jacekpoz](https://jacekpoz.pl): +[poz](https://poz.pet): [ocaml-lsp]: https://github.com/ocaml/ocaml-lsp [new-file-template.nvim]: https://github.com/otavioschwanck/new-file-template.nvim From 1f7405aaf7f9a70177a0f052df034f55f0591182 Mon Sep 17 00:00:00 2001 From: haskex Date: Wed, 30 Apr 2025 22:02:00 -0300 Subject: [PATCH 48/55] Changing options for hardtime plugin to hardtime-nvim, and adding the changelog --- configuration.nix | 2 +- docs/release-notes/rl-0.8.md | 5 +++++ modules/plugins/utility/binds/hardtime/config.nix | 2 +- modules/plugins/utility/binds/hardtime/hardtime.nix | 4 ++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/configuration.nix b/configuration.nix index dce9534a..caefcc34 100644 --- a/configuration.nix +++ b/configuration.nix @@ -142,7 +142,7 @@ isMaximal: { binds = { whichKey.enable = true; cheatsheet.enable = true; - hardtime.enable = isMaximal; + hardtime-nvim.enable = isMaximal; }; telescope.enable = true; diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 294fd17b..3610aea8 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -356,3 +356,8 @@ [poz](https://poz.pet): - Fix gitsigns null-ls issue. + +[Haskex](https://github.com/haskex): + +- Add Plugin [Hardtime.nvim](https://github.com/m4xshen/hardtime.nvim). +- Add option `vim.binds.hardtime-nvim` with `enable` and `setupOpts` options. diff --git a/modules/plugins/utility/binds/hardtime/config.nix b/modules/plugins/utility/binds/hardtime/config.nix index 7f2cde73..e8c315ef 100644 --- a/modules/plugins/utility/binds/hardtime/config.nix +++ b/modules/plugins/utility/binds/hardtime/config.nix @@ -7,7 +7,7 @@ inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.dag) entryAnywhere; - cfg = config.vim.binds.hardtime; + cfg = config.vim.binds.hardtime-nvim; in { config = mkIf cfg.enable { vim = { diff --git a/modules/plugins/utility/binds/hardtime/hardtime.nix b/modules/plugins/utility/binds/hardtime/hardtime.nix index c27c1c0d..56833b48 100644 --- a/modules/plugins/utility/binds/hardtime/hardtime.nix +++ b/modules/plugins/utility/binds/hardtime/hardtime.nix @@ -2,8 +2,8 @@ inherit (lib.options) mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; in { - options.vim.binds.hardtime = { - enable = mkEnableOption "enable hardtime"; + options.vim.binds.hardtime-nvim = { + enable = mkEnableOption "Hardtime - A Plugin for Blocks key repeats in Neovim."; setupOpts = mkPluginSetupOption "hardtime-nvim" {}; }; From cc2c412b884cbf2731296abecc3c97321b98db23 Mon Sep 17 00:00:00 2001 From: haskex Date: Thu, 1 May 2025 12:17:31 -0300 Subject: [PATCH 49/55] Changing plugin description and testing --- modules/plugins/utility/binds/hardtime/hardtime.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/utility/binds/hardtime/hardtime.nix b/modules/plugins/utility/binds/hardtime/hardtime.nix index 56833b48..b671ddcd 100644 --- a/modules/plugins/utility/binds/hardtime/hardtime.nix +++ b/modules/plugins/utility/binds/hardtime/hardtime.nix @@ -3,7 +3,7 @@ inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.binds.hardtime-nvim = { - enable = mkEnableOption "Hardtime - A Plugin for Blocks key repeats in Neovim."; + enable = mkEnableOption "hardtime helper for no repeat keybinds"; setupOpts = mkPluginSetupOption "hardtime-nvim" {}; }; From 028bd7b4cb2c6ce2070e5b3aba0680f107b86616 Mon Sep 17 00:00:00 2001 From: Jhuan Nycolas <168754963+haskex@users.noreply.github.com> Date: Thu, 1 May 2025 15:10:00 -0300 Subject: [PATCH 50/55] Update rl-0.8.md --- docs/release-notes/rl-0.8.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 3610aea8..80a0300c 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -359,5 +359,6 @@ [Haskex](https://github.com/haskex): -- Add Plugin [Hardtime.nvim](https://github.com/m4xshen/hardtime.nvim). -- Add option `vim.binds.hardtime-nvim` with `enable` and `setupOpts` options. +[Hardtime.nvim]: https://github.com/m4xshen/hardtime.nvim + +- Add Plugin [Hardtime.nvim] under `vim.binds.hardtime-nvim` with `enable` and `setupOpts` options From dda89a2d9cf4c112f50f1c31853245ef1391eda3 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 3 May 2025 04:01:04 +0300 Subject: [PATCH 51/55] wrapper/options: fix description for `enableLuaLoader` --- modules/wrapper/rc/options.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index 10abd77d..02729401 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -11,13 +11,14 @@ in { description = '' [official documentation]: https://neovim.io/doc/user/lua.html#vim.loader.enable() - the experimental Lua module loader to speed up the start up process + Whethere to enable the experimental Lua module loader to speed up the start + up process. If `true`, this will enable the experimental Lua module loader + which: - If `true`, this will enable the experimental Lua module loader which: - - overrides loadfile - - adds the lua loader using the byte-compilation cache - - adds the libs loader - - removes the default Neovim loader + * overrides loadfile + * adds the lua loader using the byte-compilation cache + * adds the libs loader + * removes the default Neovim loader ::: {.note} The Lua module loader is *disabled* by default. Before setting this option, please From c7e49f370392a332cedb1855e3abb9406cae7c31 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 3 May 2025 08:40:51 +0300 Subject: [PATCH 52/55] flake: bump inputs --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 65243865..307d3d7a 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1745705214, - "narHash": "sha256-XGfaHbFI4vvDuaoVO3IFYZKezXIO8rhUaMCGcjY71Ac=", + "lastModified": 1746230955, + "narHash": "sha256-X32sM3RQ3X2y6PzfNnX3rhUAlhuITdDOdfSrwZXjlsQ=", "owner": "Gerg-L", "repo": "mnw", - "rev": "c1f4587db4c53dcefa432c46c7a899a116d8e924", + "rev": "2a1678ba8e4807bd855dd0da94ea2bef5bca733d", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1746152631, + "narHash": "sha256-zBuvmL6+CUsk2J8GINpyy8Hs1Zp4PP6iBWSmZ4SCQ/s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "032bc6539bd5f14e9d0c51bd79cfe9a055b094c3", "type": "github" }, "original": { From eae1f306b88b6da72e7d2d79b9ffcb1527cf9c41 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 3 May 2025 08:40:58 +0300 Subject: [PATCH 53/55] pins: bump all plugins --- npins/sources.json | 164 ++++++++++++++++++++++----------------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 04c35ede..be2b74bb 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -50,10 +50,10 @@ "version_upper_bound": null, "release_prefix": null, "submodules": false, - "version": "v1.1.1", - "revision": "fe2e1d3e4498d60c5ce7440ff60f79f0920e34bf", - "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v1.1.1", - "hash": "0l2m4162vk6xqrx5v0zh1b5p6wrr1jailq1995f101isyjygikan" + "version": "v1.2.0", + "revision": "d72a826e1961e14f91d8867d10a27a89c5cfe748", + "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v1.2.0", + "hash": "01phyx7y26p2123xpdp0zfp45rc8f014a8myxn2ga71m514vr9vc" }, "blink-cmp-spell": { "type": "Git", @@ -103,9 +103,9 @@ }, "branch": "main", "submodules": false, - "revision": "89c4d158bc6d6ca03b4059452f2f9ffaa850db8a", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/89c4d158bc6d6ca03b4059452f2f9ffaa850db8a.tar.gz", - "hash": "04xh5hzbzvm0nvipsy0cw7k1vb1kcrb09xiw0j66cqddjvvpv6zk" + "revision": "0a2c3c1ce8c3c56e7490cae835a981d5dbeb472c", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/0a2c3c1ce8c3c56e7490cae835a981d5dbeb472c.tar.gz", + "hash": "11wc0qdalz7fb6zpdvrdib1bx3qyvcbn3hr0h57plspln55rjhl5" }, "bufdelete-nvim": { "type": "Git", @@ -129,9 +129,9 @@ }, "branch": "main", "submodules": false, - "revision": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429", - "url": "https://github.com/catppuccin/nvim/archive/5b5e3aef9ad7af84f463d17b5479f06b87d5c429.tar.gz", - "hash": "0jmrwag2dx4b1g9x32xwxcr8y0l159hqks09z5miy99wav6dy7z2" + "revision": "b7bbdf93b42866f166af98d39a2563eedb7cabac", + "url": "https://github.com/catppuccin/nvim/archive/b7bbdf93b42866f166af98d39a2563eedb7cabac.tar.gz", + "hash": "0f8wcpig84kihbz31w0hap4qs5gsdvch4sk2krn29v3k5bh3kcv0" }, "ccc-nvim": { "type": "Git", @@ -272,9 +272,9 @@ }, "branch": "main", "submodules": false, - "revision": "c861811f8b825d30c0343951336d2bb8c8f6d990", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/c861811f8b825d30c0343951336d2bb8c8f6d990.tar.gz", - "hash": "0a1mzwh07lhrx893w7xdlhgiivbrwqp7a0b9wkdrna99x8kd9d77" + "revision": "e55bbf5f6969ab41414d3fd68011366d3b80d024", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/e55bbf5f6969ab41414d3fd68011366d3b80d024.tar.gz", + "hash": "12jas52gh1dl33ir0bkxpqnfxjdkwh7h03qvfk1b3qk2fmr0abqn" }, "codewindow-nvim": { "type": "Git", @@ -350,9 +350,9 @@ }, "branch": "main", "submodules": false, - "revision": "73d2c590c74a0c582144987a4decb4a642755859", - "url": "https://github.com/Saecki/crates.nvim/archive/73d2c590c74a0c582144987a4decb4a642755859.tar.gz", - "hash": "08dyl4blgi0lb3s0jbl4jcpr4j1ncyrdvxjkrqmhqcg6bmwl7iqy" + "revision": "2c8f4fab02e3e9ea42c6ad9b547e4207a914a397", + "url": "https://github.com/Saecki/crates.nvim/archive/2c8f4fab02e3e9ea42c6ad9b547e4207a914a397.tar.gz", + "hash": "0ddlm94v3gh1znacghvfpfmkgv6js9i62gf7mlqcrpz8snpf879s" }, "csharpls-extended-lsp-nvim": { "type": "Git", @@ -363,9 +363,9 @@ }, "branch": "master", "submodules": false, - "revision": "53c6dfc9790d262edd3d6a4483294bedf53d70f5", - "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/53c6dfc9790d262edd3d6a4483294bedf53d70f5.tar.gz", - "hash": "0hy3jaq5lq72yfvy77hijp8wzpbad7a1xfwrdljzbpm4w5j59dm2" + "revision": "c1edd1eaad2e649d3de8121337e3c515ac6db46e", + "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/c1edd1eaad2e649d3de8121337e3c515ac6db46e.tar.gz", + "hash": "03sjrkay6c6ivd9zpm7isa9izxsvspkvbvy7f61nl020splhbl9m" }, "dashboard-nvim": { "type": "Git", @@ -376,9 +376,9 @@ }, "branch": "master", "submodules": false, - "revision": "b0551fae871fc39454a67cca1adcf76fbe2f61f9", - "url": "https://github.com/glepnir/dashboard-nvim/archive/b0551fae871fc39454a67cca1adcf76fbe2f61f9.tar.gz", - "hash": "0m67ij62dwnzyspyckhqvcsk81nvc16gx8zphghw4w2w4vl9lsrj" + "revision": "591b5b29e2f17b97496ec3179f6ecd08bb8502cc", + "url": "https://github.com/glepnir/dashboard-nvim/archive/591b5b29e2f17b97496ec3179f6ecd08bb8502cc.tar.gz", + "hash": "1f9ii3scd3zh4fch6h0mfmnfjx2fk6y4v3qc0cijk1vnyp2fm9qc" }, "diffview-nvim": { "type": "Git", @@ -454,9 +454,9 @@ }, "branch": "main", "submodules": false, - "revision": "2f2e8d7010a0e5e725957828476b4e1625eaf82c", - "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/2f2e8d7010a0e5e725957828476b4e1625eaf82c.tar.gz", - "hash": "0m2qplldlcgzb6n5lwnwiac5n56zpyf3df015abfwrwba95zflfv" + "revision": "41545d9d02a53d03b5f4da5881e8f30a7dc16031", + "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/41545d9d02a53d03b5f4da5881e8f30a7dc16031.tar.gz", + "hash": "1is587xa1b2fim4s3qc13ggwgpm02y4dmh64l4xjh6gyilh3fmkb" }, "fidget-nvim": { "type": "Git", @@ -506,9 +506,9 @@ }, "branch": "main", "submodules": false, - "revision": "fc8f183479a472df60aa86f00e295462f2308178", - "url": "https://github.com/rafamadriz/friendly-snippets/archive/fc8f183479a472df60aa86f00e295462f2308178.tar.gz", - "hash": "1clmyxkw0gk9p9j72d75byws75vi3r7d04wica2dq5i0zkk49b27" + "revision": "572f5660cf05f8cd8834e096d7b4c921ba18e175", + "url": "https://github.com/rafamadriz/friendly-snippets/archive/572f5660cf05f8cd8834e096d7b4c921ba18e175.tar.gz", + "hash": "08q7vs7p4grav819b6hl5y9zla8bbb461b6m1w0mjz6n6rqjjc0p" }, "fzf-lua": { "type": "Git", @@ -519,9 +519,9 @@ }, "branch": "main", "submodules": false, - "revision": "b11467c3fbfe48e4a815e4909f5c4e5b413ce6d0", - "url": "https://github.com/ibhagwan/fzf-lua/archive/b11467c3fbfe48e4a815e4909f5c4e5b413ce6d0.tar.gz", - "hash": "1yjfyz0fchibyb6wnnyxarn2v4fxxfvf9vy1pyvfc7mz5b4mzwc2" + "revision": "1cc70fb29e63ff26acba1e0cbca04705f8a485f1", + "url": "https://github.com/ibhagwan/fzf-lua/archive/1cc70fb29e63ff26acba1e0cbca04705f8a485f1.tar.gz", + "hash": "032y3djil7bsb2h0sv5a0a1qg805j5p2jxxp01jcpmn870b6mcjd" }, "gesture-nvim": { "type": "Git", @@ -584,9 +584,9 @@ }, "branch": "main", "submodules": false, - "revision": "9cd665f46ab7af2e49d140d328b8e72ea1cf511b", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/9cd665f46ab7af2e49d140d328b8e72ea1cf511b.tar.gz", - "hash": "110ykgvd3hbjq8ilz1yvfcic1jpqzyz4r13dswmpv7nvsi7a2lb5" + "revision": "1796c7cedfe7e5dd20096c5d7b8b753d8f8d22eb", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/1796c7cedfe7e5dd20096c5d7b8b753d8f8d22eb.tar.gz", + "hash": "0xzmj3z3rd1zxv5hc87ncmnrzm6653ffaif9xkpvnc3n8l81ybsn" }, "glow-nvim": { "type": "Git", @@ -610,9 +610,9 @@ }, "branch": "main", "submodules": false, - "revision": "c54db7f7e67832fbdd0ac14633f62c8a6997ddcf", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/c54db7f7e67832fbdd0ac14633f62c8a6997ddcf.tar.gz", - "hash": "0i7dh2d3l1w6bga6gpfssam7w1qkd84q3cxyscdfsf4j9z4b62l2" + "revision": "91a0f8e460197a521d42a2e84a7a2a4010be4bbb", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/91a0f8e460197a521d42a2e84a7a2a4010be4bbb.tar.gz", + "hash": "1bmxps0wawyvwyzcwzdxbf1wcqx6v7h6afj3yzgb38gz649wr8q7" }, "harpoon": { "type": "Git", @@ -636,9 +636,9 @@ }, "branch": "master", "submodules": false, - "revision": "fda0e5082ecc1c9e892f38b715d6f61e8829081d", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/fda0e5082ecc1c9e892f38b715d6f61e8829081d.tar.gz", - "hash": "0hi0ww7q0j042ssjk7x3d4s4vaninawpw3s0yrv1c4l1q5v6gnz1" + "revision": "3bec28d8b0006be596497a5e1a03bda6ef6131cf", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/3bec28d8b0006be596497a5e1a03bda6ef6131cf.tar.gz", + "hash": "1kf3w7x8awa4iiw7ab8xfjh6fq47yvv6h2rmfw0jf8s99fvgarj2" }, "highlight-undo-nvim": { "type": "Git", @@ -834,9 +834,9 @@ }, "branch": "master", "submodules": false, - "revision": "c9b9a22904c97d0eb69ccb9bab76037838326817", - "url": "https://github.com/L3MON4D3/LuaSnip/archive/c9b9a22904c97d0eb69ccb9bab76037838326817.tar.gz", - "hash": "03anxdspqz7ylq4239jyr9y51mw5qw1lkccyvfhj6wfk43jjdryx" + "revision": "7351d673f430e89f11962dc45b7360d6a0a26d2d", + "url": "https://github.com/L3MON4D3/LuaSnip/archive/7351d673f430e89f11962dc45b7360d6a0a26d2d.tar.gz", + "hash": "0dd42ss93cppq3cp27336gail955lckqqc6bafkmawplxh93qn1q" }, "lz-n": { "type": "Git", @@ -1477,9 +1477,9 @@ }, "branch": "main", "submodules": false, - "revision": "299e174c3b8373c9c1f9be0bc3967c852712d0f3", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/299e174c3b8373c9c1f9be0bc3967c852712d0f3.tar.gz", - "hash": "0vm7hbcqj548pvl9vfmzsgpx73lmrnmhp399bprizg87zn73m005" + "revision": "71bfdeddc90225e281ce34c378dc1b5914f5018d", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/71bfdeddc90225e281ce34c378dc1b5914f5018d.tar.gz", + "hash": "0cm4y2idpmf7i6daa4wl5b6n5ldzqr3pqmh29rc645c1xk2y0b80" }, "neocord": { "type": "Git", @@ -1503,9 +1503,9 @@ }, "branch": "main", "submodules": false, - "revision": "35da593c55d78086a3203ee3e6d749fafe2e4e73", - "url": "https://github.com/nvim-neorg/neorg/archive/35da593c55d78086a3203ee3e6d749fafe2e4e73.tar.gz", - "hash": "0kxygwpfffa0blcy54g7cvm5laj77q0f72p69s43j9dpsps1h63y" + "revision": "8fdd9b2986acfb4ce310bebfc338111793862f00", + "url": "https://github.com/nvim-neorg/neorg/archive/8fdd9b2986acfb4ce310bebfc338111793862f00.tar.gz", + "hash": "0xv3aasbhambywp6idhz44nlsh3hlarw3j7wwx7wn1whm6xbwvf6" }, "neorg-telescope": { "type": "Git", @@ -1581,9 +1581,9 @@ }, "branch": "main", "submodules": false, - "revision": "751349f21bdf1acf7af091fead456866bf9a7e7d", - "url": "https://github.com/nvimtools/none-ls.nvim/archive/751349f21bdf1acf7af091fead456866bf9a7e7d.tar.gz", - "hash": "1zhqyjs914ib1yq42xq3aphw8pl4168h2k3ybm92z00ahi51kbqn" + "revision": "a49f5a79cdb76e0dc1a98899c8598f4db014c5e7", + "url": "https://github.com/nvimtools/none-ls.nvim/archive/a49f5a79cdb76e0dc1a98899c8598f4db014c5e7.tar.gz", + "hash": "0x16saxsr3w3ivqpdjg05bkyfxzsiyfpsiwhyzsvqxg1qnkda3b2" }, "nord": { "type": "Git", @@ -1763,9 +1763,9 @@ }, "branch": "master", "submodules": false, - "revision": "641e567f975feab3815b47c7d29e6148e07afa77", - "url": "https://github.com/neovim/nvim-lspconfig/archive/641e567f975feab3815b47c7d29e6148e07afa77.tar.gz", - "hash": "1238hk6v3mm6hzjbipz60rva7crv95h2vzg6ph9wzplq52kzryav" + "revision": "46434074f188e6bfccf9d9153dd8be6b1381498b", + "url": "https://github.com/neovim/nvim-lspconfig/archive/46434074f188e6bfccf9d9153dd8be6b1381498b.tar.gz", + "hash": "0h13n1vjw6v8gp41yfc6qffbwwrxw81vcilkmxx9sim6671w5pzp" }, "nvim-metals": { "type": "Git", @@ -1789,9 +1789,9 @@ }, "branch": "master", "submodules": false, - "revision": "f22bac988f2dd073601d75ba39ea5636ab6e38cb", - "url": "https://github.com/SmiteshP/nvim-navbuddy/archive/f22bac988f2dd073601d75ba39ea5636ab6e38cb.tar.gz", - "hash": "034pmg403y0y1fxnb1jv291mr016bx1vn68y543v6v4dpbdlr7di" + "revision": "a34786c77a528519f6b8a142db7609f6e387842d", + "url": "https://github.com/SmiteshP/nvim-navbuddy/archive/a34786c77a528519f6b8a142db7609f6e387842d.tar.gz", + "hash": "0b6bazh531bixskpmmpkidqii4n3m7n2cp9bmzml5wb0wibazcac" }, "nvim-navic": { "type": "Git", @@ -1802,9 +1802,9 @@ }, "branch": "master", "submodules": false, - "revision": "39231352aec0d1e09cebbffdd9dc20a5dc691ffe", - "url": "https://github.com/SmiteshP/nvim-navic/archive/39231352aec0d1e09cebbffdd9dc20a5dc691ffe.tar.gz", - "hash": "1xj2bzax8hynm2x9zbvsaxv1j22chklyygzm1kbqxxs077qn45ws" + "revision": "d0a8c17c4dc721b00bc2ac305c6ffbb036beeb74", + "url": "https://github.com/SmiteshP/nvim-navic/archive/d0a8c17c4dc721b00bc2ac305c6ffbb036beeb74.tar.gz", + "hash": "0mxsnwvrjirpy2ichsilx6207z55xi42syg5d3fdgs2r1p1npggc" }, "nvim-neoclip-lua": { "type": "Git", @@ -1919,9 +1919,9 @@ }, "branch": "main", "submodules": false, - "revision": "d4c8bdb06b7a589f004a53bf710196967752c63d", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/d4c8bdb06b7a589f004a53bf710196967752c63d.tar.gz", - "hash": "11zcr6vvj6gm5di63w55ccvwf2x7his8v9v8bingsz6l6n79dk6v" + "revision": "cac999ec9f6302d2fd4ad8a846bf8f731af6e7cf", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/cac999ec9f6302d2fd4ad8a846bf8f731af6e7cf.tar.gz", + "hash": "14lvlv1wmbpw0dpyfz3gq7k760ip1903w5ibajqiaflw06afv4pn" }, "nvim-web-devicons": { "type": "Git", @@ -1932,9 +1932,9 @@ }, "branch": "master", "submodules": false, - "revision": "50b5b06bff13a9b4eab946de7c7033649a6618a1", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/50b5b06bff13a9b4eab946de7c7033649a6618a1.tar.gz", - "hash": "1jsrwcsyjwlzk2l3x417pr6s6cq4zk6b6k417hhmrprrw66ajdb6" + "revision": "2c2b4eafce6cdd0cb165036faa17396eff18f847", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/2c2b4eafce6cdd0cb165036faa17396eff18f847.tar.gz", + "hash": "11yp02zg60gdmqa6rdk3rjn704k2kvjcs41w85y01b68k36w7pw2" }, "obsidian-nvim": { "type": "Git", @@ -1997,9 +1997,9 @@ }, "branch": "master", "submodules": false, - "revision": "27ab1cf9e7ae142f9e9ffb218be50dd920f04cb3", - "url": "https://github.com/nvim-orgmode/orgmode/archive/27ab1cf9e7ae142f9e9ffb218be50dd920f04cb3.tar.gz", - "hash": "176v9y36258jm8h3aaph57wgr6s7rgmgdnq9hgwialwn4bygfym0" + "revision": "15d66ead1285d99f8a21c4ef4874ac62e9320fe6", + "url": "https://github.com/nvim-orgmode/orgmode/archive/15d66ead1285d99f8a21c4ef4874ac62e9320fe6.tar.gz", + "hash": "05h766qj1vid5rs1mv8aiv6rsfrp0md9605sfr9vycip1rd8csgy" }, "otter-nvim": { "type": "Git", @@ -2127,9 +2127,9 @@ }, "branch": "main", "submodules": false, - "revision": "78ffe3b0500bbc7e37fabde723d96661538e8b32", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/78ffe3b0500bbc7e37fabde723d96661538e8b32.tar.gz", - "hash": "00dn9cpdvm7dy4xyhaij2rs0g0l926cqvjn03v06sray3adbyij5" + "revision": "57c7f33f276876c994898683680da9e3a3590d0d", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/57c7f33f276876c994898683680da9e3a3590d0d.tar.gz", + "hash": "1lfypdqyka5idrkr3w62vx7j6p75r3ld7sz5i40y41svglnxyrsj" }, "rose-pine": { "type": "Git", @@ -2140,9 +2140,9 @@ }, "branch": "main", "submodules": false, - "revision": "96ff3993a67356ee85d1cdab9be652cdc1c5d1ac", - "url": "https://github.com/rose-pine/neovim/archive/96ff3993a67356ee85d1cdab9be652cdc1c5d1ac.tar.gz", - "hash": "0p712rivi5i3zlrigm86p8vrn1nvg4qils86snlw717cq3scj9gj" + "revision": "614892e32e94378d976a238f287532cfe790c1fe", + "url": "https://github.com/rose-pine/neovim/archive/614892e32e94378d976a238f287532cfe790c1fe.tar.gz", + "hash": "1pi5z81xkgkx8yyfjfjj0hg66v2zcj04gxxbf5q2lqz70xcs3cgk" }, "rtp-nvim": { "type": "Git", @@ -2179,9 +2179,9 @@ }, "branch": "master", "submodules": false, - "revision": "3f2b7a94b7fa3c0f301dfa9644c94b543000efc2", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/3f2b7a94b7fa3c0f301dfa9644c94b543000efc2.tar.gz", - "hash": "1y3x6m3yglkyv37xgli9k3dlw59yy3jbsp1phx75xqma1480dzy5" + "revision": "4b8c2edb55f548ed9c683f88dde2ffb235413b03", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/4b8c2edb55f548ed9c683f88dde2ffb235413b03.tar.gz", + "hash": "0d3kwvwj5cppwypvg8iasn5f8rviqyskkgh1wafs7chjm32dm4gb" }, "smartcolumn-nvim": { "type": "Git", @@ -2377,9 +2377,9 @@ }, "branch": "master", "submodules": false, - "revision": "f985f5a4fbc410c9e5367f6b5863a8fa502e516d", - "url": "https://github.com/RRethy/vim-illuminate/archive/f985f5a4fbc410c9e5367f6b5863a8fa502e516d.tar.gz", - "hash": "0igx2i4k59vadhw7kgqvxjw9594n8p2n9yqszif9by8xq5gsd7g6" + "revision": "fbc16dee336d8cc0d3d2382ea4a53f4a29725abf", + "url": "https://github.com/RRethy/vim-illuminate/archive/fbc16dee336d8cc0d3d2382ea4a53f4a29725abf.tar.gz", + "hash": "072kgd7h7cjq4hskczxl60nsx3jpww9l7ypafcwk833ypahz899i" }, "vim-markdown": { "type": "Git", From 5278dab32b343762246dd8bfeaa34f4a21887bd8 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 3 May 2025 08:41:27 +0300 Subject: [PATCH 54/55] blink: 1.0.0 -> 1.2.0 --- flake/legacyPackages/blink-cmp.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake/legacyPackages/blink-cmp.nix b/flake/legacyPackages/blink-cmp.nix index 435cb290..60dce9de 100644 --- a/flake/legacyPackages/blink-cmp.nix +++ b/flake/legacyPackages/blink-cmp.nix @@ -14,7 +14,7 @@ env.RUSTC_BOOTSTRAP = true; useFetchCargoVendor = true; - cargoHash = "sha256-MWElqh7ENJ6CbLOnvz0DsP5YYu+e+y12GSUOfW1IKGU="; + cargoHash = "sha256-IDoDugtNWQovfSstbVMkKHLBXKa06lxRWmywu4zyS3M="; nativeBuildInputs = [gitMinimal]; }; From f7c35ab3422b35f3af422f4f896bd79a9ba30ee4 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 3 May 2025 08:51:48 +0300 Subject: [PATCH 55/55] packages: switch to blink-cmp in maximal configuration --- configuration.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/configuration.nix b/configuration.nix index 011d6fae..10d6bbc7 100644 --- a/configuration.nix +++ b/configuration.nix @@ -23,7 +23,7 @@ isMaximal: { lightbulb.enable = true; lspsaga.enable = false; trouble.enable = true; - lspSignature.enable = true; + lspSignature.enable = !isMaximal; # conflicts with blink in maximal otter-nvim.enable = isMaximal; nvim-docs-view.enable = isMaximal; }; @@ -124,7 +124,15 @@ isMaximal: { autopairs.nvim-autopairs.enable = true; - autocomplete.nvim-cmp.enable = true; + # nvf provides various autocomplete options. The tried and tested nvim-cmp + # is enabled in default package, because it does not trigger a build. We + # enable blink-cmp in maximal because it needs to build its rust fuzzy + # matcher library. + autocomplete = { + nvim-cmp.enable = !isMaximal; + blink-cmp.enable = isMaximal; + }; + snippets.luasnip.enable = true; filetree = {