From 54476b5a8bea713eb0480b4f3a66478cc15ef813 Mon Sep 17 00:00:00 2001 From: Ben Mayer <90480641+Libadoxon@users.noreply.github.com> Date: Thu, 20 Feb 2025 17:50:26 +0100 Subject: [PATCH 01/70] languages/go: add gofmt, golines and gofumpt formatter (#654) --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/languages/go.nix | 58 ++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 621e976f..63be2209 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -170,3 +170,4 @@ [Libadoxon](https://github.com/Libadoxon) - Add [git-conflict](https://github.com/akinsho/git-conflict.nvim) plugin for resolving git conflicts +- Add formatters for go: [gofmt](https://go.dev/blog/gofmt), [golines](https://github.com/segmentio/golines) and [gofumpt](https://github.com/mvdan/gofumpt) diff --git a/modules/plugins/languages/go.nix b/modules/plugins/languages/go.nix index e0eded0d..3ac9ae77 100644 --- a/modules/plugins/languages/go.nix +++ b/modules/plugins/languages/go.nix @@ -34,6 +34,43 @@ }; }; + defaultFormat = "gofmt"; + formats = { + gofmt = { + package = pkgs.go; + nullConfig = '' + table.insert( + ls_sources, + null_ls.builtins.formatting.gofmt.with({ + command = "${cfg.format.package}/bin/gofmt", + }) + ) + ''; + }; + gofumpt = { + package = pkgs.gofumpt; + nullConfig = '' + table.insert( + ls_sources, + null_ls.builtins.formatting.gofumpt.with({ + command = "${cfg.format.package}/bin/gofumpt", + }) + ) + ''; + }; + golines = { + package = pkgs.golines; + nullConfig = '' + table.insert( + ls_sources, + null_ls.builtins.formatting.golines.with({ + command = "${cfg.format.package}/bin/golines", + }) + ) + ''; + }; + }; + defaultDebugger = "delve"; debuggers = { delve = { @@ -67,6 +104,22 @@ in { }; }; + format = { + enable = mkEnableOption "Go formatting" // {default = config.vim.languages.enableFormat;}; + + type = mkOption { + description = "Go formatter to use"; + type = enum (attrNames formats); + default = defaultFormat; + }; + + package = mkOption { + description = "Go formatter package"; + type = package; + default = formats.${cfg.format.type}.package; + }; + }; + dap = { enable = mkOption { description = "Enable Go Debug Adapter via nvim-dap-go plugin"; @@ -99,6 +152,11 @@ in { vim.lsp.lspconfig.sources.go-lsp = servers.${cfg.lsp.server}.lspConfig; }) + (mkIf cfg.format.enable { + vim.lsp.null-ls.enable = true; + vim.lsp.null-ls.sources.go-format = formats.${cfg.format.type}.nullConfig; + }) + (mkIf cfg.dap.enable { vim = { startPlugins = ["nvim-dap-go"]; From 4aac51ec19fef16703bc6f3c27f2482071025b12 Mon Sep 17 00:00:00 2001 From: MaxMur <31189199+TheMaxMur@users.noreply.github.com> Date: Fri, 21 Feb 2025 16:29:45 +0300 Subject: [PATCH 02/70] languages/flutter: Update pin name for match (#658) --- modules/wrapper/build/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index 1f14b3a6..d145f798 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -45,7 +45,7 @@ pluginBuilders = { nvim-treesitter = buildTreesitterPlug config.vim.treesitter.grammars; flutter-tools-patched = buildPlug { - pname = "flutter-tools"; + pname = "flutter-tools-nvim"; patches = [./patches/flutter-tools.patch]; # Disable failing require check hook checks From 5fbc72d697e53c8d4ff3cb8b7bbc60b6c96ffd02 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> Date: Fri, 21 Feb 2025 14:44:05 +0100 Subject: [PATCH 03/70] git/git-conflict: avoid shadowing builtin keybinds (#651) * git/git-conflict: avoid shadowing builtin keybinds * docs: update release notes --------- Co-authored-by: raf --- docs/release-notes/rl-0.8.md | 5 +++++ modules/plugins/git/git-conflict/git-conflict.nix | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 63be2209..93e93e8d 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -1,5 +1,10 @@ # Release 0.8 {#sec-release-0.8} +## Breaking changes + +- `git-conflict` keybinds are now prefixed with `` to avoid conflicting + with builtins + [NotAShelf](https://github.com/notashelf): [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim diff --git a/modules/plugins/git/git-conflict/git-conflict.nix b/modules/plugins/git/git-conflict/git-conflict.nix index bffb926c..44ab79c5 100644 --- a/modules/plugins/git/git-conflict/git-conflict.nix +++ b/modules/plugins/git/git-conflict/git-conflict.nix @@ -12,10 +12,10 @@ in { setupOpts = mkPluginSetupOption "git-conflict" {}; mappings = { - ours = mkMappingOption "Choose Ours [Git-Conflict]" "co"; - theirs = mkMappingOption "Choose Theirs [Git-Conflict]" "ct"; - both = mkMappingOption "Choose Both [Git-Conflict]" "cb"; - none = mkMappingOption "Choose None [Git-Conflict]" "c0"; + ours = mkMappingOption "Choose Ours [Git-Conflict]" "co"; + theirs = mkMappingOption "Choose Theirs [Git-Conflict]" "ct"; + both = mkMappingOption "Choose Both [Git-Conflict]" "cb"; + none = mkMappingOption "Choose None [Git-Conflict]" "c0"; prevConflict = mkMappingOption "Go to the previous Conflict [Git-Conflict]" "]x"; nextConflict = mkMappingOption "Go to the next Conflict [Git-Conflict]" "[x"; }; From b9941583fdf452566d5694eb8106a19202ec3f62 Mon Sep 17 00:00:00 2001 From: Joe Hanson Date: Sat, 22 Feb 2025 10:41:38 -0600 Subject: [PATCH 04/70] utility/multicursors-nvim: init #610) * feat: add multicursors-nvim plugin multicursors-nvim with hydra dependency and static config. * add most used default options * add more descriptions and refine * disable debug mode * maximal by default * add multicursors addition to changelog * Update modules/plugins/hydra/hydra.nix place hydra plugin in utility folder Co-authored-by: raf * clean up hydra config and implementation * mention hydra dependency addition * update to using npins instead of flake based additions. --------- Co-authored-by: raf Co-authored-by: raf --- configuration.nix | 2 +- docs/release-notes/rl-0.8.md | 6 + modules/plugins/hydra/config.nix | 22 +++ modules/plugins/hydra/default.nix | 6 + modules/plugins/hydra/hydra.nix | 7 + modules/plugins/utility/default.nix | 1 + .../plugins/utility/multicursors/config.nix | 36 +++++ .../plugins/utility/multicursors/default.nix | 6 + .../utility/multicursors/multicursors.nix | 126 ++++++++++++++++++ npins/sources.json | 30 +++++ 10 files changed, 241 insertions(+), 1 deletion(-) create mode 100644 modules/plugins/hydra/config.nix create mode 100644 modules/plugins/hydra/default.nix create mode 100644 modules/plugins/hydra/hydra.nix create mode 100644 modules/plugins/utility/multicursors/config.nix create mode 100644 modules/plugins/utility/multicursors/default.nix create mode 100644 modules/plugins/utility/multicursors/multicursors.nix diff --git a/configuration.nix b/configuration.nix index c7b0f288..35dffca5 100644 --- a/configuration.nix +++ b/configuration.nix @@ -183,7 +183,7 @@ isMaximal: { leap.enable = true; precognition.enable = isMaximal; }; - + multicursors.enable = isMaximal; images = { image-nvim.enable = false; }; diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 93e93e8d..a5a791d8 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -159,6 +159,12 @@ - Add support for [nixd](https://github.com/nix-community/nixd) language server. +[jahanson](https://github.com/jahanson): + +- Add [multicursors.nvim](https://github.com/smoka7/multicursors.nvim) to + available plugins, under `vim.utility.multicursors`. +- Add [hydra.nvim](https://github.com/nvimtools/hydra.nvim) as dependency for + `multicursors.nvim` and lazy loads by default. [folospior](https://github.com/folospior) - Fix plugin name for lsp/lspkind. diff --git a/modules/plugins/hydra/config.nix b/modules/plugins/hydra/config.nix new file mode 100644 index 00000000..bc5b2de8 --- /dev/null +++ b/modules/plugins/hydra/config.nix @@ -0,0 +1,22 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + cfg = config.vim.hydra; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = []; + lazy.plugins.hydra = { + package = "hydra.nvim"; + setupModule = "hydra"; + inherit (cfg) setupOpts; + + event = ["DeferredUIEnter"]; + cmd = ["MCstart" "MCvisual" "MCclear" "MCpattern" "MCvisualPattern" "MCunderCursor"]; + }; + }; + }; +} diff --git a/modules/plugins/hydra/default.nix b/modules/plugins/hydra/default.nix new file mode 100644 index 00000000..d35f4d7c --- /dev/null +++ b/modules/plugins/hydra/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./hydra.nix + ./config.nix + ]; +} diff --git a/modules/plugins/hydra/hydra.nix b/modules/plugins/hydra/hydra.nix new file mode 100644 index 00000000..59287a7b --- /dev/null +++ b/modules/plugins/hydra/hydra.nix @@ -0,0 +1,7 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; +in { + options.vim.utility.hydra = { + enable = mkEnableOption "utility for creating custom submodes and menus [nvimtools/hydra.nvim]"; + }; +} diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 372a4f53..4abb4515 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -8,6 +8,7 @@ ./icon-picker ./images ./motion + ./multicursors ./new-file-template ./outline ./preview diff --git a/modules/plugins/utility/multicursors/config.nix b/modules/plugins/utility/multicursors/config.nix new file mode 100644 index 00000000..8eaa3e28 --- /dev/null +++ b/modules/plugins/utility/multicursors/config.nix @@ -0,0 +1,36 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + cfg = config.vim.utility.multicursors; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["hydra-nvim"]; + lazy.plugins."multicursors-nvim" = { + package = "multicursors-nvim"; + setupModule = "multicursors"; + inherit (cfg) setupOpts; + + event = ["DeferredUIEnter"]; + cmd = ["MCstart" "MCvisual" "MCclear" "MCpattern" "MCvisualPattern" "MCunderCursor"]; + keys = [ + { + mode = ["v" "n"]; + key = "mcs"; + action = ":MCstart"; + desc = "Create a selection for selected text or word under the cursor [multicursors.nvim]"; + } + { + mode = ["v" "n"]; + key = "mcp"; + action = ":MCpattern"; + desc = "Create a selection for pattern entered [multicursors.nvim]"; + } + ]; + }; + }; + }; +} diff --git a/modules/plugins/utility/multicursors/default.nix b/modules/plugins/utility/multicursors/default.nix new file mode 100644 index 00000000..a1ddac8e --- /dev/null +++ b/modules/plugins/utility/multicursors/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./multicursors.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/multicursors/multicursors.nix b/modules/plugins/utility/multicursors/multicursors.nix new file mode 100644 index 00000000..d533b8a9 --- /dev/null +++ b/modules/plugins/utility/multicursors/multicursors.nix @@ -0,0 +1,126 @@ +{lib, ...}: let + inherit (lib.types) bool int str; + inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.options) mkOption mkEnableOption; + hintConfig = {lib, ...}: { + options = { + float_opts = mkOption { + description = "The options for the floating hint window"; + type = lib.types.submodule { + options = { + border = mkOption { + type = lib.types.str; + default = "none"; + description = "The border style for the hint window"; + }; + }; + }; + }; + position = mkOption { + type = lib.types.str; + default = "bottom"; + description = "The position of the hint window"; + }; + }; + }; + generateHints = {lib, ...}: { + options = { + normal = mkOption { + type = lib.types.bool; + description = "Generate hints for the normal mode"; + default = true; + }; + insert = mkOption { + type = lib.types.bool; + description = "Generate hints for the insert mode"; + default = true; + }; + extend = mkOption { + type = lib.types.bool; + description = "Generate hints for the extend mode"; + default = true; + }; + config = mkOption { + description = "The configuration for generating hints for multicursors.nvim"; + type = lib.types.submodule { + options = { + column_count = mkOption { + type = lib.types.nullOr int; + description = "The number of columns to use for the hint window"; + default = null; + }; + max_hint_length = mkOption { + type = int; + description = "The maximum length of the hint"; + default = 25; + }; + }; + }; + default = { + column_count = null; + max_hint_length = 25; + }; + }; + }; + }; +in { + options.vim.utility.multicursors = { + enable = mkEnableOption "multicursors.nvim plugin (vscode like multiple cursors)"; + + setupOpts = mkPluginSetupOption "multicursors" { + DEBUG_MODE = mkOption { + type = bool; + default = false; + description = "Enable debug mode."; + }; + create_commands = mkOption { + type = bool; + default = true; + description = "Create Multicursor user commands"; + }; + updatetime = mkOption { + type = int; + default = 50; + description = "The time in milliseconds to wait before updating the cursor in insert mode"; + }; + nowait = mkOption { + type = bool; + description = "Don't wait for the cursor to move before updating the cursor"; + default = true; + }; + mode_keys = mkOption { + type = lib.types.attrsOf str; + description = "The keys to use for each mode"; + default = { + insert = "i"; + append = "a"; + change = "c"; + extend = "e"; + }; + }; + hint_config = mkOption { + type = lib.types.submodule hintConfig; + description = "The configuration for the hint window"; + default = { + float_opts = { + border = "none"; + }; + position = "bottom"; + }; + }; + generate_hints = mkOption { + type = lib.types.submodule generateHints; + description = "The configuration for generating hints"; + default = { + normal = true; + insert = true; + extend = true; + config = { + column_count = null; + max_hint_length = 25; + }; + }; + }; + }; + }; +} diff --git a/npins/sources.json b/npins/sources.json index d6fb562f..4bbaa056 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -507,6 +507,21 @@ "url": "https://github.com/phaazon/hop.nvim/archive/1a1eceafe54b5081eae4cb91c723abd1d450f34b.tar.gz", "hash": "08h18cam2yr57qvfsnf1bra28vbl6013wlchnr5crb757xw8aysa" }, + "hydra-nvim": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "nvimtools", + "repo": "hydra.nvim" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "version": "v1.0.2", + "revision": "8578056a2226ed49fc608167edc143a87f75d809", + "url": "https://api.github.com/repos/nvimtools/hydra.nvim/tarball/v1.0.2", + "hash": "13f04pmqrfl65xx9bfkdak6ll57s94anaw7nqd0fm5hp50b7c6j3" + }, "icon-picker-nvim": { "type": "Git", "repository": { @@ -1202,6 +1217,21 @@ "url": "https://github.com/mvllow/modes.nvim/archive/c7a4b1b383606832aab150902719bd5eb5cdb2b0.tar.gz", "hash": "1hy3ghscf8hfmg487p9b8cwd0y8nsi8j24kq2ir3vhd82gqhl4ja" }, + "multicursors-nvim": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "smoka7", + "repo": "multicursors.nvim" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "version": "v2.0.0", + "revision": "782820896b1691ed664e4c24f1cd9793dcb33dfb", + "url": "https://api.github.com/repos/smoka7/multicursors.nvim/tarball/v2.0.0", + "hash": "171aysqsyapw434xkibxv69p5fkwha4addkqfdssdm0wq9n9cm4q" + }, "neo-tree-nvim": { "type": "Git", "repository": { From b248b5af59ffdfaf9f6fdd400a114f60718f0b31 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 22 Feb 2025 20:08:06 +0300 Subject: [PATCH 05/70] utility/multicursors: stylistic changes after #610 --- configuration.nix | 7 +- .../utility/multicursors/multicursors.nix | 68 +++++++++++-------- 2 files changed, 44 insertions(+), 31 deletions(-) diff --git a/configuration.nix b/configuration.nix index 35dffca5..692337db 100644 --- a/configuration.nix +++ b/configuration.nix @@ -173,17 +173,18 @@ isMaximal: { utility = { ccc.enable = false; vim-wakatime.enable = false; - icon-picker.enable = isMaximal; - surround.enable = isMaximal; diffview-nvim.enable = true; yanky-nvim.enable = false; + icon-picker.enable = isMaximal; + surround.enable = isMaximal; leetcode-nvim.enable = isMaximal; + multicursors.enable = isMaximal; + motion = { hop.enable = true; leap.enable = true; precognition.enable = isMaximal; }; - multicursors.enable = isMaximal; images = { image-nvim.enable = false; }; diff --git a/modules/plugins/utility/multicursors/multicursors.nix b/modules/plugins/utility/multicursors/multicursors.nix index d533b8a9..5ba35daf 100644 --- a/modules/plugins/utility/multicursors/multicursors.nix +++ b/modules/plugins/utility/multicursors/multicursors.nix @@ -1,61 +1,69 @@ {lib, ...}: let - inherit (lib.types) bool int str; - inherit (lib.nvim.types) mkPluginSetupOption; inherit (lib.options) mkOption mkEnableOption; - hintConfig = {lib, ...}: { + inherit (lib.types) attrsOf nullOr bool int str submodule; + inherit (lib.nvim.types) mkPluginSetupOption; + + hintConfig = { options = { float_opts = mkOption { description = "The options for the floating hint window"; - type = lib.types.submodule { + type = submodule { options = { border = mkOption { - type = lib.types.str; + type = str; default = "none"; description = "The border style for the hint window"; }; }; }; }; + position = mkOption { - type = lib.types.str; + type = str; default = "bottom"; description = "The position of the hint window"; }; }; }; - generateHints = {lib, ...}: { + + generateHints = { options = { normal = mkOption { - type = lib.types.bool; + type = bool; + default = true; description = "Generate hints for the normal mode"; - default = true; }; + insert = mkOption { - type = lib.types.bool; + type = bool; + default = true; description = "Generate hints for the insert mode"; - default = true; }; + extend = mkOption { - type = lib.types.bool; - description = "Generate hints for the extend mode"; + type = bool; default = true; + description = "Generate hints for the extend mode"; }; + config = mkOption { description = "The configuration for generating hints for multicursors.nvim"; - type = lib.types.submodule { + type = submodule { options = { column_count = mkOption { - type = lib.types.nullOr int; - description = "The number of columns to use for the hint window"; + type = nullOr int; default = null; + description = "The number of columns to use for the hint window"; }; + max_hint_length = mkOption { type = int; - description = "The maximum length of the hint"; default = 25; + description = "The maximum length of the hint"; }; }; }; + default = { column_count = null; max_hint_length = 25; @@ -65,7 +73,7 @@ }; in { options.vim.utility.multicursors = { - enable = mkEnableOption "multicursors.nvim plugin (vscode like multiple cursors)"; + enable = mkEnableOption "vscode like multiple cursors [multicursor.nvim]"; setupOpts = mkPluginSetupOption "multicursors" { DEBUG_MODE = mkOption { @@ -73,44 +81,47 @@ in { default = false; description = "Enable debug mode."; }; + create_commands = mkOption { type = bool; default = true; description = "Create Multicursor user commands"; }; + updatetime = mkOption { type = int; default = 50; description = "The time in milliseconds to wait before updating the cursor in insert mode"; }; + nowait = mkOption { type = bool; - description = "Don't wait for the cursor to move before updating the cursor"; default = true; + description = "Don't wait for the cursor to move before updating the cursor"; }; + mode_keys = mkOption { - type = lib.types.attrsOf str; - description = "The keys to use for each mode"; + type = attrsOf str; default = { insert = "i"; append = "a"; change = "c"; extend = "e"; }; + description = "The keys to use for each mode"; }; + hint_config = mkOption { - type = lib.types.submodule hintConfig; - description = "The configuration for the hint window"; + type = submodule hintConfig; default = { - float_opts = { - border = "none"; - }; + float_opts.border = "none"; position = "bottom"; }; + description = "The configuration for the hint window"; }; + generate_hints = mkOption { - type = lib.types.submodule generateHints; - description = "The configuration for generating hints"; + type = submodule generateHints; default = { normal = true; insert = true; @@ -120,6 +131,7 @@ in { max_hint_length = 25; }; }; + description = "The configuration for generating hints"; }; }; }; From 8eebd8c8a6617a1f9daa59e34caaa2e299ba0499 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 24 Feb 2025 16:55:05 +0300 Subject: [PATCH 06/70] utility/yazi-nvim: init --- modules/plugins/utility/default.nix | 3 +- modules/plugins/utility/yazi-nvim/config.nix | 32 +++++++++++++++++++ modules/plugins/utility/yazi-nvim/default.nix | 6 ++++ .../plugins/utility/yazi-nvim/yazi-nvim.nix | 26 +++++++++++++++ 4 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 modules/plugins/utility/yazi-nvim/config.nix create mode 100644 modules/plugins/utility/yazi-nvim/default.nix create mode 100644 modules/plugins/utility/yazi-nvim/yazi-nvim.nix diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 4abb4515..47579070 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -7,6 +7,7 @@ ./gestures ./icon-picker ./images + ./leetcode-nvim ./motion ./multicursors ./new-file-template @@ -16,6 +17,6 @@ ./telescope ./wakatime ./yanky-nvim - ./leetcode-nvim + ./yazi-nvim ]; } diff --git a/modules/plugins/utility/yazi-nvim/config.nix b/modules/plugins/utility/yazi-nvim/config.nix new file mode 100644 index 00000000..a781e5f0 --- /dev/null +++ b/modules/plugins/utility/yazi-nvim/config.nix @@ -0,0 +1,32 @@ +{ + options, + config, + pkgs, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.binds) mkKeymap; + + cfg = config.vim.utility.yazi-nvim; + keys = cfg.mappings; + + inherit (options.vim.utility.yazi-nvim) mappings; +in { + config = mkIf cfg.enable { + vim = { + lazy.plugins."yazi.nvim" = { + package = pkgs.vimPlugins.yazi-nvim; + setupModule = "yazi"; + inherit (cfg) setupOpts; + event = ["BufAdd" "VimEnter"]; + + keys = [ + (mkKeymap "n" keys.openYazi "Yazi" {desc = mappings.openYazi.description;}) + (mkKeymap "n" keys.openYaziDir "Yazi cwd" {desc = mappings.openYaziDir.description;}) + (mkKeymap "n" keys.yaziToggle "Yazi toggle" {desc = mappings.yaziToggle.description;}) + ]; + }; + }; + }; +} diff --git a/modules/plugins/utility/yazi-nvim/default.nix b/modules/plugins/utility/yazi-nvim/default.nix new file mode 100644 index 00000000..6da79794 --- /dev/null +++ b/modules/plugins/utility/yazi-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./yazi-nvim.nix + ]; +} diff --git a/modules/plugins/utility/yazi-nvim/yazi-nvim.nix b/modules/plugins/utility/yazi-nvim/yazi-nvim.nix new file mode 100644 index 00000000..9a83a1a8 --- /dev/null +++ b/modules/plugins/utility/yazi-nvim/yazi-nvim.nix @@ -0,0 +1,26 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.types) bool; + inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.nvim.binds) mkMappingOption; +in { + options.vim.utility.yazi-nvim = { + enable = mkEnableOption '' + companion plugin for the yazi terminal file manager [yazi-nvim] + ''; + + mappings = { + openYazi = mkMappingOption "Open yazi at the current file [yazi.nvim]" "-"; + openYaziDir = mkMappingOption "Open the file manager in nvim's working directory [yazi.nvim]" "cw"; + yaziToggle = mkMappingOption "Resume the last yazi session [yazi.nvim]" ""; + }; + + setupOpts = mkPluginSetupOption "yazi-nvim" { + open_for_directories = mkOption { + type = bool; + default = false; + description = "Whether to open Yazi instead of netrw"; + }; + }; + }; +} From 831a5db8face38e8281c6530b6ead17b5a3999dd Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 24 Feb 2025 16:56:15 +0300 Subject: [PATCH 07/70] utility/yanky-nvim: fix plugin setupOpts; assert when shada is disabled --- modules/plugins/utility/yanky-nvim/config.nix | 11 +++++++++++ modules/plugins/utility/yanky-nvim/yanky-nvim.nix | 11 ++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/modules/plugins/utility/yanky-nvim/config.nix b/modules/plugins/utility/yanky-nvim/config.nix index 138fd07d..4a74fa75 100644 --- a/modules/plugins/utility/yanky-nvim/config.nix +++ b/modules/plugins/utility/yanky-nvim/config.nix @@ -11,6 +11,7 @@ cfg = config.vim.utility.yanky-nvim; usingSqlite = cfg.setupOpts.ring.storage == "sqlite"; + usingShada = cfg.setupOpts.ring.storage == "shada"; in { config = mkIf cfg.enable { vim = { @@ -28,5 +29,15 @@ in { require("yanky").setup(${toLuaObject cfg.setupOpts}); ''; }; + + assertions = [ + { + assertion = usingShada && ((config.vim.options.shada or "") == ""); + message = '' + Yanky.nvim is configured to use 'shada' for the storage backend, but shada is disabled + in 'vim.options'. Please re-enable shada, or switch to a different backend. + ''; + } + ]; }; } diff --git a/modules/plugins/utility/yanky-nvim/yanky-nvim.nix b/modules/plugins/utility/yanky-nvim/yanky-nvim.nix index 95d6a211..72f55d93 100644 --- a/modules/plugins/utility/yanky-nvim/yanky-nvim.nix +++ b/modules/plugins/utility/yanky-nvim/yanky-nvim.nix @@ -1,13 +1,14 @@ {lib, ...}: let - inherit (lib.options) mkEnableOption mkOption; + inherit (lib.options) mkOption mkEnableOption; inherit (lib.types) enum; + inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.utility.yanky-nvim = { enable = mkEnableOption '' improved Yank and Put functionalities for Neovim [yanky-nvim] ''; - setupOpts = { + setupOpts = mkPluginSetupOption "yanky-nvim" { ring.storage = mkOption { type = enum ["shada" "sqlite" "memory"]; default = "shada"; @@ -15,11 +16,11 @@ in { description = '' storage mode for ring values. - - shada: this will save pesistantly using Neovim ShaDa feature. + - **shada**: this will save pesistantly using Neovim ShaDa feature. This means that history will be persisted between each session of Neovim. - - memory: each Neovim instance will have his own history and it will be + - **memory**: each Neovim instance will have his own history and it will be lost between sessions. - - sqlite: more reliable than `shada`, requires `sqlite.lua` as a dependency. + - **sqlite**: more reliable than `shada`, requires `sqlite.lua` as a dependency. nvf will add this dependency to `PATH` automatically. ''; }; From 9a199117ddd8bfa9c31b0d84e69337c85c792985 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 24 Feb 2025 16:59:17 +0300 Subject: [PATCH 08/70] docs: update release notes --- docs/release-notes/rl-0.8.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a5a791d8..c0165d30 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -10,6 +10,7 @@ [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim [render-markdown.nvim]: https://github.com/MeanderingProgrammer/render-markdown.nvim [yanky.nvim]: https://github.com/gbprod/yanky.nvim +[yazi.nvim]: https://github.com/mikavilpas/yazi.nvim - Add [typst-preview.nvim] under `languages.typst.extensions.typst-preview-nvim`. @@ -46,6 +47,11 @@ - Add [yanky.nvim] to available plugins, under `vim.utility.yanky-nvim`. +- Fix plugin `setupOpts` for yanky.nvim and assert if shada is configured as a + backend while shada is disabled in Neovim options. + +- Add [yazi.nvim] as a companion plugin for Yazi, the terminal file manager. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim @@ -154,7 +160,6 @@ Inspiration from `vim.languages.clang.dap` implementation. - Add [leetcode.nvim] plugin under `vim.utility.leetcode-nvim`. - [nezia1](https://github.com/nezia1) - Add support for [nixd](https://github.com/nix-community/nixd) language server. @@ -165,7 +170,7 @@ available plugins, under `vim.utility.multicursors`. - Add [hydra.nvim](https://github.com/nvimtools/hydra.nvim) as dependency for `multicursors.nvim` and lazy loads by default. -[folospior](https://github.com/folospior) + [folospior](https://github.com/folospior) - Fix plugin name for lsp/lspkind. @@ -180,5 +185,8 @@ [Libadoxon](https://github.com/Libadoxon) -- Add [git-conflict](https://github.com/akinsho/git-conflict.nvim) plugin for resolving git conflicts -- Add formatters for go: [gofmt](https://go.dev/blog/gofmt), [golines](https://github.com/segmentio/golines) and [gofumpt](https://github.com/mvdan/gofumpt) +- Add [git-conflict](https://github.com/akinsho/git-conflict.nvim) plugin for + resolving git conflicts +- Add formatters for go: [gofmt](https://go.dev/blog/gofmt), + [golines](https://github.com/segmentio/golines) and + [gofumpt](https://github.com/mvdan/gofumpt) From 4dd71a77c04facd6cffe0d2737d198b8aeb7f16b Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 24 Feb 2025 23:43:50 +0300 Subject: [PATCH 09/70] flake: bump inputs --- flake.lock | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index c1cda841..3b624bec 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "type": "github" }, "original": { @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1735150973, - "narHash": "sha256-OJhcCAoaMMXeD6o4qI/hxBCNELJp4dN8D5LJZc8w8XA=", + "lastModified": 1738852285, + "narHash": "sha256-8Y1uyE6gGHxdU0Vcx2CMg/dAmDSxJw19aAl3TKbbo54=", "owner": "Gerg-L", "repo": "mnw", - "rev": "40cd0b006cc48dffd0f8698ad7f54cf1d56779a6", + "rev": "6ae73dc9cb72cea17bcc2e3d4670825f483e80e8", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737370608, - "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", + "lastModified": 1740303746, + "narHash": "sha256-XcdiWLEhjJkMxDLKQJ0CCivmYYCvA5MDxu9pMybM5kM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "300081d0cc72df578b02d914df941b8ec62240e6", + "rev": "2d068ae5c6516b2d04562de50a58c682540de9bf", "type": "github" }, "original": { @@ -93,14 +93,14 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1733096140, - "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", + "lastModified": 1738452942, + "narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" } }, "nmd": { From e5aa9ee0c6e72b55d5a663d22529274714c65bbd Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 24 Feb 2025 23:44:11 +0300 Subject: [PATCH 10/70] pins: bump all plugins Except for npins, which should NOT be updated --- npins/sources.json | 838 ++++++++++++++++++++++----------------------- 1 file changed, 419 insertions(+), 419 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index 4bbaa056..cd7e0b20 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -7,10 +7,10 @@ "owner": "stevearc", "repo": "aerial.nvim" }, - "branch": "main", - "revision": "b3ec25ca8c347fafa976484a6cace162239112e1", - "url": "https://github.com/stevearc/aerial.nvim/archive/b3ec25ca8c347fafa976484a6cace162239112e1.tar.gz", - "hash": "0jz169xhg4xhg3di19xj1yvyl6lrrx8a0aka00gk62f08j8jv17d" + "branch": "master", + "revision": "3284a2cb858ba009c79da87d5e010ccee3c99c4d", + "url": "https://github.com/stevearc/aerial.nvim/archive/3284a2cb858ba009c79da87d5e010ccee3c99c4d.tar.gz", + "hash": "0fsvd6ndkp3r8lzpyshqshapna5sh37nz6qabznpwpwax42ghakp" }, "alpha-nvim": { "type": "Git", @@ -31,10 +31,10 @@ "owner": "rrethy", "repo": "base16-nvim" }, - "branch": "main", - "revision": "6ac181b5733518040a33017dde654059cd771b7c", - "url": "https://github.com/rrethy/base16-nvim/archive/6ac181b5733518040a33017dde654059cd771b7c.tar.gz", - "hash": "0q47jbh6abn2hql9ghi9ayx3l8pdrdcdrnf4qfk7cp0v1bl7y48r" + "branch": "master", + "revision": "3f13e15c53ea2aaf79c24ceab725309d87f0619c", + "url": "https://github.com/rrethy/base16-nvim/archive/3f13e15c53ea2aaf79c24ceab725309d87f0619c.tar.gz", + "hash": "1z6pdf707r2rpmzi057dhcmd045695v03215asn1hdn8r294zcmg" }, "blink-cmp": { "type": "GitRelease", @@ -46,10 +46,10 @@ "pre_releases": false, "version_upper_bound": null, "release_prefix": null, - "version": "v0.11.0", - "revision": "7a70199efe4e333a3693ba3e56ddbec3b9c9c330", - "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v0.11.0", - "hash": "1j3sj03i72iw5npwwksc7w7axv8z0nbgi11adkfng9ak73kn1gdq" + "version": "v0.12.4", + "revision": "a5625f1b14fb5c44b0f9256f5ec0714817f5e355", + "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v0.12.4", + "hash": "0jdifjifxjqa8r80wlqgkn5rm48wziap92340xz228nrgd0c9g69" }, "blink-compat": { "type": "Git", @@ -59,9 +59,9 @@ "repo": "blink.compat" }, "branch": "main", - "revision": "3f39cba0a30a7e7d7c2f63605e88ede464c7d39d", - "url": "https://github.com/saghen/blink.compat/archive/3f39cba0a30a7e7d7c2f63605e88ede464c7d39d.tar.gz", - "hash": "1a970v4b73jimjq7cmf61yycbd5j2x0vr14c6gbpblcaxkqby4bv" + "revision": "4104671562c663d059d91a99da3780bead5bc467", + "url": "https://github.com/saghen/blink.compat/archive/4104671562c663d059d91a99da3780bead5bc467.tar.gz", + "hash": "0bsf8kg5s3m1xk9d4n0yl0h5xyk484hip3z8va547f6ibim9ccv4" }, "bufdelete-nvim": { "type": "Git", @@ -70,7 +70,7 @@ "owner": "famiu", "repo": "bufdelete.nvim" }, - "branch": "main", + "branch": "master", "revision": "f6bcea78afb3060b198125256f897040538bcb81", "url": "https://github.com/famiu/bufdelete.nvim/archive/f6bcea78afb3060b198125256f897040538bcb81.tar.gz", "hash": "0xfzk3zgnxbwnr55n3lglsb8nmhnchpiqz9d152xr6j8d9z0sdcn" @@ -83,9 +83,9 @@ "repo": "nvim" }, "branch": "main", - "revision": "f67b886d65a029f12ffa298701fb8f1efd89295d", - "url": "https://github.com/catppuccin/nvim/archive/f67b886d65a029f12ffa298701fb8f1efd89295d.tar.gz", - "hash": "0fwgsvlxvzz5r8jfmj1fp97cqv9b9h2f37fn4nhmim5lm6d0n14p" + "revision": "4bb938bbba41d306db18bf0eb0633a5f28fd7ba0", + "url": "https://github.com/catppuccin/nvim/archive/4bb938bbba41d306db18bf0eb0633a5f28fd7ba0.tar.gz", + "hash": "112q9iqfp6ay13c1ca1s9svhxqfgnqfn0a1k2s7dy9ydswwmcxbk" }, "ccc-nvim": { "type": "Git", @@ -95,9 +95,9 @@ "repo": "ccc.nvim" }, "branch": "main", - "revision": "7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a", - "url": "https://github.com/uga-rosa/ccc.nvim/archive/7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a.tar.gz", - "hash": "01pp5j89x6p7k3r0gpcd12yjdqwxv2m472hnjvpr6mqhq3d525rs" + "revision": "b57cbaf8db3ac43c56c9e2c7f3812944638260ed", + "url": "https://github.com/uga-rosa/ccc.nvim/archive/b57cbaf8db3ac43c56c9e2c7f3812944638260ed.tar.gz", + "hash": "0ixqbsag43pyrvj0i9dkn28j7b2v0c75rljnw57bjl6nwz2aqxg7" }, "cellular-automaton-nvim": { "type": "Git", @@ -107,9 +107,9 @@ "repo": "cellular-automaton.nvim" }, "branch": "main", - "revision": "11aea08aa084f9d523b0142c2cd9441b8ede09ed", - "url": "https://github.com/Eandrju/cellular-automaton.nvim/archive/11aea08aa084f9d523b0142c2cd9441b8ede09ed.tar.gz", - "hash": "0jvz2vnyhm6a2zyz93sh87n59vga2l016ijrfybfrlv44hhzp2ww" + "revision": "1606e9d5d04ff254023c3f3c62842d065708d6d3", + "url": "https://github.com/Eandrju/cellular-automaton.nvim/archive/1606e9d5d04ff254023c3f3c62842d065708d6d3.tar.gz", + "hash": "1yn6wr8fznwykdy031381cyph1yqad4wp0afcxnv1zxqf1fih7ah" }, "chatgpt-nvim": { "type": "Git", @@ -130,7 +130,7 @@ "owner": "sudormrfbin", "repo": "cheatsheet.nvim" }, - "branch": "main", + "branch": "master", "revision": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef", "url": "https://github.com/sudormrfbin/cheatsheet.nvim/archive/9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef.tar.gz", "hash": "0dm94kppbnky8y0gs1pdfs7vcc9hyp8lf6h33dw6ndqfnw3hd2ad" @@ -142,7 +142,7 @@ "owner": "declancm", "repo": "cinnamon.nvim" }, - "branch": "main", + "branch": "master", "revision": "450cb3247765fed7871b41ef4ce5fa492d834215", "url": "https://github.com/declancm/cinnamon.nvim/archive/450cb3247765fed7871b41ef4ce5fa492d834215.tar.gz", "hash": "1vq0cab139gyix2qhmivp86fq6l4fhzn7qafphj0yjac47i11iwi" @@ -166,7 +166,7 @@ "owner": "saadparwaiz1", "repo": "cmp_luasnip" }, - "branch": "main", + "branch": "master", "revision": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90", "url": "https://github.com/saadparwaiz1/cmp_luasnip/archive/98d9cb5c2c38532bd9bdb481067b20fea8f32e90.tar.gz", "hash": "037sh4g1747wf07f9sqngiifp89hqww6m2rvizy5ra7jyd04magk" @@ -202,7 +202,7 @@ "owner": "ray-x", "repo": "cmp-treesitter" }, - "branch": "main", + "branch": "master", "revision": "958fcfa0d8ce46d215e19cc3992c542f576c4123", "url": "https://github.com/ray-x/cmp-treesitter/archive/958fcfa0d8ce46d215e19cc3992c542f576c4123.tar.gz", "hash": "05as01c2f7i20zkzpqbq9n8ji9bcwd678ixmxnrz9vmz5zsj8q7i" @@ -214,7 +214,7 @@ "owner": "gorbit99", "repo": "codewindow.nvim" }, - "branch": "main", + "branch": "master", "revision": "dd7017617962943eb1d152fc58940f11c6775a4a", "url": "https://github.com/gorbit99/codewindow.nvim/archive/dd7017617962943eb1d152fc58940f11c6775a4a.tar.gz", "hash": "1kxkf50rkqrzqz03jvygbwxb1yfmqh0gskr00vpmyrq51569a2hw" @@ -226,7 +226,7 @@ "owner": "numToStr", "repo": "Comment.nvim" }, - "branch": "main", + "branch": "master", "revision": "e30b7f2008e52442154b66f7c519bfd2f1e32acb", "url": "https://github.com/numToStr/Comment.nvim/archive/e30b7f2008e52442154b66f7c519bfd2f1e32acb.tar.gz", "hash": "0dyz78j0kj3j99y5g8wncl7794g6z2qs05gfg9ddxaa4xswhyjc7" @@ -239,9 +239,9 @@ "repo": "conform.nvim" }, "branch": "master", - "revision": "363243c03102a531a8203311d4f2ae704c620d9b", - "url": "https://github.com/stevearc/conform.nvim/archive/363243c03102a531a8203311d4f2ae704c620d9b.tar.gz", - "hash": "1lf7a5b30g37ys9f4z9gq68ymzfzsw7bwzqp1bb91cx9df1bdyck" + "revision": "a6f5bdb78caa305496357d17e962bbc4c0b392e2", + "url": "https://github.com/stevearc/conform.nvim/archive/a6f5bdb78caa305496357d17e962bbc4c0b392e2.tar.gz", + "hash": "1jkm8pbfnp2s9y70cc67pj2fa25a4jl1y4lx6y1k5i323f4lplhz" }, "copilot-cmp": { "type": "Git", @@ -250,7 +250,7 @@ "owner": "zbirenbaum", "repo": "copilot-cmp" }, - "branch": "main", + "branch": "master", "revision": "15fc12af3d0109fa76b60b5cffa1373697e261d1", "url": "https://github.com/zbirenbaum/copilot-cmp/archive/15fc12af3d0109fa76b60b5cffa1373697e261d1.tar.gz", "hash": "0qyakf6wvkdxpzx63gv3p9bwafmxk87vgvcp14pfrkiznvqlpd3s" @@ -262,10 +262,10 @@ "owner": "zbirenbaum", "repo": "copilot.lua" }, - "branch": "main", - "revision": "886ee73b6d464b2b3e3e6a7ff55ce87feac423a9", - "url": "https://github.com/zbirenbaum/copilot.lua/archive/886ee73b6d464b2b3e3e6a7ff55ce87feac423a9.tar.gz", - "hash": "15d1m1lq1f4snkgvnr3cvz0gxh3yycszlq6cph68ddn1sb8h8rbk" + "branch": "master", + "revision": "30321e33b03cb924fdcd6a806a0dc6fa0b0eafb9", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/30321e33b03cb924fdcd6a806a0dc6fa0b0eafb9.tar.gz", + "hash": "0jlwd5x0pdfxa1hg41dfvz9zji0frvlfg86vzak0d3xmn4hr8zgb" }, "crates-nvim": { "type": "Git", @@ -275,9 +275,9 @@ "repo": "crates.nvim" }, "branch": "main", - "revision": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785", - "url": "https://github.com/Saecki/crates.nvim/archive/8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785.tar.gz", - "hash": "088yi9z0wj2ackg3hh5zm66yg31b2c5rc2ss24idx2jkfhqv908c" + "revision": "1803c8b5516610ba7cdb759a4472a78414ee6cd4", + "url": "https://github.com/Saecki/crates.nvim/archive/1803c8b5516610ba7cdb759a4472a78414ee6cd4.tar.gz", + "hash": "0bqcdsbhs1ab51nmqd3cx7p6nlpmrjj0a53hax9scpqzr23nvr66" }, "csharpls-extended-lsp-nvim": { "type": "Git", @@ -286,10 +286,10 @@ "owner": "Decodetalkers", "repo": "csharpls-extended-lsp.nvim" }, - "branch": "main", - "revision": "4f56c06215d10c4fcfee8a7f04ba766c114aece0", - "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/4f56c06215d10c4fcfee8a7f04ba766c114aece0.tar.gz", - "hash": "1jnaimzc3mhqacn3cqds5zkwphn4dzqwrayv48791w0gv2wfzvwc" + "branch": "master", + "revision": "7768c15fe901fd58bfd557034a3cad191a820cfb", + "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/7768c15fe901fd58bfd557034a3cad191a820cfb.tar.gz", + "hash": "0s2jpc22c6s9nnp47kia01bv95xipyn08d0s0pax11fddv2b951f" }, "dashboard-nvim": { "type": "Git", @@ -298,10 +298,10 @@ "owner": "glepnir", "repo": "dashboard-nvim" }, - "branch": "main", - "revision": "ae309606940d26d8c9df8b048a6e136b6bbec478", - "url": "https://github.com/glepnir/dashboard-nvim/archive/ae309606940d26d8c9df8b048a6e136b6bbec478.tar.gz", - "hash": "06mr3869ag542vxnj68458k9cfyw9ldj0mjahzqkpwfl5nc28bs2" + "branch": "master", + "revision": "000448d837f6e7a47f8f342f29526c4d7e49e9ce", + "url": "https://github.com/glepnir/dashboard-nvim/archive/000448d837f6e7a47f8f342f29526c4d7e49e9ce.tar.gz", + "hash": "11kh15qp819dhr2r3q78dv9pzxrswzzpjqmdpa5nlba9mvgjzzy3" }, "diffview-nvim": { "type": "Git", @@ -323,9 +323,9 @@ "repo": "dracula.nvim" }, "branch": "main", - "revision": "515acae4fd294fcefa5b15237a333c2606e958d1", - "url": "https://github.com/Mofiqul/dracula.nvim/archive/515acae4fd294fcefa5b15237a333c2606e958d1.tar.gz", - "hash": "1sr09v6q07q111pbcm8nc12mvgzb5f5n7bg8frrwb6dpspj4h97n" + "revision": "96c9d19ce81b26053055ad6f688277d655b3f7d2", + "url": "https://github.com/Mofiqul/dracula.nvim/archive/96c9d19ce81b26053055ad6f688277d655b3f7d2.tar.gz", + "hash": "0w8r0h9sk3gspahiv203wxj744cry70sra2gf230x2pfrysp09g0" }, "dressing-nvim": { "type": "Git", @@ -334,10 +334,10 @@ "owner": "stevearc", "repo": "dressing.nvim" }, - "branch": "main", - "revision": "3a45525bb182730fe462325c99395529308f431e", - "url": "https://github.com/stevearc/dressing.nvim/archive/3a45525bb182730fe462325c99395529308f431e.tar.gz", - "hash": "0wd9zgqh9i9f77ny7avgsnsl6rxamcqcr7qlbzmsb8p003kl321p" + "branch": "master", + "revision": "2d7c2db2507fa3c4956142ee607431ddb2828639", + "url": "https://github.com/stevearc/dressing.nvim/archive/2d7c2db2507fa3c4956142ee607431ddb2828639.tar.gz", + "hash": "00wn24vcsww9svbdy6hkfd3q0wb4781lmiig4ygyxs200vzgw73l" }, "elixir-tools-nvim": { "type": "Git", @@ -347,9 +347,9 @@ "repo": "elixir-tools.nvim" }, "branch": "main", - "revision": "803fa69dbb457305cff98e3997bed2c4b51aea7c", - "url": "https://github.com/elixir-tools/elixir-tools.nvim/archive/803fa69dbb457305cff98e3997bed2c4b51aea7c.tar.gz", - "hash": "09fnpj27rynw55hvs8dc860di10m3yj628aghsn3lzm249ar708a" + "revision": "f7e18753f5587b422aac628249fa46c66ed24af3", + "url": "https://github.com/elixir-tools/elixir-tools.nvim/archive/f7e18753f5587b422aac628249fa46c66ed24af3.tar.gz", + "hash": "06h1aqdkr3c5samz819j8c1cgnz636p6qbiavg504fd4kqz3ykzr" }, "fastaction-nvim": { "type": "Git", @@ -359,9 +359,9 @@ "repo": "fastaction.nvim" }, "branch": "main", - "revision": "886e22d85e13115808e81ca367d5aaba02d9a25b", - "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/886e22d85e13115808e81ca367d5aaba02d9a25b.tar.gz", - "hash": "0zz9jc2nfyn43idwz63xcacgyaclsvddsjnk8vjgifga4m7v2r6l" + "revision": "c43684448470e732387beccaff12e6667a534800", + "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/c43684448470e732387beccaff12e6667a534800.tar.gz", + "hash": "1ihh07j9q4089m4iw7sb33zg106g1m84bd2nk81gixfl76vg3vbi" }, "fidget-nvim": { "type": "Git", @@ -371,9 +371,9 @@ "repo": "fidget.nvim" }, "branch": "main", - "revision": "9238947645ce17d96f30842e61ba81147185b657", - "url": "https://github.com/j-hui/fidget.nvim/archive/9238947645ce17d96f30842e61ba81147185b657.tar.gz", - "hash": "1117w5i7996vxx32vibb09zpzzgwaipj5ldkdgck3ds5vkcdlk53" + "revision": "d9ba6b7bfe29b3119a610892af67602641da778e", + "url": "https://github.com/j-hui/fidget.nvim/archive/d9ba6b7bfe29b3119a610892af67602641da778e.tar.gz", + "hash": "070jadci8x6zgxnsqaldjah1gm1p78wscsb9wpn5wn8mjkyk2m80" }, "flutter-tools-nvim": { "type": "Git", @@ -383,9 +383,9 @@ "repo": "flutter-tools.nvim" }, "branch": "main", - "revision": "a526c30f1941a7472509aaedda13758f943c968e", - "url": "https://github.com/akinsho/flutter-tools.nvim/archive/a526c30f1941a7472509aaedda13758f943c968e.tar.gz", - "hash": "1qy03zi1vifsdhkyp9yf97px2ny0l30h6nagfic00lyj38z9vx65" + "revision": "d135e1d02f6a3a8808efc2b58950ab1fdd49d000", + "url": "https://github.com/akinsho/flutter-tools.nvim/archive/d135e1d02f6a3a8808efc2b58950ab1fdd49d000.tar.gz", + "hash": "06hiiwzb00lc7qalq74lyydks8v007fnsbpkgpkfm7zki0dg22m7" }, "friendly-snippets": { "type": "Git", @@ -407,9 +407,9 @@ "repo": "fzf-lua" }, "branch": "main", - "revision": "fbe21aeb147b3dc8b188b5753a8e288ecedcee5e", - "url": "https://github.com/ibhagwan/fzf-lua/archive/fbe21aeb147b3dc8b188b5753a8e288ecedcee5e.tar.gz", - "hash": "1wiwq9h0m4rzcc5h2wqxa4gqiw9xrxlggvcasacy9bq89c6l11yh" + "revision": "9b84b53f3297d4912d7eb95b979e9b27e2e61281", + "url": "https://github.com/ibhagwan/fzf-lua/archive/9b84b53f3297d4912d7eb95b979e9b27e2e61281.tar.gz", + "hash": "1p3fb68h7x50b6m6aaxxqcylipa5rdg0yfz6jlrd5i2kmr5gxldq" }, "gesture-nvim": { "type": "Git", @@ -418,10 +418,10 @@ "owner": "notomo", "repo": "gesture.nvim" }, - "branch": "main", - "revision": "dbd839bda337cb73911aeef06897eb29cb99f76f", - "url": "https://github.com/notomo/gesture.nvim/archive/dbd839bda337cb73911aeef06897eb29cb99f76f.tar.gz", - "hash": "1cqiahc52xh113l8lgpz3k852vvqkv2srj9shdkyya76a2v2sf9d" + "branch": "master", + "revision": "eee4a4c9f108b40cb63766e96e0fe28fe5968127", + "url": "https://github.com/notomo/gesture.nvim/archive/eee4a4c9f108b40cb63766e96e0fe28fe5968127.tar.gz", + "hash": "0h6f4s39q1kzsgc3wx6kanmhada00av1nj1ngzmgbafsxl2ax0bw" }, "git-conflict-nvim": { "type": "Git", @@ -443,9 +443,9 @@ "repo": "gitsigns.nvim" }, "branch": "main", - "revision": "5f808b5e4fef30bd8aca1b803b4e555da07fc412", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/5f808b5e4fef30bd8aca1b803b4e555da07fc412.tar.gz", - "hash": "1dxsyv26mm7lzll3xlkzjj6w7kp11wfak8rgp19fg2d8301kxc0z" + "revision": "4c40357994f386e72be92a46f41fc1664c84c87d", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/4c40357994f386e72be92a46f41fc1664c84c87d.tar.gz", + "hash": "1d3i82g5barb9afk7ra3gmcwwjvaqp49sbdz0acki4a0yc80m31w" }, "glow-nvim": { "type": "Git", @@ -467,9 +467,9 @@ "repo": "gruvbox.nvim" }, "branch": "main", - "revision": "68c3460a5d1d1a362318960035c9f3466d5011f5", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/68c3460a5d1d1a362318960035c9f3466d5011f5.tar.gz", - "hash": "0yc0hv9d4888lfvhd68gdwvfhfgafyqn9ljca4b5a0pgb61hiax9" + "revision": "089b60e92aa0a1c6fa76ff527837cd35b6f5ac81", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/089b60e92aa0a1c6fa76ff527837cd35b6f5ac81.tar.gz", + "hash": "0mr8q2xi4s2anibll8lhxax7q1akyg687bp5r58gckkhi04064q4" }, "haskell-tools-nvim": { "type": "Git", @@ -478,10 +478,10 @@ "owner": "mrcjkb", "repo": "haskell-tools.nvim" }, - "branch": "main", - "revision": "943b77b68a79d3991523ba4d373063c9355c6f55", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/943b77b68a79d3991523ba4d373063c9355c6f55.tar.gz", - "hash": "0f8j9x20bs62pnsx4kwklbnrnxqakmfg9xd7742rqfyg03s4v5c1" + "branch": "master", + "revision": "834d949f3911297fd657787c73f647be9675ae53", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/834d949f3911297fd657787c73f647be9675ae53.tar.gz", + "hash": "1l4jm6010mhjq8bvjc0sbqh0bfadyrq2wisdvsjrgjb0h0w1s8d4" }, "highlight-undo-nvim": { "type": "Git", @@ -491,9 +491,9 @@ "repo": "highlight-undo.nvim" }, "branch": "main", - "revision": "5f588b420179a31d7073854bfd07ed9d5f364645", - "url": "https://github.com/tzachar/highlight-undo.nvim/archive/5f588b420179a31d7073854bfd07ed9d5f364645.tar.gz", - "hash": "1ykk9kj74kpnqq003fkhj75d9k68k8fgdv3kr0hbcvggxlr6nhkg" + "revision": "a5e2e2d43f6d131bf526619baeeeec32397b0789", + "url": "https://github.com/tzachar/highlight-undo.nvim/archive/a5e2e2d43f6d131bf526619baeeeec32397b0789.tar.gz", + "hash": "0gvd45mpkhd7hj8hvm20z036vr178hzzwhknj0l5bfnnnwl8xnjc" }, "hop-nvim": { "type": "Git", @@ -502,7 +502,7 @@ "owner": "phaazon", "repo": "hop.nvim" }, - "branch": "main", + "branch": "master", "revision": "1a1eceafe54b5081eae4cb91c723abd1d450f34b", "url": "https://github.com/phaazon/hop.nvim/archive/1a1eceafe54b5081eae4cb91c723abd1d450f34b.tar.gz", "hash": "08h18cam2yr57qvfsnf1bra28vbl6013wlchnr5crb757xw8aysa" @@ -529,7 +529,7 @@ "owner": "ziontee113", "repo": "icon-picker.nvim" }, - "branch": "main", + "branch": "master", "revision": "3ee9a0ea9feeef08ae35e40c8be6a2fa2c20f2d3", "url": "https://github.com/ziontee113/icon-picker.nvim/archive/3ee9a0ea9feeef08ae35e40c8be6a2fa2c20f2d3.tar.gz", "hash": "1357c2dhl7m7hbdsj0l2bmk97i76bp5yrfnd0g01sgd6wiasr4jm" @@ -541,10 +541,10 @@ "owner": "3rd", "repo": "image.nvim" }, - "branch": "main", - "revision": "b991fc7f845bc6ab40c6ec00b39750dcd5190010", - "url": "https://github.com/3rd/image.nvim/archive/b991fc7f845bc6ab40c6ec00b39750dcd5190010.tar.gz", - "hash": "1jbbm4l71w0cas0aj5d0jsy65chbvf4bdxxllb04i3k6h1zycdja" + "branch": "master", + "revision": "6ffafab2e98b5bda46bf227055aa84b90add8cdc", + "url": "https://github.com/3rd/image.nvim/archive/6ffafab2e98b5bda46bf227055aa84b90add8cdc.tar.gz", + "hash": "105k4ccv18nynm70lphb4ac3ih1ad4hlh2syrhmyi1i1jwdirjgz" }, "indent-blankline-nvim": { "type": "Git", @@ -553,10 +553,10 @@ "owner": "lukas-reineke", "repo": "indent-blankline.nvim" }, - "branch": "main", - "revision": "259357fa4097e232730341fa60988087d189193a", - "url": "https://github.com/lukas-reineke/indent-blankline.nvim/archive/259357fa4097e232730341fa60988087d189193a.tar.gz", - "hash": "1q9fgqvr84lynhy2vcyzp9xhzrl80g2pin14v7d3v0pgj10m8y8z" + "branch": "master", + "revision": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78", + "url": "https://github.com/lukas-reineke/indent-blankline.nvim/archive/e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78.tar.gz", + "hash": "1whsjd715rr59warfy7nmw0hzkxfkxgzx9c8r6k2vka4flifirnk" }, "lazydev-nvim": { "type": "Git", @@ -566,9 +566,9 @@ "repo": "lazydev.nvim" }, "branch": "main", - "revision": "a1b78b2ac6f978c72e76ea90ae92a94edf380cfc", - "url": "https://github.com/folke/lazydev.nvim/archive/a1b78b2ac6f978c72e76ea90ae92a94edf380cfc.tar.gz", - "hash": "1ch75kwgyzpplvlp04h6aa4yymkjcwsfkwgzwicnqpsxylsw6z9r" + "revision": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c", + "url": "https://github.com/folke/lazydev.nvim/archive/2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c.tar.gz", + "hash": "1v4m18j270rfbjrcn99fkbiwhlmmr9bm9lcbagp533kx4n57731f" }, "leap-nvim": { "type": "Git", @@ -578,9 +578,9 @@ "repo": "leap.nvim" }, "branch": "main", - "revision": "c6bfb191f1161fbabace1f36f578a20ac6c7642c", - "url": "https://github.com/ggandor/leap.nvim/archive/c6bfb191f1161fbabace1f36f578a20ac6c7642c.tar.gz", - "hash": "1dmy45czi3irjd5qb74yamjam4d1lvqsgfxgh4vaj740b19gyl1w" + "revision": "8b826a9fc766bffd14288aee01847cb0d6c6c383", + "url": "https://github.com/ggandor/leap.nvim/archive/8b826a9fc766bffd14288aee01847cb0d6c6c383.tar.gz", + "hash": "1biydwaky3104c1dys8m37yalrgcwyjyprlbk31j82y4mvmd1lmy" }, "leetcode-nvim": { "type": "Git", @@ -612,10 +612,10 @@ "owner": "ray-x", "repo": "lsp_signature.nvim" }, - "branch": "main", - "revision": "fc38521ea4d9ec8dbd4c2819ba8126cea743943b", - "url": "https://github.com/ray-x/lsp_signature.nvim/archive/fc38521ea4d9ec8dbd4c2819ba8126cea743943b.tar.gz", - "hash": "0ag79vvjz1dqyw9358ijdkckr1rqshxkpk5fl0kww1vl3pfwv9jv" + "branch": "master", + "revision": "693b75f1dc31f5af45ceb762966a6ab00af1850b", + "url": "https://github.com/ray-x/lsp_signature.nvim/archive/693b75f1dc31f5af45ceb762966a6ab00af1850b.tar.gz", + "hash": "0jfiips0ddbry91h52k671sll0zfqpz10dc8fw0w5np6lwiy7z34" }, "lspkind-nvim": { "type": "Git", @@ -624,7 +624,7 @@ "owner": "onsails", "repo": "lspkind-nvim" }, - "branch": "main", + "branch": "master", "revision": "d79a1c3299ad0ef94e255d045bed9fa26025dab6", "url": "https://github.com/onsails/lspkind-nvim/archive/d79a1c3299ad0ef94e255d045bed9fa26025dab6.tar.gz", "hash": "1wdavqmwadby9lyw415jw79kxynxv4fxg2v376y0rkxf258clarq" @@ -660,10 +660,10 @@ "owner": "hoob3rt", "repo": "lualine.nvim" }, - "branch": "main", - "revision": "2a5bae925481f999263d6f5ed8361baef8df4f83", - "url": "https://github.com/hoob3rt/lualine.nvim/archive/2a5bae925481f999263d6f5ed8361baef8df4f83.tar.gz", - "hash": "0hp8gycbwm6ibq4rpa18j3g9xacgghklz4c8jlr4gif6g37r1pi0" + "branch": "master", + "revision": "f4f791f67e70d378a754d02da068231d2352e5bc", + "url": "https://github.com/hoob3rt/lualine.nvim/archive/f4f791f67e70d378a754d02da068231d2352e5bc.tar.gz", + "hash": "12jm3vc3mi0p9kjw7g1cd6a9nkgws1mvq2h7lpfmflad8zfmw35q" }, "luasnip": { "type": "Git", @@ -672,10 +672,10 @@ "owner": "L3MON4D3", "repo": "LuaSnip" }, - "branch": "main", - "revision": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d", - "url": "https://github.com/L3MON4D3/LuaSnip/archive/33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d.tar.gz", - "hash": "1zicjd8y9a16rq1rs1xbmc6g927j5xi05yrxj9ap6wp72pfxxw3r" + "branch": "master", + "revision": "c9b9a22904c97d0eb69ccb9bab76037838326817", + "url": "https://github.com/L3MON4D3/LuaSnip/archive/c9b9a22904c97d0eb69ccb9bab76037838326817.tar.gz", + "hash": "03anxdspqz7ylq4239jyr9y51mw5qw1lkccyvfhj6wfk43jjdryx" }, "lz-n": { "type": "Git", @@ -684,10 +684,10 @@ "owner": "nvim-neorocks", "repo": "lz.n" }, - "branch": "main", - "revision": "32be28a221b9c98e56841458e4b20c150a4169c4", - "url": "https://github.com/nvim-neorocks/lz.n/archive/32be28a221b9c98e56841458e4b20c150a4169c4.tar.gz", - "hash": "0jv8901lc712ddv1sdw5zan2d64hwxjcwi4mi4q1ivcp16miglp8" + "branch": "master", + "revision": "eb94a39433518b26a0eeb117b937b21dc6b18713", + "url": "https://github.com/nvim-neorocks/lz.n/archive/eb94a39433518b26a0eeb117b937b21dc6b18713.tar.gz", + "hash": "1sarbbj53b5f4mcj6b1iqkbjacrh3w63vp8dpz6j802wqwvi51wc" }, "lzn-auto-require": { "type": "Git", @@ -696,9 +696,9 @@ "owner": "horriblename", "repo": "lzn-auto-require" }, - "branch": "main", - "revision": "a075ed51976323fd7fc44ccfca89fe0449a08cca", - "url": "https://github.com/horriblename/lzn-auto-require/archive/a075ed51976323fd7fc44ccfca89fe0449a08cca.tar.gz", + "branch": "master", + "revision": "ef746afb55467984ef3200d9709c8059ee0257d0", + "url": "https://github.com/horriblename/lzn-auto-require/archive/ef746afb55467984ef3200d9709c8059ee0257d0.tar.gz", "hash": "1mgka1mmvpd2gfya898qdbbwrp5rpqds8manjs1s7g5x63xp6b98" }, "mind-nvim": { @@ -708,7 +708,7 @@ "owner": "phaazon", "repo": "mind.nvim" }, - "branch": "main", + "branch": "master", "revision": "002137dd7cf97865ebd01b6a260209d2daf2da66", "url": "https://github.com/phaazon/mind.nvim/archive/002137dd7cf97865ebd01b6a260209d2daf2da66.tar.gz", "hash": "1p7gb8p1jrb2wx3x67lv7am3k1a14kvwsq89fdpb8b060s2l1214" @@ -721,9 +721,9 @@ "repo": "mini.ai" }, "branch": "main", - "revision": "ebb04799794a7f94628153991e6334c3304961b8", - "url": "https://github.com/echasnovski/mini.ai/archive/ebb04799794a7f94628153991e6334c3304961b8.tar.gz", - "hash": "1ipkxwizyhl3i3z6zff87k345mwkrsxmwwxbv5gcyq37bzmgpzkg" + "revision": "6e01c0e5a15554852546fac9853960780ac52ed4", + "url": "https://github.com/echasnovski/mini.ai/archive/6e01c0e5a15554852546fac9853960780ac52ed4.tar.gz", + "hash": "0138rsb0rh4fjiicm3gjah0b5n1c08lil29c5ssqk3xq1bdr69j9" }, "mini-align": { "type": "Git", @@ -733,9 +733,9 @@ "repo": "mini.align" }, "branch": "main", - "revision": "e715137aece7d05734403d793b8b6b64486bc812", - "url": "https://github.com/echasnovski/mini.align/archive/e715137aece7d05734403d793b8b6b64486bc812.tar.gz", - "hash": "1m39wsinfdmqw53mllf9wr854vaw8qzhixy3j5w8r112s7qrnyx0" + "revision": "3bdf6f0b91b31db5300a7b04f53f296a7fb150c1", + "url": "https://github.com/echasnovski/mini.align/archive/3bdf6f0b91b31db5300a7b04f53f296a7fb150c1.tar.gz", + "hash": "1255r5c9q0nnb7vnhs7xk45vqigmbhbim02ciczv8i80amfh9yw3" }, "mini-animate": { "type": "Git", @@ -745,9 +745,9 @@ "repo": "mini.animate" }, "branch": "main", - "revision": "d14190ac3040116540889e2ebc25f488b195799e", - "url": "https://github.com/echasnovski/mini.animate/archive/d14190ac3040116540889e2ebc25f488b195799e.tar.gz", - "hash": "15raqvmgp4srh7asll1y3finbm76l1sfmf52h69jj2y2w4kfdqv5" + "revision": "13e170c13030b043aa8ad4311012ec0eaba0d5c7", + "url": "https://github.com/echasnovski/mini.animate/archive/13e170c13030b043aa8ad4311012ec0eaba0d5c7.tar.gz", + "hash": "153hrx7i0kn65lz4yjgkaxkvj0xvqamm3mi6ciq9b0q3c2ngh7rj" }, "mini-base16": { "type": "Git", @@ -757,9 +757,9 @@ "repo": "mini.base16" }, "branch": "main", - "revision": "23453dacc1606e5d42238d82f0b42a2985386b62", - "url": "https://github.com/echasnovski/mini.base16/archive/23453dacc1606e5d42238d82f0b42a2985386b62.tar.gz", - "hash": "0cxwc4bpkc362q00vkm75bbazd69ghyyavs30gf37fj3zj9khssl" + "revision": "d64302f57a692a2ff2c9a4556935780133f821f9", + "url": "https://github.com/echasnovski/mini.base16/archive/d64302f57a692a2ff2c9a4556935780133f821f9.tar.gz", + "hash": "1vkhhqb9785ypmp7bzqljxfdjg5gz5jxkxp0wl6iacjvwwf18dq7" }, "mini-basics": { "type": "Git", @@ -769,9 +769,9 @@ "repo": "mini.basics" }, "branch": "main", - "revision": "67c10b3436d5d3b892715137f4773e71c6753b13", - "url": "https://github.com/echasnovski/mini.basics/archive/67c10b3436d5d3b892715137f4773e71c6753b13.tar.gz", - "hash": "1ia7wha33l6q1krlx7d90v5rw25kdiv6la8j7f0s8vr0qxlcxhs7" + "revision": "e8fbcf96e4e8262d452ddc851acea6c50449fa79", + "url": "https://github.com/echasnovski/mini.basics/archive/e8fbcf96e4e8262d452ddc851acea6c50449fa79.tar.gz", + "hash": "0v3j61qik4mv2r246b7q7h4ndg68x373dr5jag3a4hwszgpf7jcl" }, "mini-bracketed": { "type": "Git", @@ -781,9 +781,9 @@ "repo": "mini.bracketed" }, "branch": "main", - "revision": "0091e11fabe34973fc038a8d0d0485202742e403", - "url": "https://github.com/echasnovski/mini.bracketed/archive/0091e11fabe34973fc038a8d0d0485202742e403.tar.gz", - "hash": "0yw7lmgwwvraflcwzrl33rwcdb94qsyvdi0rzq9b3ps7bla4dsyb" + "revision": "95e1023c1734c805ad3b9da364fc3518e0881c70", + "url": "https://github.com/echasnovski/mini.bracketed/archive/95e1023c1734c805ad3b9da364fc3518e0881c70.tar.gz", + "hash": "0is5mk998v3givmlfq5c09pdww7bm1nmrwm5iijhvjgc2rlxxlc4" }, "mini-bufremove": { "type": "Git", @@ -793,9 +793,9 @@ "repo": "mini.bufremove" }, "branch": "main", - "revision": "285bdac9596ee7375db50c0f76ed04336dcd2685", - "url": "https://github.com/echasnovski/mini.bufremove/archive/285bdac9596ee7375db50c0f76ed04336dcd2685.tar.gz", - "hash": "0q8zm3k8hhpzbcjcd3gqz1r064fiymv9w2lfbdv5hhn2b8i9j7h8" + "revision": "bba1d8b413d37081756f59200b8cf756181e5b9a", + "url": "https://github.com/echasnovski/mini.bufremove/archive/bba1d8b413d37081756f59200b8cf756181e5b9a.tar.gz", + "hash": "0lbh2azsa9fmb8qp8gzhv36riiafybmjgg0prppchik8lsbhjzy4" }, "mini-clue": { "type": "Git", @@ -805,9 +805,9 @@ "repo": "mini.clue" }, "branch": "main", - "revision": "63e42dad781b9ed4845d90ef1da8c52dfb6dce3f", - "url": "https://github.com/echasnovski/mini.clue/archive/63e42dad781b9ed4845d90ef1da8c52dfb6dce3f.tar.gz", - "hash": "039fq0svkgr96l3z7h750iyah6fz9n18zy8wm1dfhpp3bxjyjh7z" + "revision": "3ba5f3ff9afbf8c962bf69a483a890e414ba4697", + "url": "https://github.com/echasnovski/mini.clue/archive/3ba5f3ff9afbf8c962bf69a483a890e414ba4697.tar.gz", + "hash": "0j9l26kzvsc0p7xssav97r28cnqbr5av6k64nz83n3xx5xlndnp0" }, "mini-colors": { "type": "Git", @@ -817,9 +817,9 @@ "repo": "mini.colors" }, "branch": "main", - "revision": "d64b1c0f520579d905f97208eca85329e664ab88", - "url": "https://github.com/echasnovski/mini.colors/archive/d64b1c0f520579d905f97208eca85329e664ab88.tar.gz", - "hash": "1yfx5zizm2m1c1064c5j5hb10xd7a8cgircs70q9cai14n25lqh7" + "revision": "60306b701f574c3f7111a7ef67de208d0c121bbd", + "url": "https://github.com/echasnovski/mini.colors/archive/60306b701f574c3f7111a7ef67de208d0c121bbd.tar.gz", + "hash": "1avblmv2alra43dlq94czmnd4rsjwng66yjg7xcn4bs358z13kzw" }, "mini-comment": { "type": "Git", @@ -829,9 +829,9 @@ "repo": "mini.comment" }, "branch": "main", - "revision": "6e1f9a8ebbf6f693fa3787ceda8ca3bf3cb6aec7", - "url": "https://github.com/echasnovski/mini.comment/archive/6e1f9a8ebbf6f693fa3787ceda8ca3bf3cb6aec7.tar.gz", - "hash": "0wvyrkq84gy15ygv47vj50ch3551vmjp5gjvmvz26p3d4l6h225w" + "revision": "264b8a63edd5a9a41d5361a1d52c13131c3c51a2", + "url": "https://github.com/echasnovski/mini.comment/archive/264b8a63edd5a9a41d5361a1d52c13131c3c51a2.tar.gz", + "hash": "1s4jl8sa7l6kibgsz0d6w2h4xnbpbf3k4rqq90x4l4dmx8if9vkb" }, "mini-completion": { "type": "Git", @@ -841,9 +841,9 @@ "repo": "mini.completion" }, "branch": "main", - "revision": "6eb9546685c4e1c4af2365b87166d4afa39d8a1b", - "url": "https://github.com/echasnovski/mini.completion/archive/6eb9546685c4e1c4af2365b87166d4afa39d8a1b.tar.gz", - "hash": "05hk62f74fv8axdygbdz478dfcbvm4c4j696i77xlpqhfmy04m3n" + "revision": "dd457bfecf68fb67107f8668b46f745a219c045a", + "url": "https://github.com/echasnovski/mini.completion/archive/dd457bfecf68fb67107f8668b46f745a219c045a.tar.gz", + "hash": "1aharapzl1ll2fpyhl88n47ni12p0mndgpgi34jn57k3mhj0pcgy" }, "mini-diff": { "type": "Git", @@ -853,9 +853,9 @@ "repo": "mini.diff" }, "branch": "main", - "revision": "00f072250061ef498f91ed226918c9ec31a416a4", - "url": "https://github.com/echasnovski/mini.diff/archive/00f072250061ef498f91ed226918c9ec31a416a4.tar.gz", - "hash": "1n3rjajwnx5n5iamn49l4h7p23p601jd4m343ri2hmazb7zxc6vm" + "revision": "bc3a7be30fd45ed4961ea90de1d9d04637cdeae6", + "url": "https://github.com/echasnovski/mini.diff/archive/bc3a7be30fd45ed4961ea90de1d9d04637cdeae6.tar.gz", + "hash": "0mjl819rd7hbsk3my9ypsl7q7kvxaiyms6a8z63d63nljsbs8ycf" }, "mini-doc": { "type": "Git", @@ -865,9 +865,9 @@ "repo": "mini.doc" }, "branch": "main", - "revision": "bb73a3d1ff390f7e2740027ea2567017099a237c", - "url": "https://github.com/echasnovski/mini.doc/archive/bb73a3d1ff390f7e2740027ea2567017099a237c.tar.gz", - "hash": "1jsamvgdk6zxaimn9v949gbghf92d0ii8jhn2sjjy7arbl8w0w23" + "revision": "466c340917b76d16a79fcbb2545c397fc49b110e", + "url": "https://github.com/echasnovski/mini.doc/archive/466c340917b76d16a79fcbb2545c397fc49b110e.tar.gz", + "hash": "16aglk95hw9wbgz4vzpv3bf3hqzqa2qrrzsxqjva2smg9f59c7rl" }, "mini-extra": { "type": "Git", @@ -877,9 +877,9 @@ "repo": "mini.extra" }, "branch": "main", - "revision": "477e3dda7b597b49bc1373951ea7da4da834c352", - "url": "https://github.com/echasnovski/mini.extra/archive/477e3dda7b597b49bc1373951ea7da4da834c352.tar.gz", - "hash": "02ydzdiiqf0ydrjiz847f6cbaxy3imvggchds9xn40i34nz6nhlm" + "revision": "7725a82b4d9c0acdc370385b9c04bb0791017230", + "url": "https://github.com/echasnovski/mini.extra/archive/7725a82b4d9c0acdc370385b9c04bb0791017230.tar.gz", + "hash": "0vndliykk98dn9qy8r3ip73y8zflyr40qml7jg522lq5ql546my6" }, "mini-files": { "type": "Git", @@ -889,9 +889,9 @@ "repo": "mini.files" }, "branch": "main", - "revision": "d0f03a5c38836fd2cce3dc80734124959002078c", - "url": "https://github.com/echasnovski/mini.files/archive/d0f03a5c38836fd2cce3dc80734124959002078c.tar.gz", - "hash": "0k5g5l9pb3br4vb5cm1b0hv081fdn967cw00mh687281dvrbnxah" + "revision": "5900f50608771af55c6cc4f0817152e5e89de820", + "url": "https://github.com/echasnovski/mini.files/archive/5900f50608771af55c6cc4f0817152e5e89de820.tar.gz", + "hash": "1xq2b3xacn5haamw5vmwzmjqqgacrwmfp0yci69kmgpxa8ac3dq0" }, "mini-fuzzy": { "type": "Git", @@ -901,9 +901,9 @@ "repo": "mini.fuzzy" }, "branch": "main", - "revision": "faa5a6c0d29c28012c90bd011162963a58715428", - "url": "https://github.com/echasnovski/mini.fuzzy/archive/faa5a6c0d29c28012c90bd011162963a58715428.tar.gz", - "hash": "03v6rp0j63a7clpp6ficq6ixwr55lvyz3ygc99r1qw0gzh6y9w2y" + "revision": "345ff7f65f50177c5567c43ec2c79973cb1278fe", + "url": "https://github.com/echasnovski/mini.fuzzy/archive/345ff7f65f50177c5567c43ec2c79973cb1278fe.tar.gz", + "hash": "18ylb8v7g21r87qkl86hng3zvw9c2q163z535m5m85dxnrxzlgcm" }, "mini-git": { "type": "Git", @@ -913,9 +913,9 @@ "repo": "mini-git" }, "branch": "main", - "revision": "fc13dde6cfe87cf25a4fd1ee177c0d157468436b", - "url": "https://github.com/echasnovski/mini-git/archive/fc13dde6cfe87cf25a4fd1ee177c0d157468436b.tar.gz", - "hash": "1wl9f3yncpnpv1j8imja4fwsnizjcqkv9cmblidj014rkji8lyxd" + "revision": "05f9ec07534ce8e2bf797c05c0a8bd826d9d24a2", + "url": "https://github.com/echasnovski/mini-git/archive/05f9ec07534ce8e2bf797c05c0a8bd826d9d24a2.tar.gz", + "hash": "0irvwbxhi9y4wf04khgv1l8z4a2hff3r7f2j3r0p76slqjgd7x19" }, "mini-hipatterns": { "type": "Git", @@ -925,9 +925,9 @@ "repo": "mini.hipatterns" }, "branch": "main", - "revision": "f34975103a38b3f608219a1324cdfc58ea660b8b", - "url": "https://github.com/echasnovski/mini.hipatterns/archive/f34975103a38b3f608219a1324cdfc58ea660b8b.tar.gz", - "hash": "08mhgd7p69fzy9l99adns1gwb407wdq18di8nm6iy1nw6wrhx7yc" + "revision": "fbf1e2195fdd65cf1bc970316c28098257728868", + "url": "https://github.com/echasnovski/mini.hipatterns/archive/fbf1e2195fdd65cf1bc970316c28098257728868.tar.gz", + "hash": "09g9b2jm1hac7pppmmncqpgaddd3yrlw9anhr4jw7lldr2bpwrqa" }, "mini-hues": { "type": "Git", @@ -937,9 +937,9 @@ "repo": "mini.hues" }, "branch": "main", - "revision": "ae6ad4c666ff42c1102344fe1eba18bb486f2e46", - "url": "https://github.com/echasnovski/mini.hues/archive/ae6ad4c666ff42c1102344fe1eba18bb486f2e46.tar.gz", - "hash": "1bfyhs79l8v2zbzc2kp7ss089bp05lpqqy1ndbgvyi546dxgsbp3" + "revision": "6b039a95f8fbc002ea79086b8617a1022a5aea5b", + "url": "https://github.com/echasnovski/mini.hues/archive/6b039a95f8fbc002ea79086b8617a1022a5aea5b.tar.gz", + "hash": "1cyk4abrkd6y5hkkh05cywvhg8116aiv7p8yihfcjwgrcjwkwsan" }, "mini-icons": { "type": "Git", @@ -949,9 +949,9 @@ "repo": "mini.icons" }, "branch": "main", - "revision": "910db5df9724d65371182948f921fce23c2c881e", - "url": "https://github.com/echasnovski/mini.icons/archive/910db5df9724d65371182948f921fce23c2c881e.tar.gz", - "hash": "18d2s7sqcwi7yyb14xg96gzxpvr0gk6k1r4mglgjbfpx724z2hy3" + "revision": "ec61af6e606fc89ee3b1d8f2f20166a3ca917a36", + "url": "https://github.com/echasnovski/mini.icons/archive/ec61af6e606fc89ee3b1d8f2f20166a3ca917a36.tar.gz", + "hash": "0y5b4bswykf8mf429y29lahmjzjsri0qspwyimnb1d73028qn8ck" }, "mini-indentscope": { "type": "Git", @@ -961,9 +961,9 @@ "repo": "mini.indentscope" }, "branch": "main", - "revision": "613df2830d7faeae7483ba2e736683154b95921e", - "url": "https://github.com/echasnovski/mini.indentscope/archive/613df2830d7faeae7483ba2e736683154b95921e.tar.gz", - "hash": "02y7ya70wz79xd02xvlvri4sgnqbl9xd6d6im4323iyph7pdrg1j" + "revision": "8ce41a77eed7f4121c83c67fda5e2e86af999e6d", + "url": "https://github.com/echasnovski/mini.indentscope/archive/8ce41a77eed7f4121c83c67fda5e2e86af999e6d.tar.gz", + "hash": "0dv4c6yf1s5fzvwy1n0chq553353bsix3g8ysajp9lswnd9lhbh4" }, "mini-jump": { "type": "Git", @@ -973,9 +973,9 @@ "repo": "mini.jump" }, "branch": "main", - "revision": "bb93d998c9db6936697746330411f5fb9957145e", - "url": "https://github.com/echasnovski/mini.jump/archive/bb93d998c9db6936697746330411f5fb9957145e.tar.gz", - "hash": "0m5b0dy7aws5si5sc494hrrnfsgb9i0ssbrfwlprmi9q75xzvhx8" + "revision": "1fb371cfdcb314c5faa272976f23514f264bd755", + "url": "https://github.com/echasnovski/mini.jump/archive/1fb371cfdcb314c5faa272976f23514f264bd755.tar.gz", + "hash": "1975qyjzcziya2w121cjkqaj17wxp205jl3b7lrl25db6l6ggjcs" }, "mini-jump2d": { "type": "Git", @@ -985,9 +985,9 @@ "repo": "mini.jump2d" }, "branch": "main", - "revision": "88077058297e80f1c76a18ed801ae9d7064187c6", - "url": "https://github.com/echasnovski/mini.jump2d/archive/88077058297e80f1c76a18ed801ae9d7064187c6.tar.gz", - "hash": "0dqslwc7r9yj3bszdgjp2cqhnhyzm8zn1zbikwi8q6bs50la2f7q" + "revision": "3de91ea974627c4c2645e288bf0a6e6717a4dfa8", + "url": "https://github.com/echasnovski/mini.jump2d/archive/3de91ea974627c4c2645e288bf0a6e6717a4dfa8.tar.gz", + "hash": "0n40jmjbqnz1bbgal3j8m9cgzyma59ss8lxsqmi9230mkgd4xsnq" }, "mini-map": { "type": "Git", @@ -997,9 +997,9 @@ "repo": "mini.map" }, "branch": "main", - "revision": "4c58e755d75f9999abcd3b3c6e934734b6a8b098", - "url": "https://github.com/echasnovski/mini.map/archive/4c58e755d75f9999abcd3b3c6e934734b6a8b098.tar.gz", - "hash": "1407jgrzk0pvnhsssm3hdgjw3vd1n182adgh8c5h4b46dzvrvgvl" + "revision": "7f4c785b95ff6d266588fe6e5b6ea696cf654e61", + "url": "https://github.com/echasnovski/mini.map/archive/7f4c785b95ff6d266588fe6e5b6ea696cf654e61.tar.gz", + "hash": "0f8mlszgi1fnmy0npqw27g28h9bgavy7mc97zivgsxgx2whgz6al" }, "mini-misc": { "type": "Git", @@ -1009,9 +1009,9 @@ "repo": "mini.misc" }, "branch": "main", - "revision": "645fb9367c19bb485902e54e5451425981498601", - "url": "https://github.com/echasnovski/mini.misc/archive/645fb9367c19bb485902e54e5451425981498601.tar.gz", - "hash": "0xy9sn0vjlaw0lk6l59drksqypz6yncmdrhach387mv4hvh1lxma" + "revision": "bfd8ee265d9cb1f9fcba7a8ae0899fbf84e33d5e", + "url": "https://github.com/echasnovski/mini.misc/archive/bfd8ee265d9cb1f9fcba7a8ae0899fbf84e33d5e.tar.gz", + "hash": "1fd3ah7gsm8zyagl3mk09aqrj8s2m0gxrx225nwbvb8i2pi0g1c1" }, "mini-move": { "type": "Git", @@ -1021,9 +1021,9 @@ "repo": "mini.move" }, "branch": "main", - "revision": "4caa1c212f5ca3d1633d21cfb184808090ed74b1", - "url": "https://github.com/echasnovski/mini.move/archive/4caa1c212f5ca3d1633d21cfb184808090ed74b1.tar.gz", - "hash": "0f4nrg9n8air507h6bd61dmb1rjjhykyl36qgr0ai72cb011wzcx" + "revision": "c8b30e92dd2668dd6e56a9a23cb7d4ee38c2266d", + "url": "https://github.com/echasnovski/mini.move/archive/c8b30e92dd2668dd6e56a9a23cb7d4ee38c2266d.tar.gz", + "hash": "0cnzfn706s90bc0m49jkx3fjghrcv0byqbajdhwbrv8f77c6crg3" }, "mini-notify": { "type": "Git", @@ -1033,9 +1033,9 @@ "repo": "mini.notify" }, "branch": "main", - "revision": "05e598d5b349bd66404d576e6a4d4340aea5f194", - "url": "https://github.com/echasnovski/mini.notify/archive/05e598d5b349bd66404d576e6a4d4340aea5f194.tar.gz", - "hash": "02z2qdkh6rks7j7b3pwnm6vala0rz5p09ahplcgv1s4mhgby6vmb" + "revision": "f8c84f89c8d981a979f915bd64a2f97bbad285d4", + "url": "https://github.com/echasnovski/mini.notify/archive/f8c84f89c8d981a979f915bd64a2f97bbad285d4.tar.gz", + "hash": "0raw9chqjgwxqdiqqk9xjxgkjf6rg14c7968pvfvfh9jkjdasxg8" }, "mini-operators": { "type": "Git", @@ -1045,9 +1045,9 @@ "repo": "mini.operators" }, "branch": "main", - "revision": "7cb4dc66c51a3d736d347bbc517dc73dc7d28888", - "url": "https://github.com/echasnovski/mini.operators/archive/7cb4dc66c51a3d736d347bbc517dc73dc7d28888.tar.gz", - "hash": "1h6bxqkabh61gnlqj9yp5rsvn1p4g2ssk7ffkj3z8c3f1387567r" + "revision": "81e5059268154f5a8b594c95748968febdd539e3", + "url": "https://github.com/echasnovski/mini.operators/archive/81e5059268154f5a8b594c95748968febdd539e3.tar.gz", + "hash": "066mh426wr9pb137d8b65cl5hkcgmal9mr8y94r3xya7649207mh" }, "mini-pairs": { "type": "Git", @@ -1057,9 +1057,9 @@ "repo": "mini.pairs" }, "branch": "main", - "revision": "7e834c5937d95364cc1740e20d673afe2d034cdb", - "url": "https://github.com/echasnovski/mini.pairs/archive/7e834c5937d95364cc1740e20d673afe2d034cdb.tar.gz", - "hash": "04x3gwrg64xxbg0njrb64bjb66rpi2aayydfqx9nbcimllng3l9y" + "revision": "1a3e73649c0eaef2f6c48ce1e761c6f0a7c11918", + "url": "https://github.com/echasnovski/mini.pairs/archive/1a3e73649c0eaef2f6c48ce1e761c6f0a7c11918.tar.gz", + "hash": "0d0188v3gw2sdqnfly6i12v9036hdk1sg362lkngjmlpnq3m8574" }, "mini-pick": { "type": "Git", @@ -1069,9 +1069,9 @@ "repo": "mini.pick" }, "branch": "main", - "revision": "09ade94d2c9c5133db9ae00f3693d82eae78e9be", - "url": "https://github.com/echasnovski/mini.pick/archive/09ade94d2c9c5133db9ae00f3693d82eae78e9be.tar.gz", - "hash": "00vq7zn0nmbnw19gk8gmm6a60zkxga4s8z6c0ildnq6ldk8q70a3" + "revision": "bdd189e6b7741177db53875cbc6071f1c8dc6fbd", + "url": "https://github.com/echasnovski/mini.pick/archive/bdd189e6b7741177db53875cbc6071f1c8dc6fbd.tar.gz", + "hash": "1cxifi4vlfknk4i2grdrx5nbzw9jzj6s0ybbmwrcvs1cj9dhzbzh" }, "mini-sessions": { "type": "Git", @@ -1081,9 +1081,9 @@ "repo": "mini.sessions" }, "branch": "main", - "revision": "71c9ae596664ac110560d27eb928fc24e22bc53d", - "url": "https://github.com/echasnovski/mini.sessions/archive/71c9ae596664ac110560d27eb928fc24e22bc53d.tar.gz", - "hash": "0yd4li7z6py3c3b6ka9xv070lmrbzf38svq5wl4mhn4fdhqgqadz" + "revision": "f38354b72c11d5bbb2153183fa6ba0cf238147d5", + "url": "https://github.com/echasnovski/mini.sessions/archive/f38354b72c11d5bbb2153183fa6ba0cf238147d5.tar.gz", + "hash": "1m08i9b235bpgyjgajj85i10z991yigrhp3hg5xji9hajn0d67iw" }, "mini-snippets": { "type": "Git", @@ -1093,9 +1093,9 @@ "repo": "mini.snippets" }, "branch": "main", - "revision": "72920f62e3dd1330720e94e8f5d42592f3a1ecf8", - "url": "https://github.com/echasnovski/mini.snippets/archive/72920f62e3dd1330720e94e8f5d42592f3a1ecf8.tar.gz", - "hash": "0lyyv95zzwa6kn3gz7sah6v7jqj635c45n88my2sx8wknadkv30y" + "revision": "04e1c0f8538a4ee0ddc054e30e92a93cb4c1b568", + "url": "https://github.com/echasnovski/mini.snippets/archive/04e1c0f8538a4ee0ddc054e30e92a93cb4c1b568.tar.gz", + "hash": "17fqgsr7id11f1wp6wri1zi67m2vh6i9hdrwj9bgjy4528x7gi6f" }, "mini-splitjoin": { "type": "Git", @@ -1105,9 +1105,9 @@ "repo": "mini.splitjoin" }, "branch": "main", - "revision": "3e92f6764e770ba392325cad3a4497adcada695f", - "url": "https://github.com/echasnovski/mini.splitjoin/archive/3e92f6764e770ba392325cad3a4497adcada695f.tar.gz", - "hash": "126z8rsyg3849ijix1siwq77f9slwr93l61rwg499flzja3incic" + "revision": "efe24ba54f9623cb05698355981ec05278976788", + "url": "https://github.com/echasnovski/mini.splitjoin/archive/efe24ba54f9623cb05698355981ec05278976788.tar.gz", + "hash": "0xnc61cm1zpj8j7j10zgpx4438vmqpdwbqick9rrw9jbmbzcc0p5" }, "mini-starter": { "type": "Git", @@ -1117,9 +1117,9 @@ "repo": "mini.starter" }, "branch": "main", - "revision": "4b257cfc93241e8c8cde3f9302d1616ad4e0d036", - "url": "https://github.com/echasnovski/mini.starter/archive/4b257cfc93241e8c8cde3f9302d1616ad4e0d036.tar.gz", - "hash": "135l18l6n88v8zrdk95dfvw2ycsgd8m4wp9430g74bry99jj95m4" + "revision": "4f46dc11e1dd9f62310794121405853be8d6b13f", + "url": "https://github.com/echasnovski/mini.starter/archive/4f46dc11e1dd9f62310794121405853be8d6b13f.tar.gz", + "hash": "1iic2f3d93fjiqrk0q1iq3sb6ycbw4vag4c01wk5wj1jc58k3iz5" }, "mini-statusline": { "type": "Git", @@ -1129,9 +1129,9 @@ "repo": "mini.statusline" }, "branch": "main", - "revision": "1b0edf76fe2af015f8c989385ff949f1db7aade2", - "url": "https://github.com/echasnovski/mini.statusline/archive/1b0edf76fe2af015f8c989385ff949f1db7aade2.tar.gz", - "hash": "1aiy37p08c95g3dh5f0hvabnnv56dhs4zmpah5lx33j3fbvqs381" + "revision": "83209bfbca156f9e4a5ec47a2a8ce1e5ce26311d", + "url": "https://github.com/echasnovski/mini.statusline/archive/83209bfbca156f9e4a5ec47a2a8ce1e5ce26311d.tar.gz", + "hash": "1hma81mnylbnx812km7zc0xjxbs3bp2pb3bqzsny9w1llxwv7zrr" }, "mini-surround": { "type": "Git", @@ -1141,9 +1141,9 @@ "repo": "mini.surround" }, "branch": "main", - "revision": "aa5e245829dd12d8ff0c96ef11da28681d6049aa", - "url": "https://github.com/echasnovski/mini.surround/archive/aa5e245829dd12d8ff0c96ef11da28681d6049aa.tar.gz", - "hash": "1zslkqg96yfa1lgcwavvcz60waix4y1j1r0v98sxhf8adna8jid2" + "revision": "f90069c7441a5fb04c3de42eacf93e16b64dd3eb", + "url": "https://github.com/echasnovski/mini.surround/archive/f90069c7441a5fb04c3de42eacf93e16b64dd3eb.tar.gz", + "hash": "0bs7y0ai67jlwdz76x6945xvj9f4vqr4qx4vyfg7z7b6k1gzc092" }, "mini-tabline": { "type": "Git", @@ -1153,9 +1153,9 @@ "repo": "mini.tabline" }, "branch": "main", - "revision": "06ef4ecaeca2e362c7d31113435d86d144b3cbbe", - "url": "https://github.com/echasnovski/mini.tabline/archive/06ef4ecaeca2e362c7d31113435d86d144b3cbbe.tar.gz", - "hash": "1z808l3z7ywqxmqwfr1ab9ynyma5c1878x9ski0nrhvw4fli9rwy" + "revision": "46108e2d32b0ec8643ee46df14badedb33f3defe", + "url": "https://github.com/echasnovski/mini.tabline/archive/46108e2d32b0ec8643ee46df14badedb33f3defe.tar.gz", + "hash": "19n37b89dxssx3p3lzr9l7pxmbdh0k2mb14ankpq3cy0ax3mi79c" }, "mini-test": { "type": "Git", @@ -1165,9 +1165,9 @@ "repo": "mini.test" }, "branch": "main", - "revision": "86a64d5a4bf9d73ebf5875edaae0d878f64f5e48", - "url": "https://github.com/echasnovski/mini.test/archive/86a64d5a4bf9d73ebf5875edaae0d878f64f5e48.tar.gz", - "hash": "02zslska1g4ixy51slbvlxbjzcys0spc4wh200q8mwv4ipiignrn" + "revision": "82ae4d87a23faa27e7e4119d4a5cf5897cbf1b70", + "url": "https://github.com/echasnovski/mini.test/archive/82ae4d87a23faa27e7e4119d4a5cf5897cbf1b70.tar.gz", + "hash": "0n3n7j8lkxp6mc0wf80ysnwxfw29zjqyfs3ghjl518xbsvjbgcz6" }, "mini-trailspace": { "type": "Git", @@ -1177,9 +1177,9 @@ "repo": "mini.trailspace" }, "branch": "main", - "revision": "3a328e62559c33014e422fb9ae97afc4208208b1", - "url": "https://github.com/echasnovski/mini.trailspace/archive/3a328e62559c33014e422fb9ae97afc4208208b1.tar.gz", - "hash": "1314bmb8zk3gdpg1wpr1935d0xd0f0cf2f0ipxclbwi07wbjz9i4" + "revision": "9bbbf568c06fe424dc21d2c228fa76098008a5f3", + "url": "https://github.com/echasnovski/mini.trailspace/archive/9bbbf568c06fe424dc21d2c228fa76098008a5f3.tar.gz", + "hash": "1ihd8fbs5imnp5xcllcj6fgpx0y4vclrkfz802q9fl7fqh00dcay" }, "mini-visits": { "type": "Git", @@ -1189,9 +1189,9 @@ "repo": "mini.visits" }, "branch": "main", - "revision": "90f20ba6ab7d3d7cb984fffddd82f5f6c7a6bea7", - "url": "https://github.com/echasnovski/mini.visits/archive/90f20ba6ab7d3d7cb984fffddd82f5f6c7a6bea7.tar.gz", - "hash": "00drzhrxdyrysbdj4fnxk3lzn9alg8xhwfwgrscywvjfks0vbsa3" + "revision": "8a2b551a86c556c8a26ce8d6402d03ded1cc7aec", + "url": "https://github.com/echasnovski/mini.visits/archive/8a2b551a86c556c8a26ce8d6402d03ded1cc7aec.tar.gz", + "hash": "1jwpvxlsr8wd5wakd22ah7h127hsxj6ds7jp5m99w2gnlymhsq41" }, "minimap-vim": { "type": "Git", @@ -1200,10 +1200,10 @@ "owner": "wfxr", "repo": "minimap.vim" }, - "branch": "main", - "revision": "395378137e6180762d5b963ca9ad5ac2db5d3283", - "url": "https://github.com/wfxr/minimap.vim/archive/395378137e6180762d5b963ca9ad5ac2db5d3283.tar.gz", - "hash": "0pfzmlf36in086g83g3sdqdy57jyyh5nbh2lrfmpbr2sg401a7qr" + "branch": "master", + "revision": "57287e2dd28fa3e63276a32d11c729df14741d54", + "url": "https://github.com/wfxr/minimap.vim/archive/57287e2dd28fa3e63276a32d11c729df14741d54.tar.gz", + "hash": "05k4cgcrz0gj92xy685bd4p6nh2jmaywc2f5sw1lap0v685h7n79" }, "modes-nvim": { "type": "Git", @@ -1213,9 +1213,9 @@ "repo": "modes.nvim" }, "branch": "main", - "revision": "c7a4b1b383606832aab150902719bd5eb5cdb2b0", - "url": "https://github.com/mvllow/modes.nvim/archive/c7a4b1b383606832aab150902719bd5eb5cdb2b0.tar.gz", - "hash": "1hy3ghscf8hfmg487p9b8cwd0y8nsi8j24kq2ir3vhd82gqhl4ja" + "revision": "1e34663c32e8f5d915921a938e0dc4e3e788ceb8", + "url": "https://github.com/mvllow/modes.nvim/archive/1e34663c32e8f5d915921a938e0dc4e3e788ceb8.tar.gz", + "hash": "07dara1m8igb6yr8jx62rl8jr71s51vxphiyk8i206bzmbx120ay" }, "multicursors-nvim": { "type": "GitRelease", @@ -1240,9 +1240,9 @@ "repo": "neo-tree.nvim" }, "branch": "main", - "revision": "a9f8943b4c31f8460d25c71e0f463d65e9775f1c", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/a9f8943b4c31f8460d25c71e0f463d65e9775f1c.tar.gz", - "hash": "1zhjd322jqmp8cs7z7nwgc3vkbf0as3an64qh5diwv04kdwjg4xm" + "revision": "c2f12ba9dba917d53dba13121c15d7903e28c24d", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/c2f12ba9dba917d53dba13121c15d7903e28c24d.tar.gz", + "hash": "07hh7gjjp4zdhwdhrrd3mvndd6cqf0lydhsb5hn0aqagm65z2jm3" }, "neocord": { "type": "Git", @@ -1264,9 +1264,9 @@ "repo": "neorg" }, "branch": "main", - "revision": "6b945909d84b5aeadc875f9b3f529ec44b9bc60f", - "url": "https://github.com/nvim-neorg/neorg/archive/6b945909d84b5aeadc875f9b3f529ec44b9bc60f.tar.gz", - "hash": "0dm8s47w57gh77vaarmz64yvmv68f9ybygq65zbblya4miqknzy4" + "revision": "b47b4d3138beef51ffbf59bcbd7d149150b4bd2e", + "url": "https://github.com/nvim-neorg/neorg/archive/b47b4d3138beef51ffbf59bcbd7d149150b4bd2e.tar.gz", + "hash": "1x9sk24i8gyxssc8qz99x3d5nh3m2pi3srmv1f3fbgpffcgvl1yv" }, "neorg-telescope": { "type": "Git", @@ -1287,10 +1287,10 @@ "owner": "Shatur", "repo": "neovim-session-manager" }, - "branch": "main", - "revision": "ce43f2eb2a52492157d7742e5f684b9a42bb3e5c", - "url": "https://github.com/Shatur/neovim-session-manager/archive/ce43f2eb2a52492157d7742e5f684b9a42bb3e5c.tar.gz", - "hash": "0g2vfv9jjmsgagvhdffs3z37w5xa1nlwanq74w8c62y7amyyvn2v" + "branch": "master", + "revision": "270e235b014f0c37bf362eb1e8913d66bba33a2e", + "url": "https://github.com/Shatur/neovim-session-manager/archive/270e235b014f0c37bf362eb1e8913d66bba33a2e.tar.gz", + "hash": "16455f05wj5qjdvspj0hjwa77hsdhj3443h57lck3px33bz7n86h" }, "new-file-template-nvim": { "type": "Git", @@ -1299,7 +1299,7 @@ "owner": "otavioschwanck", "repo": "new-file-template.nvim" }, - "branch": "main", + "branch": "master", "revision": "6ac66669dbf2dc5cdee184a4fe76d22465ca67e8", "url": "https://github.com/otavioschwanck/new-file-template.nvim/archive/6ac66669dbf2dc5cdee184a4fe76d22465ca67e8.tar.gz", "hash": "0c7378c3w6bniclp666rq15c28akb0sjy58ayva0wpyin4k26hl3" @@ -1312,9 +1312,9 @@ "repo": "noice.nvim" }, "branch": "main", - "revision": "eaed6cc9c06aa2013b5255349e4f26a6b17ab70f", - "url": "https://github.com/folke/noice.nvim/archive/eaed6cc9c06aa2013b5255349e4f26a6b17ab70f.tar.gz", - "hash": "0imw4ls3vqh8bg358y8ckxcbylhczr297zxhcfx6r7mf64sj171s" + "revision": "0427460c2d7f673ad60eb02b35f5e9926cf67c59", + "url": "https://github.com/folke/noice.nvim/archive/0427460c2d7f673ad60eb02b35f5e9926cf67c59.tar.gz", + "hash": "000y204jli68kg0s0dsqx78gkbg8zr9h2i2lzddvypfxgqjvfayk" }, "none-ls-nvim": { "type": "Git", @@ -1336,9 +1336,9 @@ "repo": "nord.nvim" }, "branch": "main", - "revision": "b0f3ed242fd8e5bafa7231367821d46c6c835dd8", - "url": "https://github.com/gbprod/nord.nvim/archive/b0f3ed242fd8e5bafa7231367821d46c6c835dd8.tar.gz", - "hash": "0yr5b30dxrdrbv8210fmh35wgz3z26274aj5irzal33liznx4436" + "revision": "57fb474a1d628bdf9d1e7964719464ed5675d7c7", + "url": "https://github.com/gbprod/nord.nvim/archive/57fb474a1d628bdf9d1e7964719464ed5675d7c7.tar.gz", + "hash": "1qdrss698sllsv0dkpfj6idap5w0dhkjwmy59kgafpdv0xyid2gp" }, "nui-nvim": { "type": "Git", @@ -1359,10 +1359,10 @@ "owner": "windwp", "repo": "nvim-autopairs" }, - "branch": "main", - "revision": "b464658e9b880f463b9f7e6ccddd93fb0013f559", - "url": "https://github.com/windwp/nvim-autopairs/archive/b464658e9b880f463b9f7e6ccddd93fb0013f559.tar.gz", - "hash": "0p4v49saqfsc8kinl3wc3zhmr6m2q86vmay2f10payp29n4v3did" + "branch": "master", + "revision": "68f0e5c3dab23261a945272032ee6700af86227a", + "url": "https://github.com/windwp/nvim-autopairs/archive/68f0e5c3dab23261a945272032ee6700af86227a.tar.gz", + "hash": "1ai3s1083dx6bddhrkv7d3hyq3zsrblizbvpgl09r1w9cijxhj8m" }, "nvim-bufferline-lua": { "type": "Git", @@ -1372,9 +1372,9 @@ "repo": "nvim-bufferline.lua" }, "branch": "main", - "revision": "261a72b90d6db4ed8014f7bda976bcdc9dd7ce76", - "url": "https://github.com/akinsho/nvim-bufferline.lua/archive/261a72b90d6db4ed8014f7bda976bcdc9dd7ce76.tar.gz", - "hash": "1cp9md0pv0m1866fynasam01bdcqj5fvfcfqqq5licxfr0cgdb6f" + "revision": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3", + "url": "https://github.com/akinsho/nvim-bufferline.lua/archive/655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3.tar.gz", + "hash": "0m5363rpbjgvsnbhp9yrivbqj17lmrb5m57lpnq7dgxsmw3hrvk9" }, "nvim-cmp": { "type": "Git", @@ -1384,9 +1384,9 @@ "repo": "nvim-cmp" }, "branch": "main", - "revision": "b555203ce4bd7ff6192e759af3362f9d217e8c89", - "url": "https://github.com/hrsh7th/nvim-cmp/archive/b555203ce4bd7ff6192e759af3362f9d217e8c89.tar.gz", - "hash": "1s3wiwhnqp046skxp60sdrvzhrij4javhm9ndvfsw2fv9bc35x37" + "revision": "5a11682453ac6b13dbf32cd403da4ee9c07ef1c3", + "url": "https://github.com/hrsh7th/nvim-cmp/archive/5a11682453ac6b13dbf32cd403da4ee9c07ef1c3.tar.gz", + "hash": "06n3barrl80i0y43q250l49q07f7hry9w5ggwlimv7jxvilih43l" }, "nvim-colorizer-lua": { "type": "Git", @@ -1395,10 +1395,10 @@ "owner": "NvChad", "repo": "nvim-colorizer.lua" }, - "branch": "main", - "revision": "8a65c448122fc8fac9c67b2e857b6e830a4afd0b", - "url": "https://github.com/NvChad/nvim-colorizer.lua/archive/8a65c448122fc8fac9c67b2e857b6e830a4afd0b.tar.gz", - "hash": "011i0jrx74siilym2lclbv2wcz04g7v7776qw8zhggdsmvgsrsma" + "branch": "master", + "revision": "943be69156b94fbc96064f4913d653f0c7fb299f", + "url": "https://github.com/NvChad/nvim-colorizer.lua/archive/943be69156b94fbc96064f4913d653f0c7fb299f.tar.gz", + "hash": "0fb973i0h0dq02zr7c9ivm9vk64w6h3px9db2gqb6rzrm2inf0m1" }, "nvim-cursorline": { "type": "Git", @@ -1419,10 +1419,10 @@ "owner": "mfussenegger", "repo": "nvim-dap" }, - "branch": "main", - "revision": "ffb077e65259f13be096ea6d603e3575a76b214a", - "url": "https://github.com/mfussenegger/nvim-dap/archive/ffb077e65259f13be096ea6d603e3575a76b214a.tar.gz", - "hash": "0sfqxhqm3gmw8q9w60nz5cm3yj9qnq5mxm584f0g83jvdy59f9p6" + "branch": "master", + "revision": "6e0e8ab4d8ed520076971465a4388dfe54a91d83", + "url": "https://github.com/mfussenegger/nvim-dap/archive/6e0e8ab4d8ed520076971465a4388dfe54a91d83.tar.gz", + "hash": "09skngq8caazmggdmqs7490i8icg6fxzwf1nxkc0hkg6ja82b0nb" }, "nvim-dap-go": { "type": "Git", @@ -1432,9 +1432,9 @@ "repo": "nvim-dap-go" }, "branch": "main", - "revision": "6aa88167ea1224bcef578e8c7160fe8afbb44848", - "url": "https://github.com/leoluz/nvim-dap-go/archive/6aa88167ea1224bcef578e8c7160fe8afbb44848.tar.gz", - "hash": "0ik9jnd561ipdclmxpbc0b1b4qykhkaqmmc2wr9iw4gmszjskhf1" + "revision": "8763ced35b19c8dc526e04a70ab07c34e11ad064", + "url": "https://github.com/leoluz/nvim-dap-go/archive/8763ced35b19c8dc526e04a70ab07c34e11ad064.tar.gz", + "hash": "1s4vkq2ni9a5df455qn6qbj44r82rcghkcbkifxdcmz2kvmq3wmn" }, "nvim-dap-ui": { "type": "Git", @@ -1443,10 +1443,10 @@ "owner": "rcarriga", "repo": "nvim-dap-ui" }, - "branch": "main", - "revision": "e94d98649dccb6a3884b66aabc2e07beb279e535", - "url": "https://github.com/rcarriga/nvim-dap-ui/archive/e94d98649dccb6a3884b66aabc2e07beb279e535.tar.gz", - "hash": "06vk5h3z3sp048fnwpy0fdf5q0q41wrnaqbfbaa5vdbpki103hm6" + "branch": "master", + "revision": "bc81f8d3440aede116f821114547a476b082b319", + "url": "https://github.com/rcarriga/nvim-dap-ui/archive/bc81f8d3440aede116f821114547a476b082b319.tar.gz", + "hash": "0hk34mfjxqiq82faf3q75ixpxd822vh8zbl1i5pvx6akn4v3mxk7" }, "nvim-docs-view": { "type": "Git", @@ -1455,7 +1455,7 @@ "owner": "amrbashir", "repo": "nvim-docs-view" }, - "branch": "main", + "branch": "master", "revision": "1b97f8f954d74c46061bf289b6cea9232484c12c", "url": "https://github.com/amrbashir/nvim-docs-view/archive/1b97f8f954d74c46061bf289b6cea9232484c12c.tar.gz", "hash": "1xi0w20fq3yziwdjld1xhkm7dr0ihbbq2hik0qsckd7y73qqg5kg" @@ -1467,10 +1467,10 @@ "owner": "kosayoda", "repo": "nvim-lightbulb" }, - "branch": "main", - "revision": "3ac0791be37ba9cc7939f1ad90ebc5e75abf4eea", - "url": "https://github.com/kosayoda/nvim-lightbulb/archive/3ac0791be37ba9cc7939f1ad90ebc5e75abf4eea.tar.gz", - "hash": "0qc1rl45ykh9552dx5fmhdg0ncfsk2vpcmj5i7hrmdzgkd2f0avg" + "branch": "master", + "revision": "f7f61c47af5bf701b1f4af127bc565ab6491acbf", + "url": "https://github.com/kosayoda/nvim-lightbulb/archive/f7f61c47af5bf701b1f4af127bc565ab6491acbf.tar.gz", + "hash": "1wg7yib9qn8ybsk615kw1g8b3g5zbpdldp6bb7ax0jwxsn5nwwfb" }, "nvim-lint": { "type": "Git", @@ -1491,10 +1491,10 @@ "owner": "neovim", "repo": "nvim-lspconfig" }, - "branch": "main", - "revision": "8b15a1a597a59f4f5306fad9adfe99454feab743", - "url": "https://github.com/neovim/nvim-lspconfig/archive/8b15a1a597a59f4f5306fad9adfe99454feab743.tar.gz", - "hash": "11mnsm4yaxd5ipmx7cn787f40zgbdx5hfdb3k6cryxfqja74gbg9" + "branch": "master", + "revision": "9e932edb0af4e20880685ddb96a231669fbe8091", + "url": "https://github.com/neovim/nvim-lspconfig/archive/9e932edb0af4e20880685ddb96a231669fbe8091.tar.gz", + "hash": "08hwg32a9yj78w4mh2idcpaig9qbx48ak8aqkp88z4wm65299v4r" }, "nvim-metals": { "type": "Git", @@ -1504,9 +1504,9 @@ "repo": "nvim-metals" }, "branch": "main", - "revision": "e6b02c99161b43c67cfe1d6e5f9a9b9a0bb4701c", - "url": "https://github.com/scalameta/nvim-metals/archive/e6b02c99161b43c67cfe1d6e5f9a9b9a0bb4701c.tar.gz", - "hash": "10zyg59klx9ynqjnkmn9hhp27l9f4vzqibj8xqrnxfdrgryppm8v" + "revision": "5d27f4918ea954772725d6741f84a71cfaff932a", + "url": "https://github.com/scalameta/nvim-metals/archive/5d27f4918ea954772725d6741f84a71cfaff932a.tar.gz", + "hash": "17769ccpkkb53bikhfp2m809xs6p0mszb8d1hnssp1l0s3ip2j1f" }, "nvim-navbuddy": { "type": "Git", @@ -1515,7 +1515,7 @@ "owner": "SmiteshP", "repo": "nvim-navbuddy" }, - "branch": "main", + "branch": "master", "revision": "f22bac988f2dd073601d75ba39ea5636ab6e38cb", "url": "https://github.com/SmiteshP/nvim-navbuddy/archive/f22bac988f2dd073601d75ba39ea5636ab6e38cb.tar.gz", "hash": "034pmg403y0y1fxnb1jv291mr016bx1vn68y543v6v4dpbdlr7di" @@ -1527,7 +1527,7 @@ "owner": "SmiteshP", "repo": "nvim-navic" }, - "branch": "main", + "branch": "master", "revision": "8649f694d3e76ee10c19255dece6411c29206a54", "url": "https://github.com/SmiteshP/nvim-navic/archive/8649f694d3e76ee10c19255dece6411c29206a54.tar.gz", "hash": "0964wgwh6i4nm637vx36bshkpd5i63ipwzqmrdbkz5h9bzyng7nj" @@ -1540,9 +1540,9 @@ "repo": "nvim-neoclip.lua" }, "branch": "main", - "revision": "5e5e010251281f4aea69cfc1d4976ffe6065cf0f", - "url": "https://github.com/AckslD/nvim-neoclip.lua/archive/5e5e010251281f4aea69cfc1d4976ffe6065cf0f.tar.gz", - "hash": "1fdm1k6gdhgi8vz4kfi2v40fjp4c1rnc6fb4bmmr3x6ca25ij8s4" + "revision": "831a97c7697736411a05ff8b91e8798ea4c2d6fb", + "url": "https://github.com/AckslD/nvim-neoclip.lua/archive/831a97c7697736411a05ff8b91e8798ea4c2d6fb.tar.gz", + "hash": "11nc3c04ljgh34jjjmyhanwbd4kmkay109168q88yfy6n6l2jf92" }, "nvim-nio": { "type": "Git", @@ -1551,10 +1551,10 @@ "owner": "nvim-neotest", "repo": "nvim-nio" }, - "branch": "main", - "revision": "a428f309119086dc78dd4b19306d2d67be884eee", - "url": "https://github.com/nvim-neotest/nvim-nio/archive/a428f309119086dc78dd4b19306d2d67be884eee.tar.gz", - "hash": "0n40q6znpy1xzywd1hwyivx7y1n0i0fcp3m7jp0vgipm6qssda4b" + "branch": "master", + "revision": "21f5324bfac14e22ba26553caf69ec76ae8a7662", + "url": "https://github.com/nvim-neotest/nvim-nio/archive/21f5324bfac14e22ba26553caf69ec76ae8a7662.tar.gz", + "hash": "1bz5msxwk232zkkhfxcmr7a665la8pgkdx70q99ihl4x04jg6dkq" }, "nvim-notify": { "type": "Git", @@ -1563,10 +1563,10 @@ "owner": "rcarriga", "repo": "nvim-notify" }, - "branch": "main", - "revision": "c3797193536711b5d8983975791c4b11dc35ab3a", - "url": "https://github.com/rcarriga/nvim-notify/archive/c3797193536711b5d8983975791c4b11dc35ab3a.tar.gz", - "hash": "003llmakicwzf0dkcnap6anwcr8kkvazfxy59shdb8zdnahfjc7n" + "branch": "master", + "revision": "22f29093eae7785773ee9d543f8750348b1a195c", + "url": "https://github.com/rcarriga/nvim-notify/archive/22f29093eae7785773ee9d543f8750348b1a195c.tar.gz", + "hash": "0nnxmi65ppmn8dzwh38vx2w7w6piq0i28mw0s32wa31xn5rmzwza" }, "nvim-scrollbar": { "type": "Git", @@ -1588,9 +1588,9 @@ "repo": "nvim-surround" }, "branch": "main", - "revision": "9f0cb495f25bff32c936062d85046fbda0c43517", - "url": "https://github.com/kylechui/nvim-surround/archive/9f0cb495f25bff32c936062d85046fbda0c43517.tar.gz", - "hash": "1c78320liqhza52gq2xylykd9m6rl50cn44flldg43a4l7rrabxh" + "revision": "ae298105122c87bbe0a36b1ad20b06d417c0433e", + "url": "https://github.com/kylechui/nvim-surround/archive/ae298105122c87bbe0a36b1ad20b06d417c0433e.tar.gz", + "hash": "1xrkg4is4spjwkzr6l0qmn3axlrm52d2wm69g2db83jww756pz1h" }, "nvim-tree-lua": { "type": "Git", @@ -1599,10 +1599,10 @@ "owner": "nvim-tree", "repo": "nvim-tree.lua" }, - "branch": "main", - "revision": "68fc4c20f5803444277022c681785c5edd11916d", - "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/68fc4c20f5803444277022c681785c5edd11916d.tar.gz", - "hash": "08024p6w208ygn7qd74kj6yxras8qfd5f8w0qdqpyg6qbggqzyg0" + "branch": "master", + "revision": "6709463b2d18e77f7a946027917aa00d4aaed6f4", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/6709463b2d18e77f7a946027917aa00d4aaed6f4.tar.gz", + "hash": "1m26fvvsj4lxlwdinvnz8nz968n6x59w8n7zj7vsqm5i8yi84fr6" }, "nvim-treesitter-context": { "type": "Git", @@ -1611,10 +1611,10 @@ "owner": "nvim-treesitter", "repo": "nvim-treesitter-context" }, - "branch": "main", - "revision": "2bcf700b59bc92850ca83a1c02e86ba832e0fae0", - "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/2bcf700b59bc92850ca83a1c02e86ba832e0fae0.tar.gz", - "hash": "0xs3ha4zd96rzy5w9hyjzyyq88nnv1bnkgg2splfmnf3mhy4r0ac" + "branch": "master", + "revision": "198720b4016af04c9590f375d714d5bf8afecc1a", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/198720b4016af04c9590f375d714d5bf8afecc1a.tar.gz", + "hash": "13msw9i509ncysbgkqbl2wr1c23iw3f4mxkw30sc1yk9x9nx49ri" }, "nvim-ts-autotag": { "type": "Git", @@ -1624,9 +1624,9 @@ "repo": "nvim-ts-autotag" }, "branch": "main", - "revision": "1cca23c9da708047922d3895a71032bc0449c52d", - "url": "https://github.com/windwp/nvim-ts-autotag/archive/1cca23c9da708047922d3895a71032bc0449c52d.tar.gz", - "hash": "0fp8q08giyf4vi25hylsjmawcx56l5xhgmj3rli3ca9k28a56qxz" + "revision": "a1d526af391f6aebb25a8795cbc05351ed3620b5", + "url": "https://github.com/windwp/nvim-ts-autotag/archive/a1d526af391f6aebb25a8795cbc05351ed3620b5.tar.gz", + "hash": "1wl30qr6xs6xwx0s3yjkprxp802dhg45rzdiwpr9v6mwbsm5qw3b" }, "nvim-ufo": { "type": "Git", @@ -1636,9 +1636,9 @@ "repo": "nvim-ufo" }, "branch": "main", - "revision": "32cb247b893a384f1888b9cd737264159ecf183c", - "url": "https://github.com/kevinhwang91/nvim-ufo/archive/32cb247b893a384f1888b9cd737264159ecf183c.tar.gz", - "hash": "0p2f5p1nky56m666lbl8g111pf6h4piv8a29z86kdhm9hadrzp3s" + "revision": "a52c92c3bbaa10f0c9b547a50adaa8c7d8b29f94", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/a52c92c3bbaa10f0c9b547a50adaa8c7d8b29f94.tar.gz", + "hash": "1fv3rhny1d8wgxd3h3fy4vv05nb0fz506sk2in8rkmwlzwixl2wn" }, "nvim-web-devicons": { "type": "Git", @@ -1647,10 +1647,10 @@ "owner": "nvim-tree", "repo": "nvim-web-devicons" }, - "branch": "main", - "revision": "4adeeaa7a32d46cf3b5833341358c797304f950a", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/4adeeaa7a32d46cf3b5833341358c797304f950a.tar.gz", - "hash": "1bnw6k9nki7igc7j4y02mbmihfb5yj7xykgiyi31kc5nbzldinl7" + "branch": "master", + "revision": "1020869742ecb191f260818234517f4a1515cfe8", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/1020869742ecb191f260818234517f4a1515cfe8.tar.gz", + "hash": "024c8c5d6lpakgf9jxzrbkxk3r8haxa7qhmp8i4zsg35ycg6vqaq" }, "obsidian-nvim": { "type": "Git", @@ -1672,9 +1672,9 @@ "repo": "omnisharp-extended-lsp.nvim" }, "branch": "main", - "revision": "4916fa12e5b28d21a1f031f0bdd10aa15a75d85d", - "url": "https://github.com/Hoffs/omnisharp-extended-lsp.nvim/archive/4916fa12e5b28d21a1f031f0bdd10aa15a75d85d.tar.gz", - "hash": "0w2zbiz2sxblnmhnqp6f6n7d9g9cm40ksk66anl3s7qnqffvc3cl" + "revision": "ec1a2431f8872f650a85ed71c24f0715df2e49c2", + "url": "https://github.com/Hoffs/omnisharp-extended-lsp.nvim/archive/ec1a2431f8872f650a85ed71c24f0715df2e49c2.tar.gz", + "hash": "14wgsvbxlid2qx0yyy6g10d5v37dkf5d75cwffmmgf0pzs88z004" }, "onedark": { "type": "Git", @@ -1683,7 +1683,7 @@ "owner": "navarasu", "repo": "onedark.nvim" }, - "branch": "main", + "branch": "master", "revision": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6", "url": "https://github.com/navarasu/onedark.nvim/archive/67a74c275d1116d575ab25485d1bfa6b2a9c38a6.tar.gz", "hash": "1pfyz3ascxs3sxl878qcirp9jsz77kpl2ks3wxkcv8ql4psymc9l" @@ -1695,10 +1695,10 @@ "owner": "nvim-orgmode", "repo": "orgmode" }, - "branch": "main", - "revision": "bf657742f7cb56211f99946ff64f5f87d7d7f0d0", - "url": "https://github.com/nvim-orgmode/orgmode/archive/bf657742f7cb56211f99946ff64f5f87d7d7f0d0.tar.gz", - "hash": "074493jfhgihp5zyyl86f9hfa2j6qdgw35q87vvdbmmj6rwhjmhk" + "branch": "master", + "revision": "c0cdcbdced83ceb9b9f058b402a8bfc5f64ab3a6", + "url": "https://github.com/nvim-orgmode/orgmode/archive/c0cdcbdced83ceb9b9f058b402a8bfc5f64ab3a6.tar.gz", + "hash": "0qwv2pg4s9spmy5wvkvflhcb0a2drlygch6hmjanj3g2kkn3ph5f" }, "otter-nvim": { "type": "Git", @@ -1708,9 +1708,9 @@ "repo": "otter.nvim" }, "branch": "main", - "revision": "e8c662e1aefa8b483cfba6e00729a39a363dcecc", - "url": "https://github.com/jmbuhr/otter.nvim/archive/e8c662e1aefa8b483cfba6e00729a39a363dcecc.tar.gz", - "hash": "0csl3ddm8782fw836adj4fp4h3fg2ygv7ik632llk55mp1q4dw1l" + "revision": "21f042f4d1a9ff4788634ad76a10033eed13c7f2", + "url": "https://github.com/jmbuhr/otter.nvim/archive/21f042f4d1a9ff4788634ad76a10033eed13c7f2.tar.gz", + "hash": "1gi603ckyxljbhkg8jhwh2pf5kvgb676ykw3sv9gvi0c2s4fb55r" }, "oxocarbon": { "type": "Git", @@ -1743,10 +1743,10 @@ "owner": "nvim-lua", "repo": "plenary.nvim" }, - "branch": "main", - "revision": "2d9b06177a975543726ce5c73fca176cedbffe9d", - "url": "https://github.com/nvim-lua/plenary.nvim/archive/2d9b06177a975543726ce5c73fca176cedbffe9d.tar.gz", - "hash": "1blmh0qr010jhydw61kiynll2m7q4xyrvrva8b5ipf1g81x8ysbf" + "branch": "master", + "revision": "857c5ac632080dba10aae49dba902ce3abf91b35", + "url": "https://github.com/nvim-lua/plenary.nvim/archive/857c5ac632080dba10aae49dba902ce3abf91b35.tar.gz", + "hash": "0jxx9nfga7z87v78cifglqs8w4mrpf99wcp483kb0hbv6537jmgh" }, "precognition-nvim": { "type": "Git", @@ -1756,9 +1756,9 @@ "repo": "precognition.nvim" }, "branch": "main", - "revision": "531971e6d883e99b1572bf47294e22988d8fbec0", - "url": "https://github.com/tris203/precognition.nvim/archive/531971e6d883e99b1572bf47294e22988d8fbec0.tar.gz", - "hash": "1mm3gzv882kd0kmqj0zfk6hlw5fxbk7jz16g1h7g8xs2mjh4lxwv" + "revision": "24f2cc51dccecec4cf3de04bfbd14f5b9e79df0b", + "url": "https://github.com/tris203/precognition.nvim/archive/24f2cc51dccecec4cf3de04bfbd14f5b9e79df0b.tar.gz", + "hash": "0x7i2cim9jwc90v11wm61qbbq54m5581hsvj5jaash3gb5piacvw" }, "project-nvim": { "type": "Git", @@ -1791,10 +1791,10 @@ "owner": "HiPhish", "repo": "rainbow-delimiters.nvim" }, - "branch": "main", - "revision": "85b80abaa09cbbc039e3095b2f515b3cf8cadd11", - "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/85b80abaa09cbbc039e3095b2f515b3cf8cadd11.tar.gz", - "hash": "0k1hqjyr9xxbg2087qssglv6dgnq81w671d3rqn7lxnprmidfqfd" + "branch": "master", + "revision": "011d98eaa3a73b5a51d82ce5bc6b1397dde95562", + "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/011d98eaa3a73b5a51d82ce5bc6b1397dde95562.tar.gz", + "hash": "0b2hr4afdp9b30ckh772bg5wbscgdjvssn533988and27jassfaf" }, "registers-nvim": { "type": "Git", @@ -1816,9 +1816,9 @@ "repo": "render-markdown.nvim" }, "branch": "main", - "revision": "6fbd1491abc104409f119685de5353c35c97c005", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/6fbd1491abc104409f119685de5353c35c97c005.tar.gz", - "hash": "081r1a7rhmmla80i6bg1lmld9lkjhzgkh2rvlpvka889zl36mhcx" + "revision": "57fa691b9e374c6539cc0340062dac8f42d4bd8b", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/57fa691b9e374c6539cc0340062dac8f42d4bd8b.tar.gz", + "hash": "1kfzj1sj1ljy3ihp7ic3n4cs82im61yh6xvr68m39jg5a1zmy9iv" }, "rose-pine": { "type": "Git", @@ -1828,9 +1828,9 @@ "repo": "neovim" }, "branch": "main", - "revision": "91548dca53b36dbb9d36c10f114385f759731be1", - "url": "https://github.com/rose-pine/neovim/archive/91548dca53b36dbb9d36c10f114385f759731be1.tar.gz", - "hash": "00zhx2j5lm27pcfaimzbkil61gfc6cxyy1dcgc4cyb8vfi8psf3s" + "revision": "3fe41d3959110139e03bcbc6c0c648be83d06b33", + "url": "https://github.com/rose-pine/neovim/archive/3fe41d3959110139e03bcbc6c0c648be83d06b33.tar.gz", + "hash": "105bdjw4phv5229yp0zyrkvf8v6l38rgcp83qy7ap9vlna57fk46" }, "rtp-nvim": { "type": "Git", @@ -1863,10 +1863,10 @@ "owner": "mrcjkb", "repo": "rustaceanvim" }, - "branch": "main", - "revision": "51c097ebfb65d83baa71f48000b1e5c0a8dcc4fb", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/51c097ebfb65d83baa71f48000b1e5c0a8dcc4fb.tar.gz", - "hash": "0c1gixywf7781h4af9bic07spgmxyx9ddxcrgy5b9da7phcmgimr" + "branch": "master", + "revision": "2feffcf9aa0e160221caafd544c4dedf30414522", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/2feffcf9aa0e160221caafd544c4dedf30414522.tar.gz", + "hash": "1x3fw90k78s3kx3hrhgk1zdv9wd2kbkhmip06q5s61p4zw6bns5r" }, "smartcolumn-nvim": { "type": "Git", @@ -1876,9 +1876,9 @@ "repo": "smartcolumn.nvim" }, "branch": "main", - "revision": "f14fbea6f86cd29df5042897ca9e3ba10ba4d27f", - "url": "https://github.com/m4xshen/smartcolumn.nvim/archive/f14fbea6f86cd29df5042897ca9e3ba10ba4d27f.tar.gz", - "hash": "1d0p906dr4wzc73zsm1pyc3fl9a6ns8i6hkl0ynvx72hj01is6p9" + "revision": "92f3773af80d674f1eb61e112dca79e2fa449fd1", + "url": "https://github.com/m4xshen/smartcolumn.nvim/archive/92f3773af80d674f1eb61e112dca79e2fa449fd1.tar.gz", + "hash": "0k1xnyvblshn4fhbxgl0i34j22n55xlwr09sdmb23l57br5rb07q" }, "sqls-nvim": { "type": "Git", @@ -1899,7 +1899,7 @@ "owner": "godlygeek", "repo": "tabular" }, - "branch": "main", + "branch": "master", "revision": "12437cd1b53488e24936ec4b091c9324cafee311", "url": "https://github.com/godlygeek/tabular/archive/12437cd1b53488e24936ec4b091c9324cafee311.tar.gz", "hash": "1cnh21yhcn2f4fajdr2b6hrclnhf1sz4abra4nw7b5yk1mvfjq5a" @@ -1911,10 +1911,10 @@ "owner": "nvim-telescope", "repo": "telescope.nvim" }, - "branch": "main", - "revision": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc", - "url": "https://github.com/nvim-telescope/telescope.nvim/archive/2eca9ba22002184ac05eddbe47a7fe2d5a384dfc.tar.gz", - "hash": "0bkpys6dj01x6ycylmf6vrd2mqjibmny9a2hxxrqn0jqqvagm5ly" + "branch": "master", + "revision": "814f102cd1da3dc78c7d2f20f2ef3ed3cdf0e6e4", + "url": "https://github.com/nvim-telescope/telescope.nvim/archive/814f102cd1da3dc78c7d2f20f2ef3ed3cdf0e6e4.tar.gz", + "hash": "0lbsq6x5bf7l54x7rkdkh7pa63afsgf0jnm0zf9ig7fw2lh18b8f" }, "tiny-devicons-auto-colors-nvim": { "type": "Git", @@ -1924,9 +1924,9 @@ "repo": "tiny-devicons-auto-colors.nvim" }, "branch": "main", - "revision": "c8f63933ee013c1e0a26091d58131e060546f01f", - "url": "https://github.com/rachartier/tiny-devicons-auto-colors.nvim/archive/c8f63933ee013c1e0a26091d58131e060546f01f.tar.gz", - "hash": "04mf9vkf7q3bxz79v1qp0r40sdql065vn4mfnavh71sqywm1jmcj" + "revision": "51f548421f8a74680eff27d283c9d5ea6e8d0074", + "url": "https://github.com/rachartier/tiny-devicons-auto-colors.nvim/archive/51f548421f8a74680eff27d283c9d5ea6e8d0074.tar.gz", + "hash": "1nps9l2bagnxb5948rc6ggvc48097kza5ijl33vz0msdriqnkznf" }, "todo-comments-nvim": { "type": "Git", @@ -1936,9 +1936,9 @@ "repo": "todo-comments.nvim" }, "branch": "main", - "revision": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0", - "url": "https://github.com/folke/todo-comments.nvim/archive/ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0.tar.gz", - "hash": "0v6vn3f9svj756ds8cp0skpw65xixlx1f3aj0fh374wdpb5i4zhh" + "revision": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5", + "url": "https://github.com/folke/todo-comments.nvim/archive/304a8d204ee787d2544d8bc23cd38d2f929e7cc5.tar.gz", + "hash": "0hrmiaxjp11200nds3y33brj8gpbn5ykd78jfy1jiash3d44xpva" }, "toggleterm-nvim": { "type": "Git", @@ -1948,9 +1948,9 @@ "repo": "toggleterm.nvim" }, "branch": "main", - "revision": "344fc1810292785b3d962ddac2de57669e1a7ff9", - "url": "https://github.com/akinsho/toggleterm.nvim/archive/344fc1810292785b3d962ddac2de57669e1a7ff9.tar.gz", - "hash": "0awj2kj3lam2j48bgld5wyb4m1v09gpxmzww35rgysq7wipliqx1" + "revision": "e76134e682c1a866e3dfcdaeb691eb7b01068668", + "url": "https://github.com/akinsho/toggleterm.nvim/archive/e76134e682c1a866e3dfcdaeb691eb7b01068668.tar.gz", + "hash": "1jyg3nv54kssz2a4blpwhd718msf95zqz6sr2sqblc7b35gm73g1" }, "tokyonight": { "type": "Git", @@ -1960,9 +1960,9 @@ "repo": "tokyonight.nvim" }, "branch": "main", - "revision": "45d22cf0e1b93476d3b6d362d720412b3d34465c", - "url": "https://github.com/folke/tokyonight.nvim/archive/45d22cf0e1b93476d3b6d362d720412b3d34465c.tar.gz", - "hash": "1038ff6i8csxx3cqccgbpv06slvbcs534cfkq7s58ww2vvldm7sc" + "revision": "057ef5d260c1931f1dffd0f052c685dcd14100a3", + "url": "https://github.com/folke/tokyonight.nvim/archive/057ef5d260c1931f1dffd0f052c685dcd14100a3.tar.gz", + "hash": "002rzmdxq45bdyd27i8k8lhdcwxn9l4v6x5cm6g7v1213m0n25np" }, "trouble": { "type": "Git", @@ -1972,9 +1972,9 @@ "repo": "trouble.nvim" }, "branch": "main", - "revision": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6", - "url": "https://github.com/folke/trouble.nvim/archive/46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6.tar.gz", - "hash": "12ky8alz6zi2vlqspnacmkj99d4sam4hrzs92i3n4sz6jx2w8696" + "revision": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3", + "url": "https://github.com/folke/trouble.nvim/archive/85bedb7eb7fa331a2ccbecb9202d8abba64d37b3.tar.gz", + "hash": "0qn84q75dk2vbw2shh7g9i3x8m5wnhcg17zx26njpl0srykp1vva" }, "ts-error-translator-nvim": { "type": "Git", @@ -1995,10 +1995,10 @@ "owner": "chomosuke", "repo": "typst-preview.nvim" }, - "branch": "main", - "revision": "c1100e8788baabe8ca8f8cd7fd63d3d479e49e36", - "url": "https://github.com/chomosuke/typst-preview.nvim/archive/c1100e8788baabe8ca8f8cd7fd63d3d479e49e36.tar.gz", - "hash": "1xjdfk20k0rjg8z76n57iadr7nkvfvx960gh1lc1d0ji2vpyz93p" + "branch": "master", + "revision": "df393b47c5bc35abe4d60bb479afd0c15802fda8", + "url": "https://github.com/chomosuke/typst-preview.nvim/archive/df393b47c5bc35abe4d60bb479afd0c15802fda8.tar.gz", + "hash": "1k4ir8ss25fm58xfy0588wjim8dxl6vjdl4va2br3knx6jcy2jd8" }, "vim-dirtytalk": { "type": "Git", @@ -2007,7 +2007,7 @@ "owner": "psliwka", "repo": "vim-dirtytalk" }, - "branch": "main", + "branch": "master", "revision": "aa57ba902b04341a04ff97214360f56856493583", "url": "https://github.com/psliwka/vim-dirtytalk/archive/aa57ba902b04341a04ff97214360f56856493583.tar.gz", "hash": "0ikk2z9axk9hys3an3cvp7m8fwrmrxb570iw1km3yz7z9f73jdbb" @@ -2019,10 +2019,10 @@ "owner": "tpope", "repo": "vim-fugitive" }, - "branch": "main", - "revision": "174230d6a7f2df94705a7ffd8d5413e27ec10a80", - "url": "https://github.com/tpope/vim-fugitive/archive/174230d6a7f2df94705a7ffd8d5413e27ec10a80.tar.gz", - "hash": "0bs5l8f1qrg9fr97nb029yf7bs813fg0pk5f0cjqfnmglslfr773" + "branch": "master", + "revision": "4a745ea72fa93bb15dd077109afbb3d1809383f2", + "url": "https://github.com/tpope/vim-fugitive/archive/4a745ea72fa93bb15dd077109afbb3d1809383f2.tar.gz", + "hash": "188l24j7j57hgs02gy6ch165agyrwr4g034c5j3m1vnw14vmw2yl" }, "vim-illuminate": { "type": "Git", @@ -2031,10 +2031,10 @@ "owner": "RRethy", "repo": "vim-illuminate" }, - "branch": "main", - "revision": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa", - "url": "https://github.com/RRethy/vim-illuminate/archive/5eeb7951fc630682c322e88a9bbdae5c224ff0aa.tar.gz", - "hash": "0g86iv1mndcalrizdhl3z8ryj19jnqv139jwijpzyfk8gi677lhd" + "branch": "master", + "revision": "b5713e6ca3f627b46968386d6d3f24d374d3cb17", + "url": "https://github.com/RRethy/vim-illuminate/archive/b5713e6ca3f627b46968386d6d3f24d374d3cb17.tar.gz", + "hash": "0l16qa2bm4nyimkcjlhajgcv8l9kyqqjpc55jxnny0gy6rycp40n" }, "vim-markdown": { "type": "Git", @@ -2043,7 +2043,7 @@ "owner": "preservim", "repo": "vim-markdown" }, - "branch": "main", + "branch": "master", "revision": "8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51", "url": "https://github.com/preservim/vim-markdown/archive/8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51.tar.gz", "hash": "14x6jfla4921jyx4xxqng9vzmb0iaj2nn7wckhmlx8jpks6r4834" @@ -2055,7 +2055,7 @@ "owner": "tpope", "repo": "vim-repeat" }, - "branch": "main", + "branch": "master", "revision": "65846025c15494983dafe5e3b46c8f88ab2e9635", "url": "https://github.com/tpope/vim-repeat/archive/65846025c15494983dafe5e3b46c8f88ab2e9635.tar.gz", "hash": "0n8sx6s2sbjb21dv9j6y5lyqda9vvxraffg2jz423daamn96dxqv" @@ -2067,7 +2067,7 @@ "owner": "mhinz", "repo": "vim-startify" }, - "branch": "main", + "branch": "master", "revision": "4e089dffdad46f3f5593f34362d530e8fe823dcf", "url": "https://github.com/mhinz/vim-startify/archive/4e089dffdad46f3f5593f34362d530e8fe823dcf.tar.gz", "hash": "1ycqfqnmalqzrx1yy9a1fc2p0w922x4sqv2222bi9xjzmh77z4sv" @@ -2080,9 +2080,9 @@ "repo": "which-key.nvim" }, "branch": "main", - "revision": "8ab96b38a2530eacba5be717f52e04601eb59326", - "url": "https://github.com/folke/which-key.nvim/archive/8ab96b38a2530eacba5be717f52e04601eb59326.tar.gz", - "hash": "12wkl04apgag0p5njw8mczzlbxqf5h08k61qciwy10n4q1harzvz" + "revision": "370ec46f710e058c9c1646273e6b225acf47cbed", + "url": "https://github.com/folke/which-key.nvim/archive/370ec46f710e058c9c1646273e6b225acf47cbed.tar.gz", + "hash": "0am4yw7lnibgc949qvbsi4a7hqdx6gk209l5vafv5bwcvd4irwxs" }, "yanky-nvim": { "type": "Git", @@ -2092,10 +2092,10 @@ "repo": "yanky.nvim" }, "branch": "main", - "revision": "d2696b30e389dced94d5acab728f524a25f308d2", - "url": "https://github.com/gbprod/yanky.nvim/archive/d2696b30e389dced94d5acab728f524a25f308d2.tar.gz", - "hash": "1i96w32wi7s0nnjmyrlcvbvz150ph3y51mi0v46d580rmdpj9pqs" + "revision": "9543d4c6c537720419bccb3338c4ddd5bb6fbd44", + "url": "https://github.com/gbprod/yanky.nvim/archive/9543d4c6c537720419bccb3338c4ddd5bb6fbd44.tar.gz", + "hash": "017v0f082pfd79q2j1naapybsmismflwdscn58mhbqh7s7mq8qk8" } }, "version": 3 -} \ No newline at end of file +} From 392f91ef991b90bfab95479159f271fd8462e86e Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Tue, 25 Feb 2025 12:34:15 +0100 Subject: [PATCH 11/70] lazy/lz.n: fix default un-lazy plugins --- modules/wrapper/lazy/lazy.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/wrapper/lazy/lazy.nix b/modules/wrapper/lazy/lazy.nix index 730bf267..5d67aa59 100644 --- a/modules/wrapper/lazy/lazy.nix +++ b/modules/wrapper/lazy/lazy.nix @@ -172,7 +172,14 @@ description = "Lazy-load on colorscheme."; }; - lazy = mkBool false "Lazy-load manually, e.g. using `trigger_load`."; + lazy = mkOption { + type = nullOr bool; + default = null; + description = '' + Force enable/disable lazy-loading. `null` means only lazy-load if + a valid lazy-load condition is set e.g. `cmd`, `ft`, `keys` etc. + ''; + }; priority = mkOption { type = nullOr int; From 53d0e7908302000e17238f417dcddbffbfffcfb5 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 28 Feb 2025 00:29:11 +0300 Subject: [PATCH 12/70] completion/blink-cmp: `sources.cmdline` -> `cmdline.sources` --- modules/plugins/completion/blink-cmp/blink-cmp.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/plugins/completion/blink-cmp/blink-cmp.nix b/modules/plugins/completion/blink-cmp/blink-cmp.nix index e56ac4cc..13cdb9f4 100644 --- a/modules/plugins/completion/blink-cmp/blink-cmp.nix +++ b/modules/plugins/completion/blink-cmp/blink-cmp.nix @@ -37,12 +37,6 @@ in { description = "Default list of sources to enable for completion."; }; - cmdline = mkOption { - type = nullOr (listOf str); - default = []; - description = "List of sources to enable for cmdline. Null means use default source list."; - }; - providers = mkOption { type = attrsOf providerType; default = {}; @@ -63,6 +57,14 @@ in { }; }; + cmdline = { + sources = mkOption { + type = nullOr (listOf str); + default = []; + description = "List of sources to enable for cmdline. Null means use default source list."; + }; + }; + completion = { documentation = { auto_show = mkBool true "Show documentation whenever an item is selected"; From a4ef5e0f8c87b9cddca56c4d6770d89ec6fe776d Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 28 Feb 2025 03:32:53 +0300 Subject: [PATCH 13/70] pins: bump vim-illuminate --- npins/sources.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index cd7e0b20..0dc9e21b 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2032,9 +2032,9 @@ "repo": "vim-illuminate" }, "branch": "master", - "revision": "b5713e6ca3f627b46968386d6d3f24d374d3cb17", - "url": "https://github.com/RRethy/vim-illuminate/archive/b5713e6ca3f627b46968386d6d3f24d374d3cb17.tar.gz", - "hash": "0l16qa2bm4nyimkcjlhajgcv8l9kyqqjpc55jxnny0gy6rycp40n" + "revision": "19cb21f513fc2b02f0c66be70107741e837516a1", + "url": "https://github.com/RRethy/vim-illuminate/archive/19cb21f513fc2b02f0c66be70107741e837516a1.tar.gz", + "hash": "1wfri17br6yqxnci43g69mvbckb7ajhj3c0mlcn1g0s7jkxz4acd" }, "vim-markdown": { "type": "Git", @@ -2098,4 +2098,4 @@ } }, "version": 3 -} +} \ No newline at end of file From a3f650e11482fdbba65774982f0374ea2c7bef0e Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 28 Feb 2025 03:34:03 +0300 Subject: [PATCH 14/70] ui/illuminate: move to setupOpts format --- modules/plugins/ui/illuminate/config.nix | 20 +++++++++----------- modules/plugins/ui/illuminate/illuminate.nix | 16 ++++++++++++++-- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/modules/plugins/ui/illuminate/config.nix b/modules/plugins/ui/illuminate/config.nix index ffba85fe..37ad4cfa 100644 --- a/modules/plugins/ui/illuminate/config.nix +++ b/modules/plugins/ui/illuminate/config.nix @@ -4,22 +4,20 @@ ... }: let inherit (lib.modules) mkIf; + inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.dag) entryAnywhere; cfg = config.vim.ui.illuminate; in { config = mkIf cfg.enable { - vim.startPlugins = ["vim-illuminate"]; + vim = { + startPlugins = ["vim-illuminate"]; - vim.pluginRC.vim-illuminate = entryAnywhere '' - require('illuminate').configure({ - filetypes_denylist = { - 'dirvish', - 'fugitive', - 'NvimTree', - 'TelescopePrompt', - }, - }) - ''; + # vim-illuminate does not have a setup function. It is instead called 'configure' + # and does what you expect from a setup function. Wild. + pluginRC.vim-illuminate = entryAnywhere '' + require('illuminate').configure(${toLuaObject cfg.setupOpts}) + ''; + }; }; } diff --git a/modules/plugins/ui/illuminate/illuminate.nix b/modules/plugins/ui/illuminate/illuminate.nix index c9c5d2f8..b910101f 100644 --- a/modules/plugins/ui/illuminate/illuminate.nix +++ b/modules/plugins/ui/illuminate/illuminate.nix @@ -1,7 +1,19 @@ {lib, ...}: let - inherit (lib.options) mkEnableOption; + inherit (lib.options) mkOption mkEnableOption; + inherit (lib.types) listOf str; + inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.ui.illuminate = { - enable = mkEnableOption "automatically highlight other uses of the word under the cursor [vim-illuminate]"; + enable = mkEnableOption '' + automatically highlight other uses of the word under the cursor [vim-illuminate] + ''; + + setupOpts = mkPluginSetupOption "vim-illuminate" { + filetypes_denylist = mkOption { + type = listOf str; + default = ["dirvish" "fugitive" "NvimTree" "TelescopePrompt"]; + description = "Filetypes to not illuminate, this overrides `filetypes_allowlist`"; + }; + }; }; } From 08be38ab06c95f56cb9d27805826c1b1d0ffac98 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 28 Feb 2025 03:34:16 +0300 Subject: [PATCH 15/70] 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 c0165d30..0440f38f 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -174,6 +174,8 @@ - Fix plugin name for lsp/lspkind. +- Move `vim-illuminate` to `setupOpts format` + [iynaix](https://github.com/iynaix) - Add lsp options support for [nixd](https://github.com/nix-community/nixd) From 3bf7abd6c9807bbbb2c791fdb6c9be8e36618dd6 Mon Sep 17 00:00:00 2001 From: Adam Szalkowski Date: Sat, 1 Mar 2025 14:44:08 +0100 Subject: [PATCH 16/70] plugins/nvim-docs-view: fix default mappings (#675) --- modules/plugins/lsp/nvim-docs-view/nvim-docs-view.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/plugins/lsp/nvim-docs-view/nvim-docs-view.nix b/modules/plugins/lsp/nvim-docs-view/nvim-docs-view.nix index 105aebec..df571123 100644 --- a/modules/plugins/lsp/nvim-docs-view/nvim-docs-view.nix +++ b/modules/plugins/lsp/nvim-docs-view/nvim-docs-view.nix @@ -57,8 +57,8 @@ in { }; mappings = { - viewToggle = mkMappingOption "Open or close the docs view panel" "lvt"; - viewUpdate = mkMappingOption "Manually update the docs view panel" "lvu"; + viewToggle = mkMappingOption "Open or close the docs view panel" "lvt"; + viewUpdate = mkMappingOption "Manually update the docs view panel" "lvu"; }; }; } From 0fdfb9bf3b419dba3b1ccd2728ed6a366866a942 Mon Sep 17 00:00:00 2001 From: MaxMur <31189199+TheMaxMur@users.noreply.github.com> Date: Sun, 2 Mar 2025 16:59:32 +0300 Subject: [PATCH 17/70] languages/yaml: Init (#676) --- docs/release-notes/rl-0.8.md | 4 ++ modules/plugins/languages/default.nix | 1 + modules/plugins/languages/yaml.nix | 72 +++++++++++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 modules/plugins/languages/yaml.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 0440f38f..d81b142f 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -192,3 +192,7 @@ - Add formatters for go: [gofmt](https://go.dev/blog/gofmt), [golines](https://github.com/segmentio/golines) and [gofumpt](https://github.com/mvdan/gofumpt) + +[MaxMur](https://github.com/TheMaxMur) + +- Add YAML support under `vim.languages.yaml`. diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index 219e04fb..08d676b9 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -39,6 +39,7 @@ in { ./nu.nix ./odin.nix ./wgsl.nix + ./yaml.nix ./ruby.nix ]; diff --git a/modules/plugins/languages/yaml.nix b/modules/plugins/languages/yaml.nix new file mode 100644 index 00000000..2892f607 --- /dev/null +++ b/modules/plugins/languages/yaml.nix @@ -0,0 +1,72 @@ +{ + pkgs, + config, + lib, + ... +}: let + inherit (builtins) attrNames; + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.modules) mkIf mkMerge; + inherit (lib.lists) isList; + inherit (lib.types) enum either listOf package str; + inherit (lib.nvim.types) mkGrammarOption; + inherit (lib.nvim.lua) expToLua; + + cfg = config.vim.languages.yaml; + + defaultServer = "yaml-language-server"; + servers = { + yaml-language-server = { + package = pkgs.nodePackages.yaml-language-server; + lspConfig = '' + lspconfig.yamlls.setup { + capabilities = capabilities; + on_attach = default_on_attach; + cmd = ${ + if isList cfg.lsp.package + then expToLua cfg.lsp.package + else ''{"${cfg.lsp.package}/bin/yaml-language-server", "--stdio"}'' + }, + } + ''; + }; + }; +in { + options.vim.languages.yaml = { + enable = mkEnableOption "YAML language support"; + + treesitter = { + enable = mkEnableOption "YAML treesitter"; + + package = mkGrammarOption pkgs "yaml"; + }; + + lsp = { + enable = mkEnableOption "YAML LSP support"; + + server = mkOption { + type = enum (attrNames servers); + default = defaultServer; + description = "YAML LSP server to use"; + }; + + package = mkOption { + type = either package (listOf str); + default = servers.${cfg.lsp.server}.package; + description = "YAML LSP server package"; + }; + }; + }; + + config = mkIf cfg.enable (mkMerge [ + (mkIf cfg.treesitter.enable { + vim.treesitter.enable = true; + vim.treesitter.grammars = [cfg.treesitter.package]; + }) + + (mkIf cfg.lsp.enable { + vim.lsp.lspconfig.enable = true; + vim.lsp.lspconfig.sources.yaml-lsp = servers.${cfg.lsp.server}.lspConfig; + }) + ]); +} From 60ebec1956a9e30e840bf03a77abb64968de1021 Mon Sep 17 00:00:00 2001 From: alfarel Date: Sun, 2 Mar 2025 12:19:29 -0500 Subject: [PATCH 18/70] utility/yazi-nvim: add missing dependency (snacks.nvim) `:checkhealth yazi` was warning about it. Project `README` recently added it to the requirements. --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/utility/yazi-nvim/config.nix | 1 + npins/sources.json | 12 ++++++++++++ 3 files changed, 17 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index d81b142f..6027736a 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -196,3 +196,7 @@ [MaxMur](https://github.com/TheMaxMur) - Add YAML support under `vim.languages.yaml`. + +[alfarel](https://github.com/alfarelcynthesis): + +- Add missing `yazi.nvim` dependency (`snacks.nvim`). diff --git a/modules/plugins/utility/yazi-nvim/config.nix b/modules/plugins/utility/yazi-nvim/config.nix index a781e5f0..e6a85d68 100644 --- a/modules/plugins/utility/yazi-nvim/config.nix +++ b/modules/plugins/utility/yazi-nvim/config.nix @@ -15,6 +15,7 @@ in { config = mkIf cfg.enable { vim = { + startPlugins = ["snacks-nvim"]; lazy.plugins."yazi.nvim" = { package = pkgs.vimPlugins.yazi-nvim; setupModule = "yazi"; diff --git a/npins/sources.json b/npins/sources.json index 0dc9e21b..d196ff99 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1880,6 +1880,18 @@ "url": "https://github.com/m4xshen/smartcolumn.nvim/archive/92f3773af80d674f1eb61e112dca79e2fa449fd1.tar.gz", "hash": "0k1xnyvblshn4fhbxgl0i34j22n55xlwr09sdmb23l57br5rb07q" }, + "snacks-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "folke", + "repo": "snacks.nvim" + }, + "branch": "main", + "revision": "bc0630e43be5699bb94dadc302c0d21615421d93", + "url": "https://github.com/folke/snacks.nvim/archive/bc0630e43be5699bb94dadc302c0d21615421d93.tar.gz", + "hash": "0a5nw7xa33shag1h12gf930g3vcixbwk8dxv0ji4980ycskh238v" + }, "sqls-nvim": { "type": "Git", "repository": { From 6e35b04e748fd90458328f39b8372d1f82ffb7e0 Mon Sep 17 00:00:00 2001 From: MaxMur <31189199+TheMaxMur@users.noreply.github.com> Date: Sun, 2 Mar 2025 20:51:54 +0300 Subject: [PATCH 19/70] languages/yaml: fix enableLSP/enableTreesitter defaults (#680) --- modules/plugins/languages/yaml.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/plugins/languages/yaml.nix b/modules/plugins/languages/yaml.nix index 2892f607..ef17b964 100644 --- a/modules/plugins/languages/yaml.nix +++ b/modules/plugins/languages/yaml.nix @@ -36,13 +36,13 @@ in { enable = mkEnableOption "YAML language support"; treesitter = { - enable = mkEnableOption "YAML treesitter"; + enable = mkEnableOption "YAML treesitter" // {default = config.vim.languages.enableTreesitter;}; package = mkGrammarOption pkgs "yaml"; }; lsp = { - enable = mkEnableOption "YAML LSP support"; + enable = mkEnableOption "YAML LSP support" // {default = config.vim.languages.enableLSP;}; server = mkOption { type = enum (attrNames servers); From d12846211b3430c0c0ec73b4395f7df8a64ea668 Mon Sep 17 00:00:00 2001 From: TheColorman Date: Mon, 3 Mar 2025 21:12:58 +0100 Subject: [PATCH 20/70] session/nvim-session-manager: fix autoload_mode type Fixes `Error detected while processing VimEnter Autocommands for "*"` by using an enum type for "autoload_mode" instead of a string --- docs/release-notes/rl-0.8.md | 5 +++++ .../session/nvim-session-manager/nvim-session-manager.nix | 3 +++ 2 files changed, 8 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 6027736a..b16ed6b2 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -200,3 +200,8 @@ [alfarel](https://github.com/alfarelcynthesis): - Add missing `yazi.nvim` dependency (`snacks.nvim`). + +[TheColorman](https://github.com/TheColorman) + +- Fix plugin `setupOpts` for `neovim-session-manager` having an invalid value + for `autoload_mode`. diff --git a/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix b/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix index 05d0b01b..41cff8a4 100644 --- a/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix +++ b/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix @@ -1,5 +1,6 @@ {lib, ...}: let inherit (lib.types) nullOr str bool; + inherit (lib.generators) mkLuaInline; inherit (lib) mkEnableOption mkOption types mkRenamedOptionModule; in { imports = let @@ -68,6 +69,8 @@ in { autoload_mode = mkOption { type = types.enum ["Disabled" "CurrentDir" "LastSession"]; + # variable `sm` referenced from ./config.nix + apply = value: mkLuaInline "sm.AutoloadMode.${value}"; default = "LastSession"; description = "Define what to do when Neovim is started without arguments. Possible values: Disabled, CurrentDir, LastSession"; }; From 27978c7186b26e78c7765de4c093a816617f9f39 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 4 Mar 2025 23:30:52 +0300 Subject: [PATCH 21/70] session/nvim-session-manager: fix option descriptions; more explicit library inherits --- .../nvim-session-manager.nix | 83 +++++++++++++------ 1 file changed, 58 insertions(+), 25 deletions(-) diff --git a/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix b/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix index 41cff8a4..e60a4a5d 100644 --- a/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix +++ b/modules/plugins/session/nvim-session-manager/nvim-session-manager.nix @@ -1,7 +1,10 @@ {lib, ...}: let - inherit (lib.types) nullOr str bool; + inherit (lib.options) mkOption mkEnableOption; + inherit (lib.modules) mkRenamedOptionModule; + inherit (lib.strings) isString; + inherit (lib.types) nullOr str bool int enum listOf either; inherit (lib.generators) mkLuaInline; - inherit (lib) mkEnableOption mkOption types mkRenamedOptionModule; + inherit (lib.nvim.types) luaInline mkPluginSetupOption; in { imports = let renameSetupOpt = oldPath: newPath: @@ -51,70 +54,100 @@ in { usePicker = mkOption { type = bool; default = true; - description = "Whether or not we should use dressing.nvim to build a session picker UI"; + description = '' + Whether we should use `dressing.nvim` to build a session picker UI + ''; }; - setupOpts = { + setupOpts = mkPluginSetupOption "which-key" { path_replacer = mkOption { - type = types.str; + type = str; default = "__"; - description = "The character to which the path separator will be replaced for session files"; + description = '' + The character to which the path separator will be replaced for session files + ''; }; colon_replacer = mkOption { - type = types.str; + type = str; default = "++"; - description = "The character to which the colon symbol will be replaced for session files"; + description = '' + The character to which the colon symbol will be replaced for session files + ''; }; autoload_mode = mkOption { - type = types.enum ["Disabled" "CurrentDir" "LastSession"]; - # variable `sm` referenced from ./config.nix - apply = value: mkLuaInline "sm.AutoloadMode.${value}"; + type = either (enum ["Disabled" "CurrentDir" "LastSession"]) luaInline; + # Variable 'sm' is defined in the pluginRC of nvim-session-manager. The + # definition is as follows: `local sm = require('session_manager.config')` + apply = val: + if isString val + then mkLuaInline "sm.AutoloadMode.${val}" + else val; default = "LastSession"; - description = "Define what to do when Neovim is started without arguments. Possible values: Disabled, CurrentDir, LastSession"; + description = '' + Define what to do when Neovim is started without arguments. + + Takes either one of `"Disabled"`, `"CurrentDir"`, `"LastSession` in which case the value + will be inserted into `sm.AutoloadMode.`, or an inline Lua value. + ''; }; max_path_length = mkOption { - type = types.nullOr types.int; + type = nullOr int; default = 80; - description = "Shorten the display path if length exceeds this threshold. Use 0 if don't want to shorten the path at all"; + description = '' + Shorten the display path if length exceeds this threshold. + + Use `0` if don't want to shorten the path at all + ''; }; autosave_last_session = mkOption { - type = types.bool; + type = bool; default = true; - description = "Automatically save last session on exit and on session switch"; + description = '' + Automatically save last session on exit and on session switch + ''; }; autosave_ignore_not_normal = mkOption { - type = types.bool; + type = bool; default = true; - description = "Plugin will not save a session when no buffers are opened, or all of them aren't writable or listed"; + description = '' + Plugin will not save a session when no buffers are opened, or all of them are + not writable or listed + ''; }; autosave_ignore_dirs = mkOption { - type = types.listOf types.str; + type = listOf str; default = []; description = "A list of directories where the session will not be autosaved"; }; autosave_ignore_filetypes = mkOption { - type = types.listOf types.str; + type = listOf str; default = ["gitcommit"]; - description = "All buffers of these file types will be closed before the session is saved"; + description = '' + All buffers of these file types will be closed before the session is saved + ''; }; autosave_ignore_buftypes = mkOption { - type = types.listOf types.str; + type = listOf str; default = []; - description = "All buffers of these buffer types will be closed before the session is saved"; + description = '' + All buffers of these buffer types will be closed before the session is saved + ''; }; autosave_only_in_session = mkOption { - type = types.bool; + type = bool; default = false; - description = "Always autosaves session. If true, only autosaves after a session is active"; + description = '' + Always autosaves session. If `true`, only autosaves after a session is active + ''; }; }; }; From 85ca2bc11fe59fc0eb8d0064264b4341dd4c12fb Mon Sep 17 00:00:00 2001 From: alfarel Date: Tue, 25 Feb 2025 21:03:46 -0500 Subject: [PATCH 22/70] utility/mkdir-nvim: init --- docs/release-notes/rl-0.8.md | 2 ++ modules/plugins/utility/default.nix | 1 + modules/plugins/utility/mkdir/config.nix | 12 ++++++++++++ modules/plugins/utility/mkdir/default.nix | 6 ++++++ modules/plugins/utility/mkdir/mkdir.nix | 7 +++++++ npins/sources.json | 12 ++++++++++++ 6 files changed, 40 insertions(+) create mode 100644 modules/plugins/utility/mkdir/config.nix create mode 100644 modules/plugins/utility/mkdir/default.nix create mode 100644 modules/plugins/utility/mkdir/mkdir.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index b16ed6b2..9679a2c1 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -200,6 +200,8 @@ [alfarel](https://github.com/alfarelcynthesis): - Add missing `yazi.nvim` dependency (`snacks.nvim`). +- Add [mkdir.nvim](https://github.com/jghauser/mkdir.nvim) plugin + for automatic creation of parent directories when editing a nested file. [TheColorman](https://github.com/TheColorman) diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 47579070..02d155ee 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -8,6 +8,7 @@ ./icon-picker ./images ./leetcode-nvim + ./mkdir ./motion ./multicursors ./new-file-template diff --git a/modules/plugins/utility/mkdir/config.nix b/modules/plugins/utility/mkdir/config.nix new file mode 100644 index 00000000..2f6a1fe7 --- /dev/null +++ b/modules/plugins/utility/mkdir/config.nix @@ -0,0 +1,12 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + cfg = config.vim.utility.mkdir; +in { + vim = mkIf cfg.enable { + startPlugins = ["mkdir-nvim"]; + }; +} diff --git a/modules/plugins/utility/mkdir/default.nix b/modules/plugins/utility/mkdir/default.nix new file mode 100644 index 00000000..1ee6379b --- /dev/null +++ b/modules/plugins/utility/mkdir/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./mkdir.nix + ]; +} diff --git a/modules/plugins/utility/mkdir/mkdir.nix b/modules/plugins/utility/mkdir/mkdir.nix new file mode 100644 index 00000000..c591e6e6 --- /dev/null +++ b/modules/plugins/utility/mkdir/mkdir.nix @@ -0,0 +1,7 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; +in { + options.vim.utility.mkdir.enable = mkEnableOption '' + parent directory creation when editing a nested path that does not exist using `mkdir.nvim` + ''; +} diff --git a/npins/sources.json b/npins/sources.json index d196ff99..957d3b93 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1205,6 +1205,18 @@ "url": "https://github.com/wfxr/minimap.vim/archive/57287e2dd28fa3e63276a32d11c729df14741d54.tar.gz", "hash": "05k4cgcrz0gj92xy685bd4p6nh2jmaywc2f5sw1lap0v685h7n79" }, + "mkdir-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "jghauser", + "repo": "mkdir.nvim" + }, + "branch": "main", + "revision": "c55d1dee4f099528a1853b28bb28caa802eba217", + "url": "https://github.com/jghauser/mkdir.nvim/archive/c55d1dee4f099528a1853b28bb28caa802eba217.tar.gz", + "hash": "0zpyvkbw7wfqdxfgidr7zfxqb5ldci4pflx50rsm1hbwai0ybv23" + }, "modes-nvim": { "type": "Git", "repository": { From 9209a9da37616f1d1b0f1272a87e627d8ccc3218 Mon Sep 17 00:00:00 2001 From: alfarel Date: Tue, 25 Feb 2025 21:16:32 -0500 Subject: [PATCH 23/70] utility/nix-develop: init --- docs/release-notes/rl-0.8.md | 2 ++ modules/plugins/utility/default.nix | 1 + modules/plugins/utility/nix-develop/config.nix | 12 ++++++++++++ modules/plugins/utility/nix-develop/default.nix | 6 ++++++ modules/plugins/utility/nix-develop/nix-develop.nix | 5 +++++ npins/sources.json | 12 ++++++++++++ 6 files changed, 38 insertions(+) create mode 100644 modules/plugins/utility/nix-develop/config.nix create mode 100644 modules/plugins/utility/nix-develop/default.nix create mode 100644 modules/plugins/utility/nix-develop/nix-develop.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 9679a2c1..85f21580 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -202,6 +202,8 @@ - Add missing `yazi.nvim` dependency (`snacks.nvim`). - Add [mkdir.nvim](https://github.com/jghauser/mkdir.nvim) plugin for automatic creation of parent directories when editing a nested file. +- Add [nix-develop.nvim](https://github.com/figsoda/nix-develop.nvim) plugin + for in-neovim `nix develop`, `nix shell` and more. [TheColorman](https://github.com/TheColorman) diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 02d155ee..6a4b4a7e 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -12,6 +12,7 @@ ./motion ./multicursors ./new-file-template + ./nix-develop ./outline ./preview ./surround diff --git a/modules/plugins/utility/nix-develop/config.nix b/modules/plugins/utility/nix-develop/config.nix new file mode 100644 index 00000000..e1c57ff6 --- /dev/null +++ b/modules/plugins/utility/nix-develop/config.nix @@ -0,0 +1,12 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + cfg = config.vim.utility.nix-develop; +in { + vim = mkIf cfg.enable { + startPlugins = ["nix-develop-nvim"]; + }; +} diff --git a/modules/plugins/utility/nix-develop/default.nix b/modules/plugins/utility/nix-develop/default.nix new file mode 100644 index 00000000..7d227af5 --- /dev/null +++ b/modules/plugins/utility/nix-develop/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./nix-develop.nix + ]; +} diff --git a/modules/plugins/utility/nix-develop/nix-develop.nix b/modules/plugins/utility/nix-develop/nix-develop.nix new file mode 100644 index 00000000..cee77a6d --- /dev/null +++ b/modules/plugins/utility/nix-develop/nix-develop.nix @@ -0,0 +1,5 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; +in { + options.vim.utility.nix-develop.enable = mkEnableOption "in-neovim `nix develop`, `nix shell`, and more using `nix-develop.nvim`"; +} diff --git a/npins/sources.json b/npins/sources.json index 957d3b93..8a4e555e 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1316,6 +1316,18 @@ "url": "https://github.com/otavioschwanck/new-file-template.nvim/archive/6ac66669dbf2dc5cdee184a4fe76d22465ca67e8.tar.gz", "hash": "0c7378c3w6bniclp666rq15c28akb0sjy58ayva0wpyin4k26hl3" }, + "nix-develop-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "figsoda", + "repo": "nix-develop.nvim" + }, + "branch": "main", + "revision": "afea026f5c478c000a8af8de87f7b711676387ab", + "url": "https://github.com/figsoda/nix-develop.nvim/archive/afea026f5c478c000a8af8de87f7b711676387ab.tar.gz", + "hash": "0nwjgr19pzdxd7yygz380b388qcfbzp9svs916kh0zayzi9yxc2k" + }, "noice-nvim": { "type": "Git", "repository": { From a5d7313abb8741ff2c3f3735e1b9a03f50d4e6ca Mon Sep 17 00:00:00 2001 From: alfarel Date: Tue, 25 Feb 2025 21:24:43 -0500 Subject: [PATCH 24/70] utility/direnv-vim: init --- docs/release-notes/rl-0.8.md | 2 ++ modules/plugins/utility/default.nix | 1 + modules/plugins/utility/direnv/config.nix | 13 +++++++++++++ modules/plugins/utility/direnv/default.nix | 6 ++++++ modules/plugins/utility/direnv/direnv.nix | 5 +++++ npins/sources.json | 12 ++++++++++++ 6 files changed, 39 insertions(+) create mode 100644 modules/plugins/utility/direnv/config.nix create mode 100644 modules/plugins/utility/direnv/default.nix create mode 100644 modules/plugins/utility/direnv/direnv.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 85f21580..5cf939be 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -204,6 +204,8 @@ for automatic creation of parent directories when editing a nested file. - Add [nix-develop.nvim](https://github.com/figsoda/nix-develop.nvim) plugin for in-neovim `nix develop`, `nix shell` and more. +- Add [direnv.vim](https://github.com/direnv/direnv.vim) plugin + for automatic syncing of nvim shell environment with direnv's. [TheColorman](https://github.com/TheColorman) diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 6a4b4a7e..0f0956fb 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -3,6 +3,7 @@ ./binds ./ccc ./diffview + ./direnv ./fzf-lua ./gestures ./icon-picker diff --git a/modules/plugins/utility/direnv/config.nix b/modules/plugins/utility/direnv/config.nix new file mode 100644 index 00000000..b2211deb --- /dev/null +++ b/modules/plugins/utility/direnv/config.nix @@ -0,0 +1,13 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.utility.direnv; +in { + vim = mkIf cfg.enable { + startPlugins = ["direnv-vim"]; + }; +} diff --git a/modules/plugins/utility/direnv/default.nix b/modules/plugins/utility/direnv/default.nix new file mode 100644 index 00000000..7a489920 --- /dev/null +++ b/modules/plugins/utility/direnv/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./direnv.nix + ]; +} diff --git a/modules/plugins/utility/direnv/direnv.nix b/modules/plugins/utility/direnv/direnv.nix new file mode 100644 index 00000000..98d3f1f6 --- /dev/null +++ b/modules/plugins/utility/direnv/direnv.nix @@ -0,0 +1,5 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; +in { + options.vim.utility.direnv.enable = mkEnableOption "syncing nvim shell environment with direnv's using `direnv.vim`"; +} diff --git a/npins/sources.json b/npins/sources.json index 8a4e555e..b69bf509 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -315,6 +315,18 @@ "url": "https://github.com/sindrets/diffview.nvim/archive/4516612fe98ff56ae0415a259ff6361a89419b0a.tar.gz", "hash": "0brabpd02596hg98bml118bx6z2sly98kf1cr2p0xzybiinb4zs9" }, + "direnv-vim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "direnv", + "repo": "direnv.vim" + }, + "branch": "master", + "revision": "ab2a7e08dd630060cd81d7946739ac7442a4f269", + "url": "https://github.com/direnv/direnv.vim/archive/ab2a7e08dd630060cd81d7946739ac7442a4f269.tar.gz", + "hash": "1hhwfnaj9ibz17ggxvhzrkinghfy51fqfa0bs482z484jpvjc31g" + }, "dracula": { "type": "Git", "repository": { From 9e35fd8d02c745291c0a0504baae53bcad5c8637 Mon Sep 17 00:00:00 2001 From: alfarel Date: Tue, 25 Feb 2025 22:33:11 -0500 Subject: [PATCH 25/70] completion/blink-cmp: blink sources options Use a submodule to allow arbitrary source additions. Automatically load sources that are enabled. Automatically add enabled sources via blink-cmp setupOpts. Prepopulate with a few basic sources, disabled by default. --- docs/release-notes/rl-0.8.md | 1 + .../completion/blink-cmp/blink-cmp.nix | 61 ++++++++++++++++++- .../plugins/completion/blink-cmp/config.nix | 56 +++++++++++------ npins/sources.json | 36 +++++++++++ 4 files changed, 136 insertions(+), 18 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 5cf939be..a28ffd67 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -206,6 +206,7 @@ for in-neovim `nix develop`, `nix shell` and more. - Add [direnv.vim](https://github.com/direnv/direnv.vim) plugin for automatic syncing of nvim shell environment with direnv's. +- Add [blink.cmp] source options and some default-disabled sources. [TheColorman](https://github.com/TheColorman) diff --git a/modules/plugins/completion/blink-cmp/blink-cmp.nix b/modules/plugins/completion/blink-cmp/blink-cmp.nix index 13cdb9f4..9bb76b71 100644 --- a/modules/plugins/completion/blink-cmp/blink-cmp.nix +++ b/modules/plugins/completion/blink-cmp/blink-cmp.nix @@ -2,7 +2,7 @@ inherit (lib.options) mkEnableOption mkOption literalMD; inherit (lib.types) listOf str either attrsOf submodule enum anything int nullOr; inherit (lib.generators) mkLuaInline; - inherit (lib.nvim.types) mkPluginSetupOption luaInline; + inherit (lib.nvim.types) mkPluginSetupOption luaInline pluginType; inherit (lib.nvim.binds) mkMappingOption; inherit (lib.nvim.config) mkBool; @@ -118,5 +118,64 @@ in { scrollDocsUp = mkMappingOption "Scroll docs up [blink.cmp]" ""; scrollDocsDown = mkMappingOption "Scroll docs down [blink.cmp]" ""; }; + + sourcePlugins = let + sourcePluginType = submodule { + options = { + package = mkOption { + type = pluginType; + description = '' + `blink-cmp` source plugin package. + ''; + }; + module = mkOption { + type = str; + description = '' + Value of {option}`vim.autocomplete.blink-cmp.setupOpts.sources.providers..module`. + + Should be present in the source's documentation. + ''; + }; + enable = mkEnableOption "this source"; + }; + }; + in + mkOption { + type = submodule { + freeformType = attrsOf sourcePluginType; + options = let + defaultSourcePluginOption = name: package: module: { + package = mkOption { + type = pluginType; + default = package; + description = '' + `blink-cmp` ${name} source plugin package. + ''; + }; + module = mkOption { + type = str; + default = module; + description = '' + Value of {option}`vim.autocomplete.blink-cmp.setupOpts.sources.providers.${name}.module`. + ''; + }; + enable = mkEnableOption "${name} source"; + }; + in { + # emoji completion after : + emoji = defaultSourcePluginOption "emoji" "blink-emoji-nvim" "blink-emoji"; + # spelling suggestions as completions + spell = defaultSourcePluginOption "spell" "blink-cmp-spell" "blink-cmp-spell"; + # words from nearby files + ripgrep = defaultSourcePluginOption "ripgrep" "blink-ripgrep-nvim" "blink-ripgrep"; + }; + }; + default = {}; + description = '' + `blink.cmp` sources. + + Attribute names must be source names used in {option}`vim.autocomplete.blink-cmp.setupOpts.sources.default`. + ''; + }; }; } diff --git a/modules/plugins/completion/blink-cmp/config.nix b/modules/plugins/completion/blink-cmp/config.nix index 914821f9..96ced502 100644 --- a/modules/plugins/completion/blink-cmp/config.nix +++ b/modules/plugins/completion/blink-cmp/config.nix @@ -6,6 +6,8 @@ inherit (lib.modules) mkIf; inherit (lib.strings) optionalString; inherit (lib.generators) mkLuaInline; + inherit (lib.attrsets) attrValues filterAttrs; + inherit (lib.lists) map; inherit (lib.nvim.lua) toLuaObject; inherit (builtins) concatStringsSep typeOf tryEval attrNames mapAttrs; @@ -19,9 +21,12 @@ else if (plugin ? pname && (tryEval plugin.pname).success) then plugin.pname else plugin.name; + + enabledBlinkSources = filterAttrs (_source: definition: definition.enable) cfg.sourcePlugins; + blinkSourcePlugins = map (definition: definition.package) (attrValues enabledBlinkSources); in { vim = mkIf cfg.enable { - startPlugins = ["blink-compat"]; + startPlugins = ["blink-compat"] ++ blinkSourcePlugins; lazy.plugins = { blink-cmp = { package = "blink-cmp"; @@ -32,12 +37,14 @@ in { # # event = ["InsertEnter" "CmdlineEnter"]; - after = '' - ${optionalString config.vim.lazy.enable - (concatStringsSep "\n" (map - (package: "require('lz.n').trigger_load(${toLuaObject (getPluginName package)})") - cmpCfg.sourcePlugins))} - ''; + after = + # lua + '' + ${optionalString config.vim.lazy.enable + (concatStringsSep "\n" (map + (package: "require('lz.n').trigger_load(${toLuaObject (getPluginName package)})") + cmpCfg.sourcePlugins))} + ''; }; }; @@ -45,13 +52,26 @@ in { enableSharedCmpSources = true; blink-cmp.setupOpts = { sources = { - default = ["lsp" "path" "snippets" "buffer"] ++ (attrNames cmpCfg.sources); + default = + [ + "lsp" + "path" + "snippets" + "buffer" + ] + ++ (attrNames cmpCfg.sources) + ++ (attrNames enabledBlinkSources); providers = mapAttrs (name: _: { inherit name; module = "blink.compat.source"; }) - cmpCfg.sources; + cmpCfg.sources + // (mapAttrs (name: definition: { + inherit name; + inherit (definition) module; + }) + enabledBlinkSources); }; snippets = mkIf config.vim.snippets.luasnip.enable { preset = "luasnip"; @@ -67,16 +87,18 @@ in { ${mappings.next} = [ "select_next" "snippet_forward" - (mkLuaInline '' - function(cmp) - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - has_words_before = col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + (mkLuaInline + # lua + '' + function(cmp) + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + has_words_before = col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil - if has_words_before then - return cmp.show() + if has_words_before then + return cmp.show() + end end - end - '') + '') "fallback" ]; ${mappings.previous} = [ diff --git a/npins/sources.json b/npins/sources.json index b69bf509..a68a1ea4 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -51,6 +51,18 @@ "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v0.12.4", "hash": "0jdifjifxjqa8r80wlqgkn5rm48wziap92340xz228nrgd0c9g69" }, + "blink-cmp-spell": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "ribru17", + "repo": "blink-cmp-spell" + }, + "branch": "master", + "revision": "38d6797dea6f72baa6e8b3bfca6da96d8fcac64d", + "url": "https://github.com/ribru17/blink-cmp-spell/archive/38d6797dea6f72baa6e8b3bfca6da96d8fcac64d.tar.gz", + "hash": "19pnasa446iiapgsr3z2fpk0nnrzh8g5wrzrq8n0y4q0z6spc9f6" + }, "blink-compat": { "type": "Git", "repository": { @@ -63,6 +75,30 @@ "url": "https://github.com/saghen/blink.compat/archive/4104671562c663d059d91a99da3780bead5bc467.tar.gz", "hash": "0bsf8kg5s3m1xk9d4n0yl0h5xyk484hip3z8va547f6ibim9ccv4" }, + "blink-emoji-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "moyiz", + "repo": "blink-emoji.nvim" + }, + "branch": "master", + "revision": "a77aebc092ebece1eed108f301452ae774d6b67a", + "url": "https://github.com/moyiz/blink-emoji.nvim/archive/a77aebc092ebece1eed108f301452ae774d6b67a.tar.gz", + "hash": "0n4qv2mk7zx910gnwf9ri2w5qxwx8szx99nqqzik4yyvl4axm41d" + }, + "blink-ripgrep-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "mikavilpas", + "repo": "blink-ripgrep.nvim" + }, + "branch": "main", + "revision": "305e1ae5363f527abdfd71915a3fe1f42af52824", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/305e1ae5363f527abdfd71915a3fe1f42af52824.tar.gz", + "hash": "1hcfyicgf33dlr2hhgnhhzdcxxqw1v8v1yjfbnwvlcsgw0rhjl8w" + }, "bufdelete-nvim": { "type": "Git", "repository": { From 449b943b9579f8104438fa4d580333c54c74bfca Mon Sep 17 00:00:00 2001 From: alfarel Date: Tue, 25 Feb 2025 23:17:19 -0500 Subject: [PATCH 26/70] completion/blink-cmp: option to enable friendly-snippets Just adds it to the environment, `blink-cmp` will pick up on it automatically. --- docs/release-notes/rl-0.8.md | 3 +++ modules/plugins/completion/blink-cmp/blink-cmp.nix | 2 ++ modules/plugins/completion/blink-cmp/config.nix | 4 ++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a28ffd67..dfc232b8 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -207,6 +207,9 @@ - Add [direnv.vim](https://github.com/direnv/direnv.vim) plugin for automatic syncing of nvim shell environment with direnv's. - Add [blink.cmp] source options and some default-disabled sources. +- Add [blink.cmp] option to add + [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) + so blink.cmp can source snippets from it. [TheColorman](https://github.com/TheColorman) diff --git a/modules/plugins/completion/blink-cmp/blink-cmp.nix b/modules/plugins/completion/blink-cmp/blink-cmp.nix index 9bb76b71..4290e1cb 100644 --- a/modules/plugins/completion/blink-cmp/blink-cmp.nix +++ b/modules/plugins/completion/blink-cmp/blink-cmp.nix @@ -177,5 +177,7 @@ in { Attribute names must be source names used in {option}`vim.autocomplete.blink-cmp.setupOpts.sources.default`. ''; }; + + friendly-snippets.enable = mkEnableOption "friendly-snippets for blink to source from automatically"; }; } diff --git a/modules/plugins/completion/blink-cmp/config.nix b/modules/plugins/completion/blink-cmp/config.nix index 96ced502..875a4fd4 100644 --- a/modules/plugins/completion/blink-cmp/config.nix +++ b/modules/plugins/completion/blink-cmp/config.nix @@ -7,7 +7,7 @@ inherit (lib.strings) optionalString; inherit (lib.generators) mkLuaInline; inherit (lib.attrsets) attrValues filterAttrs; - inherit (lib.lists) map; + inherit (lib.lists) map optional; inherit (lib.nvim.lua) toLuaObject; inherit (builtins) concatStringsSep typeOf tryEval attrNames mapAttrs; @@ -26,7 +26,7 @@ blinkSourcePlugins = map (definition: definition.package) (attrValues enabledBlinkSources); in { vim = mkIf cfg.enable { - startPlugins = ["blink-compat"] ++ blinkSourcePlugins; + startPlugins = ["blink-compat"] ++ blinkSourcePlugins ++ (optional cfg.friendly-snippets.enable "friendly-snippets"); lazy.plugins = { blink-cmp = { package = "blink-cmp"; From 0e00c41a42f11b0bc28c3a5523e52bce9b1d1c15 Mon Sep 17 00:00:00 2001 From: alfarel Date: Tue, 25 Feb 2025 23:37:33 -0500 Subject: [PATCH 27/70] docs/release-notes: fix missing colons and periods Also fixes a misaligned contributor name. --- docs/release-notes/rl-0.8.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index dfc232b8..cf4dd169 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -3,7 +3,7 @@ ## Breaking changes - `git-conflict` keybinds are now prefixed with `` to avoid conflicting - with builtins + with builtins. [NotAShelf](https://github.com/notashelf): @@ -18,7 +18,7 @@ - Add a search widget to the options page in the nvf manual. - Add [render-markdown.nvim] under - `languages.markdown.extensions.render-markdown-nvim` + `languages.markdown.extensions.render-markdown-nvim`. - Implement [](#opt-vim.git.gitsigns.setupOpts) for user-specified setup table in gitsigns configuration. @@ -62,7 +62,7 @@ [blink.cmp]: https://github.com/saghen/blink.cmp -- Add [blink.cmp] support +- Add [blink.cmp] support. [diniamo](https://github.com/diniamo): @@ -76,8 +76,8 @@ [aerial.nvim]: (https://github.com/stevearc/aerial.nvim) [nvim-ufo]: (https://github.com/kevinhwang91/nvim-ufo) -- Add [aerial.nvim] -- Add [nvim-ufo] +- Add [aerial.nvim]. +- Add [nvim-ufo]. [LilleAila](https://github.com/LilleAila): @@ -160,7 +160,7 @@ Inspiration from `vim.languages.clang.dap` implementation. - Add [leetcode.nvim] plugin under `vim.utility.leetcode-nvim`. -[nezia1](https://github.com/nezia1) +[nezia1](https://github.com/nezia1): - Add support for [nixd](https://github.com/nix-community/nixd) language server. @@ -170,30 +170,31 @@ available plugins, under `vim.utility.multicursors`. - Add [hydra.nvim](https://github.com/nvimtools/hydra.nvim) as dependency for `multicursors.nvim` and lazy loads by default. - [folospior](https://github.com/folospior) + +[folospior](https://github.com/folospior): - Fix plugin name for lsp/lspkind. - Move `vim-illuminate` to `setupOpts format` -[iynaix](https://github.com/iynaix) +[iynaix](https://github.com/iynaix): - Add lsp options support for [nixd](https://github.com/nix-community/nixd) language server. -[Mr-Helpful](https://github.com/Mr-Helpful) +[Mr-Helpful](https://github.com/Mr-Helpful): -- Corrects pin names used for nvim themes +- Corrects pin names used for nvim themes. -[Libadoxon](https://github.com/Libadoxon) +[Libadoxon](https://github.com/Libadoxon): - Add [git-conflict](https://github.com/akinsho/git-conflict.nvim) plugin for - resolving git conflicts + resolving git conflicts. - Add formatters for go: [gofmt](https://go.dev/blog/gofmt), [golines](https://github.com/segmentio/golines) and - [gofumpt](https://github.com/mvdan/gofumpt) + [gofumpt](https://github.com/mvdan/gofumpt). -[MaxMur](https://github.com/TheMaxMur) +[MaxMur](https://github.com/TheMaxMur): - Add YAML support under `vim.languages.yaml`. @@ -211,7 +212,7 @@ [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) so blink.cmp can source snippets from it. -[TheColorman](https://github.com/TheColorman) +[TheColorman](https://github.com/TheColorman): - Fix plugin `setupOpts` for `neovim-session-manager` having an invalid value for `autoload_mode`. From 4648c3b28f004dd2799442da798d81ad1e3cf516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Theodor=20Bj=C3=B6rkman?= <38960155+UltraGhostie@users.noreply.github.com> Date: Thu, 6 Mar 2025 15:40:57 +0100 Subject: [PATCH 28/70] utility/harpoon: init --- docs/release-notes/rl-0.8.md | 21 ++++---- modules/plugins/utility/default.nix | 1 + modules/plugins/utility/harpoon/config.nix | 41 ++++++++++++++++ modules/plugins/utility/harpoon/default.nix | 6 +++ modules/plugins/utility/harpoon/harpoon.nix | 53 +++++++++++++++++++++ npins/sources.json | 12 +++++ 6 files changed, 126 insertions(+), 8 deletions(-) create mode 100644 modules/plugins/utility/harpoon/config.nix create mode 100644 modules/plugins/utility/harpoon/default.nix create mode 100644 modules/plugins/utility/harpoon/harpoon.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index cf4dd169..c2e180ea 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -194,6 +194,10 @@ [golines](https://github.com/segmentio/golines) and [gofumpt](https://github.com/mvdan/gofumpt). +[UltraGhostie](https://github.com/UltraGhostie) + +- Add [harpoon](https://github.com/ThePrimeagen/harpoon) plugin for navigation + [MaxMur](https://github.com/TheMaxMur): - Add YAML support under `vim.languages.yaml`. @@ -201,16 +205,17 @@ [alfarel](https://github.com/alfarelcynthesis): - Add missing `yazi.nvim` dependency (`snacks.nvim`). -- Add [mkdir.nvim](https://github.com/jghauser/mkdir.nvim) plugin - for automatic creation of parent directories when editing a nested file. -- Add [nix-develop.nvim](https://github.com/figsoda/nix-develop.nvim) plugin - for in-neovim `nix develop`, `nix shell` and more. -- Add [direnv.vim](https://github.com/direnv/direnv.vim) plugin - for automatic syncing of nvim shell environment with direnv's. + +- Add [mkdir.nvim](https://github.com/jghauser/mkdir.nvim) plugin for automatic + creation of parent directories when editing a nested file. +- Add [nix-develop.nvim](https://github.com/figsoda/nix-develop.nvim) plugin for + in-neovim `nix develop`, `nix shell` and more. +- Add [direnv.vim](https://github.com/direnv/direnv.vim) plugin for automatic + syncing of nvim shell environment with direnv's. - Add [blink.cmp] source options and some default-disabled sources. - Add [blink.cmp] option to add - [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) - so blink.cmp can source snippets from it. + [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) so + blink.cmp can source snippets from it. [TheColorman](https://github.com/TheColorman): diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 0f0956fb..a1574b97 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -6,6 +6,7 @@ ./direnv ./fzf-lua ./gestures + ./harpoon ./icon-picker ./images ./leetcode-nvim diff --git a/modules/plugins/utility/harpoon/config.nix b/modules/plugins/utility/harpoon/config.nix new file mode 100644 index 00000000..487e67e4 --- /dev/null +++ b/modules/plugins/utility/harpoon/config.nix @@ -0,0 +1,41 @@ +{ + options, + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.binds) pushDownDefault mkKeymap; + + cfg = config.vim.navigation.harpoon; + + keys = cfg.mappings; + inherit (options.vim.navigation.harpoon) mappings; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["plenary-nvim"]; + + lazy.plugins.harpoon = { + package = "harpoon"; + setupModule = "harpoon"; + inherit (cfg) setupOpts; + + cmd = ["Harpoon"]; + + keys = [ + (mkKeymap "n" keys.markFile "lua require('harpoon'):list():add()" {desc = mappings.markFile.description;}) + (mkKeymap "n" keys.listMarks "lua require('harpoon').ui:toggle_quick_menu(require('harpoon'):list())" {desc = mappings.listMarks.description;}) + (mkKeymap "n" keys.file1 "lua require('harpoon'):list():select(1)" {desc = mappings.file1.description;}) + (mkKeymap "n" keys.file2 "lua require('harpoon'):list():select(2)" {desc = mappings.file2.description;}) + (mkKeymap "n" keys.file3 "lua require('harpoon'):list():select(3)" {desc = mappings.file3.description;}) + (mkKeymap "n" keys.file4 "lua require('harpoon'):list():select(4)" {desc = mappings.file4.description;}) + ]; + }; + + binds.whichKey.register = pushDownDefault { + "a" = "Harpoon Mark"; + }; + }; + }; +} diff --git a/modules/plugins/utility/harpoon/default.nix b/modules/plugins/utility/harpoon/default.nix new file mode 100644 index 00000000..21637c5b --- /dev/null +++ b/modules/plugins/utility/harpoon/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./harpoon.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/harpoon/harpoon.nix b/modules/plugins/utility/harpoon/harpoon.nix new file mode 100644 index 00000000..4478c938 --- /dev/null +++ b/modules/plugins/utility/harpoon/harpoon.nix @@ -0,0 +1,53 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.types) bool; + inherit (lib.nvim.binds) mkMappingOption; + inherit (lib.nvim.types) mkPluginSetupOption luaInline; + inherit (lib.generators) mkLuaInline; +in { + options.vim.navigation.harpoon = { + mappings = { + markFile = mkMappingOption "Mark file [Harpoon]" "a"; + listMarks = mkMappingOption "List marked files [Harpoon]" ""; + file1 = mkMappingOption "Go to marked file 1 [Harpoon]" ""; + file2 = mkMappingOption "Go to marked file 2 [Harpoon]" ""; + file3 = mkMappingOption "Go to marked file 3 [Harpoon]" ""; + file4 = mkMappingOption "Go to marked file 4 [Harpoon]" ""; + }; + + enable = mkEnableOption "Quick bookmarks on keybinds [Harpoon]"; + + setupOpts = mkPluginSetupOption "Harpoon" { + defaults = { + save_on_toggle = mkOption { + type = bool; + default = false; + description = '' + Any time the ui menu is closed then we will save the + state back to the backing list, not to the fs + ''; + }; + sync_on_ui_close = mkOption { + type = bool; + default = false; + description = '' + Any time the ui menu is closed then the state of the + list will be sync'd back to the fs + ''; + }; + key = mkOption { + type = luaInline; + default = mkLuaInline '' + function() + return vim.loop.cwd() + end + ''; + description = '' + How the out list key is looked up. This can be useful + when using worktrees and using git remote instead of file path + ''; + }; + }; + }; + }; +} diff --git a/npins/sources.json b/npins/sources.json index a68a1ea4..f5e12e4b 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -519,6 +519,18 @@ "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/089b60e92aa0a1c6fa76ff527837cd35b6f5ac81.tar.gz", "hash": "0mr8q2xi4s2anibll8lhxax7q1akyg687bp5r58gckkhi04064q4" }, + "harpoon": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "ThePrimeagen", + "repo": "harpoon" + }, + "branch": "harpoon2", + "revision": "ed1f853847ffd04b2b61c314865665e1dadf22c7", + "url": "https://github.com/ThePrimeagen/harpoon/archive/ed1f853847ffd04b2b61c314865665e1dadf22c7.tar.gz", + "hash": "1dcpdlna2lff9dlsh6i4v16qmn5r9279wdvn0ry3xg4abqwnzc9g" + }, "haskell-tools-nvim": { "type": "Git", "repository": { From 4bf2bc9db602fb7ba6e1651e3812b751d725a967 Mon Sep 17 00:00:00 2001 From: Erwin de Vries <139006912+esdevries@users.noreply.github.com> Date: Thu, 6 Mar 2025 21:53:33 +0100 Subject: [PATCH 29/70] theme/supported-themes: add github-nvim-theme (#688) --- docs/release-notes/rl-0.8.md | 6 ++++++ modules/plugins/statusline/lualine/lualine.nix | 11 +++++++++++ modules/plugins/theme/supported-themes.nix | 16 ++++++++++++++++ npins/sources.json | 14 +++++++++++++- 4 files changed, 46 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c2e180ea..6b5ed694 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -221,3 +221,9 @@ - Fix plugin `setupOpts` for `neovim-session-manager` having an invalid value for `autoload_mode`. + +[esdevries](https://github.com/esdevries): + +[projekt0n/github-nvim-theme]: https://github.com/projekt0n/github-nvim-theme + +- Add `github-nvim-theme` theme from [projekt0n/github-nvim-theme]. diff --git a/modules/plugins/statusline/lualine/lualine.nix b/modules/plugins/statusline/lualine/lualine.nix index 6e95f03b..9943f78e 100644 --- a/modules/plugins/statusline/lualine/lualine.nix +++ b/modules/plugins/statusline/lualine/lualine.nix @@ -21,6 +21,17 @@ "codedark" "dracula" "everforest" + "github_dark" + "github_light" + "github_dark_dimmed" + "github_dark_default" + "github_light_default" + "github_dark_high_contrast" + "github_light_high_contrast" + "github_dark_colorblind" + "github_light_colorblind" + "github_dark_tritanopia" + "github_light_tritanopia" "gruvbox" "gruvbox_dark" "gruvbox_light" diff --git a/modules/plugins/theme/supported-themes.nix b/modules/plugins/theme/supported-themes.nix index 4029a1c0..0b5cb90b 100644 --- a/modules/plugins/theme/supported-themes.nix +++ b/modules/plugins/theme/supported-themes.nix @@ -195,4 +195,20 @@ in { vim.cmd.colorscheme("nord") ''; }; + github = { + setup = { + style ? "dark", + transparent ? false, + ... + }: '' + require('github-theme').setup({ + options = { + transparent = ${boolToString transparent}, + }, + }) + + vim.cmd[[colorscheme github_${style}]] + ''; + styles = ["dark" "light" "dark_dimmed" "dark_default" "light_default" "dark_high_contrast" "light_high_contrast" "dark_colorblind" "light_colorblind" "dark_tritanopia" "light_tritanopia"]; + }; } diff --git a/npins/sources.json b/npins/sources.json index f5e12e4b..bced2451 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -483,6 +483,18 @@ "url": "https://github.com/akinsho/git-conflict.nvim/archive/a1badcd070d176172940eb55d9d59029dad1c5a6.tar.gz", "hash": "05rnwhm1fmg3yb7j2xc9nmw262jc687qxhwabn97qarrk2da0r0a" }, + "github": { + "type": "Git", + "repository": { + "type": "Github", + "owner": "projekt0n", + "repo": "github-nvim-theme" + }, + "branch": "main", + "revision": "c106c9472154d6b2c74b74565616b877ae8ed31d", + "url": "https://github.com/projekt0n/github-nvim-theme/archive/c106c9472154d6b2c74b74565616b877ae8ed31d.tar.gz", + "hash": "/A4hkKTzjzeoR1SuwwklraAyI8oMkhxrwBBV9xb59PA=" + }, "gitsigns-nvim": { "type": "Git", "repository": { @@ -2194,4 +2206,4 @@ } }, "version": 3 -} \ No newline at end of file +} From 414c92276efd552e0491eca8e20c4a68acfec255 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Fri, 7 Mar 2025 13:51:54 +0300 Subject: [PATCH 30/70] pins: fix github-nvim-theme repository type --- npins/sources.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npins/sources.json b/npins/sources.json index bced2451..bc149180 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -486,7 +486,7 @@ "github": { "type": "Git", "repository": { - "type": "Github", + "type": "GitHub", "owner": "projekt0n", "repo": "github-nvim-theme" }, From c3b9c979eec7db96a6d4a7f4e84e7492928610cd Mon Sep 17 00:00:00 2001 From: Soliprem <73885403+Soliprem@users.noreply.github.com> Date: Fri, 7 Mar 2025 20:59:28 +0100 Subject: [PATCH 31/70] lsp/otter: fix assertion (#696) * otter: change assert into a warning * otter: update source and warning --- modules/plugins/lsp/otter/config.nix | 13 ++++++------- npins/sources.json | 8 ++++---- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/modules/plugins/lsp/otter/config.nix b/modules/plugins/lsp/otter/config.nix index c8a2d3c6..b1b045d8 100644 --- a/modules/plugins/lsp/otter/config.nix +++ b/modules/plugins/lsp/otter/config.nix @@ -15,13 +15,12 @@ mappings = addDescriptionsToMappings cfg.otter-nvim.mappings mappingDefinitions; in { config = mkIf (cfg.enable && cfg.otter-nvim.enable) { - assertions = [ - { - assertion = !config.vim.utility.ccc.enable; - message = '' - ccc and otter have a breaking conflict. It's been reported upstream. Until it's fixed, disable one of them - ''; - } + warnings = [ + # TODO: remove warning when we update to nvim 0.11 + (mkIf config.vim.utility.ccc.enable '' + ccc and otter occasionally have small conflicts that will disappear with nvim 0.11. + In the meantime, otter handles it by throwing a warning, but both plugins will work. + '') ]; vim = { startPlugins = ["otter-nvim"]; diff --git a/npins/sources.json b/npins/sources.json index bc149180..daad4177 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1804,9 +1804,9 @@ "repo": "otter.nvim" }, "branch": "main", - "revision": "21f042f4d1a9ff4788634ad76a10033eed13c7f2", - "url": "https://github.com/jmbuhr/otter.nvim/archive/21f042f4d1a9ff4788634ad76a10033eed13c7f2.tar.gz", - "hash": "1gi603ckyxljbhkg8jhwh2pf5kvgb676ykw3sv9gvi0c2s4fb55r" + "revision": "e37053d2c6a17463e705483122eee04d41e3d4af", + "url": "https://github.com/jmbuhr/otter.nvim/archive/e37053d2c6a17463e705483122eee04d41e3d4af.tar.gz", + "hash": "0sq7x2mcxl7z0j4s3a395fy0bzz13h4rxd03lp6674y6hsjxcm55" }, "oxocarbon": { "type": "Git", @@ -2206,4 +2206,4 @@ } }, "version": 3 -} +} \ No newline at end of file From 6576509cd559aec3da271d12fa911d04d44708ec Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 9 Mar 2025 02:37:13 +0300 Subject: [PATCH 32/70] docs: fix typo in project README I should hire someone to proofread my writing... --- .github/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/README.md b/.github/README.md index 01395211..7c0974c3 100644 --- a/.github/README.md +++ b/.github/README.md @@ -237,7 +237,7 @@ customizability of plugin inputs, which is one of our primary features. an imperative path (e.g., `~/.config/nvim`) for my Neovim configuration instead of a configuration generated from Nix? -**A**: Yes! Add `"~/.config.nvim"` to `vim.additionalRuntimePaths = [ ... ]` and +**A**: Yes! Add `"~/.config/nvim"` to `vim.additionalRuntimePaths = [ ... ]` and any plugins you want to load to `vim.startPlugins`. This will load your configuration from `~/.config/nvim`. You may still use `vim.*` to modify Neovim's behaviour with Nix. From c8fd6204d02596462e354cf35b029cd6a86ce24b Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 9 Mar 2025 21:55:04 +0300 Subject: [PATCH 33/70] languages/nix: fully deprecate nixpkgs-fmt --- modules/plugins/languages/nix.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/plugins/languages/nix.nix b/modules/plugins/languages/nix.nix index 1ae2693e..54c11af2 100644 --- a/modules/plugins/languages/nix.nix +++ b/modules/plugins/languages/nix.nix @@ -121,8 +121,6 @@ ) ''; }; - - nixpkgs-fmt = null; # removed }; defaultDiagnosticsProvider = ["statix" "deadnix"]; @@ -219,7 +217,6 @@ in { ${concatStringsSep ", " (attrNames formats)} ''; } - { assertion = cfg.lsp.server != "rnix"; message = '' From 9f276a0c5fac8039087b765d0762095ef61694e1 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> Date: Mon, 10 Mar 2025 09:43:34 +0100 Subject: [PATCH 34/70] languages/rust: fix unused lsp settings option (#641) Co-authored-by: raf --- modules/plugins/languages/rust.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/plugins/languages/rust.nix b/modules/plugins/languages/rust.nix index 7e9cb627..aea10687 100644 --- a/modules/plugins/languages/rust.nix +++ b/modules/plugins/languages/rust.nix @@ -62,6 +62,15 @@ in { description = "Options to pass to rust analyzer"; type = str; default = ""; + example = '' + ['rust-analyzer'] = { + cargo = {allFeature = true}, + checkOnSave = true, + procMacro = { + enable = true, + }, + }, + ''; }; }; @@ -142,6 +151,9 @@ in { then expToLua cfg.lsp.package else ''{"${cfg.lsp.package}/bin/rust-analyzer"}'' }, + default_settings = { + ${cfg.lsp.opts} + }, on_attach = function(client, bufnr) default_on_attach(client, bufnr) local opts = { noremap=true, silent=true, buffer = bufnr } From dd281b78e50072b7311c0a4480bf94ec026cc20e Mon Sep 17 00:00:00 2001 From: raf Date: Mon, 10 Mar 2025 08:46:07 +0000 Subject: [PATCH 35/70] neovim/init: add API for autocmds and autogroups (#656) --- docs/release-notes/rl-0.8.md | 8 ++ modules/neovim/init/autocmds.nix | 185 +++++++++++++++++++++++++++++++ modules/neovim/init/default.nix | 1 + 3 files changed, 194 insertions(+) create mode 100644 modules/neovim/init/autocmds.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 6b5ed694..bfe21e9b 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -52,6 +52,14 @@ - Add [yazi.nvim] as a companion plugin for Yazi, the terminal file manager. +- Add [](#opt-vim.autocmds) and [](#opt-vim.augroups) to allow declaring + autocommands via Nix. + +- Fix plugin `setupOpts` for yanky.nvim and assert if shada is configured as a + backend while shada is disabled in Neovim options. + +- Add [yazi.nvim] as a companion plugin for Yazi, the terminal file manager. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim diff --git a/modules/neovim/init/autocmds.nix b/modules/neovim/init/autocmds.nix new file mode 100644 index 00000000..5da7bc55 --- /dev/null +++ b/modules/neovim/init/autocmds.nix @@ -0,0 +1,185 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkOption mkEnableOption literalExpression; + inherit (lib.lists) filter; + inherit (lib.strings) optionalString; + inherit (lib.types) nullOr submodule listOf str bool; + inherit (lib.nvim.types) luaInline; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.dag) entryAfter; + + autocommandType = submodule { + options = { + enable = + mkEnableOption "" + // { + default = true; + description = "Whether to enable this autocommand"; + }; + + event = mkOption { + type = nullOr (listOf str); + default = null; + example = ["BufRead" "BufWritePre"]; + description = "The event(s) that trigger the autocommand."; + }; + + pattern = mkOption { + type = nullOr (listOf str); + default = null; + example = ["*.lua" "*.vim"]; + description = "The file pattern(s) that determine when the autocommand applies)."; + }; + + callback = mkOption { + type = nullOr luaInline; + default = null; + example = literalExpression '' + mkLuaInline ''' + function() + print("Saving a Lua file...") + end + '''' + ''; + description = "The file pattern(s) that determine when the autocommand applies."; + }; + + command = mkOption { + type = nullOr str; + default = null; + description = "Vim command string instead of a Lua function."; + }; + + group = mkOption { + type = nullOr str; + default = null; + example = "MyAutoCmdGroup"; + description = "An optional autocommand group to manage related autocommands."; + }; + + desc = mkOption { + type = nullOr str; + default = null; + example = "Notify when saving a Lua file"; + description = "A description for the autocommand."; + }; + + once = mkOption { + type = bool; + default = false; + description = "Whether autocommand run only once."; + }; + + nested = mkOption { + type = bool; + default = false; + description = "Whether to allow nested autocommands to trigger."; + }; + }; + }; + + autogroupType = submodule { + options = { + enable = + mkEnableOption "" + // { + default = true; + description = "Whether to enable this autogroup"; + }; + + name = mkOption { + type = str; + example = "MyAutoCmdGroup"; + description = "The name of the autocommand group."; + }; + + clear = mkOption { + type = bool; + default = true; + description = '' + Whether to clear existing autocommands in this group before defining new ones. + This helps avoid duplicate autocommands. + ''; + }; + }; + }; + + cfg = config.vim; +in { + options.vim = { + augroups = mkOption { + type = listOf autogroupType; + default = []; + description = '' + A list of Neovim autogroups, which are used to organize and manage related + 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. + ''; + }; + + autocmds = mkOption { + type = listOf autocommandType; + default = []; + description = '' + A list of Neovim autocommands to be registered. + + Each entry defines an autocommand, specifying events, patterns, optional + callbacks, commands, groups, and execution settings. + ''; + }; + }; + + config = { + vim = let + enabledAutocommands = filter (cmd: cmd.enable) cfg.autocmds; + enabledAutogroups = filter (au: au.enable) cfg.augroups; + in { + luaConfigRC = { + augroups = entryAfter ["pluginConfigs"] (optionalString (enabledAutogroups != []) '' + local nvf_autogroups = {} + for _, group in ipairs(${toLuaObject enabledAutogroups}) do + if group.name then + nvf_autogroups[group.name] = { clear = group.clear } + end + end + + for group_name, options in pairs(nvf_autogroups) do + vim.api.nvim_create_augroup(group_name, options) + end + ''); + + autocmds = entryAfter ["pluginConfigs"] (optionalString (enabledAutocommands != []) '' + local nvf_autocommands = ${toLuaObject enabledAutocommands} + for _, autocmd in ipairs(nvf_autocommands) do + vim.api.nvim_create_autocmd( + autocmd.event, + { + group = autocmd.group, + pattern = autocmd.pattern, + buffer = autocmd.buffer, + desc = autocmd.desc, + callback = autocmd.callback, + command = autocmd.command, + once = autocmd.once, + nested = autocmd.nested + } + ) + end + ''); + }; + }; + + assertions = [ + { + assertion = builtins.all (cmd: (cmd.command == null || cmd.callback == null)) cfg.autocmds; + message = "An autocommand cannot have both 'command' and 'callback' defined at the same time."; + } + ]; + }; +} diff --git a/modules/neovim/init/default.nix b/modules/neovim/init/default.nix index b0c7e0ce..ac9d29e5 100644 --- a/modules/neovim/init/default.nix +++ b/modules/neovim/init/default.nix @@ -1,5 +1,6 @@ { imports = [ + ./autocmds.nix ./basic.nix ./debug.nix ./highlight.nix From 3c52dbfd72bc1ef3c72e5910ab2737a6b012ca50 Mon Sep 17 00:00:00 2001 From: Nikita <68944906+BANanaD3V@users.noreply.github.com> Date: Mon, 10 Mar 2025 11:56:50 +0300 Subject: [PATCH 36/70] dashboard/alpha: configure with nix (#699) Co-authored-by: raf --- .github/typos.toml | 2 +- docs/release-notes/rl-0.8.md | 6 + modules/plugins/dashboard/alpha/alpha.nix | 20 +- modules/plugins/dashboard/alpha/config.nix | 228 +++------------------ 4 files changed, 52 insertions(+), 204 deletions(-) diff --git a/.github/typos.toml b/.github/typos.toml index 2ea46a8c..e2c0d59d 100644 --- a/.github/typos.toml +++ b/.github/typos.toml @@ -1,5 +1,5 @@ -default.extend-ignore-words-re = ["(?i)(noice)", "befores", "annote", "viw"] +default.extend-ignore-words-re = ["(?i)(noice)", "befores", "annote", "viw", "BANanaD3V"] files.extend-exclude = [ "npins/sources.json" ] diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index bfe21e9b..1a5b7e4c 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -5,6 +5,8 @@ - `git-conflict` keybinds are now prefixed with `` to avoid conflicting with builtins. +- `alpha` is now configured with nix, default config removed. + [NotAShelf](https://github.com/notashelf): [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim @@ -235,3 +237,7 @@ [projekt0n/github-nvim-theme]: https://github.com/projekt0n/github-nvim-theme - Add `github-nvim-theme` theme from [projekt0n/github-nvim-theme]. + +[BANanaD3V](https://github.com/BANanaD3V): + +- `alpha` is now configured with nix. diff --git a/modules/plugins/dashboard/alpha/alpha.nix b/modules/plugins/dashboard/alpha/alpha.nix index d5329cc7..90d02f30 100644 --- a/modules/plugins/dashboard/alpha/alpha.nix +++ b/modules/plugins/dashboard/alpha/alpha.nix @@ -1,7 +1,23 @@ {lib, ...}: let - inherit (lib.options) mkEnableOption; + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.types) listOf attrsOf anything nullOr enum; in { options.vim.dashboard.alpha = { - enable = mkEnableOption "fast and fully programmable greeter for neovim [alpha.mvim]"; + enable = mkEnableOption "fast and fully programmable greeter for neovim [alpha.nvim]"; + theme = mkOption { + type = nullOr (enum ["dashboard" "startify" "theta"]); + default = "dashboard"; + description = "Alpha default theme to use"; + }; + layout = mkOption { + type = listOf (attrsOf anything); + default = []; + description = "Alpha dashboard layout"; + }; + opts = mkOption { + type = attrsOf anything; + default = {}; + description = "Optional global options"; + }; }; } diff --git a/modules/plugins/dashboard/alpha/config.nix b/modules/plugins/dashboard/alpha/config.nix index bb648a50..804189b9 100644 --- a/modules/plugins/dashboard/alpha/config.nix +++ b/modules/plugins/dashboard/alpha/config.nix @@ -5,8 +5,11 @@ }: let inherit (lib.modules) mkIf; inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.dashboard.alpha; + themeDefined = cfg.theme != null; + layoutDefined = cfg.layout != []; in { config = mkIf cfg.enable { vim.startPlugins = [ @@ -14,207 +17,30 @@ in { "nvim-web-devicons" ]; - # the entire credit for this dashboard configuration to https://github.com/Rishabh672003 - # honestly, excellent work - vim.pluginRC.alpha = entryAnywhere '' - local alpha = require("alpha") - local plenary_path = require("plenary.path") - local dashboard = require("alpha.themes.dashboard") - local cdir = vim.fn.getcwd() - local if_nil = vim.F.if_nil - - local nvim_web_devicons = { - enabled = true, - highlight = true, - } - - local function get_extension(fn) - local match = fn:match("^.+(%..+)$") - local ext = "" - if match ~= nil then - ext = match:sub(2) - end - return ext - end - - local function icon(fn) - local nwd = require("nvim-web-devicons") - local ext = get_extension(fn) - return nwd.get_icon(fn, ext, { default = true }) - end - - local function file_button(fn, sc, short_fn) - short_fn = short_fn or fn - local ico_txt - local fb_hl = {} - - if nvim_web_devicons.enabled then - local ico, hl = icon(fn) - local hl_option_type = type(nvim_web_devicons.highlight) - if hl_option_type == "boolean" then - if hl and nvim_web_devicons.highlight then - table.insert(fb_hl, { hl, 0, 3 }) - end - end - if hl_option_type == "string" then - table.insert(fb_hl, { nvim_web_devicons.highlight, 0, 3 }) - end - ico_txt = ico .. " " - else - ico_txt = "" - end - local file_button_el = dashboard.button(sc, ico_txt .. short_fn, "e " .. fn .. " ") - local fn_start = short_fn:match(".*[/\\]") - if fn_start ~= nil then - table.insert(fb_hl, { "Comment", #ico_txt - 2, #fn_start + #ico_txt }) - end - file_button_el.opts.hl = fb_hl - return file_button_el - end - - local default_mru_ignore = { "gitcommit" } - - local mru_opts = { - ignore = function(path, ext) - return (string.find(path, "COMMIT_EDITMSG")) or (vim.tbl_contains(default_mru_ignore, ext)) - end, - } - - --- @param start number - --- @param cwd string optional - --- @param items_number number optional number of items to generate, default = 10 - local function mru(start, cwd, items_number, opts) - opts = opts or mru_opts - items_number = if_nil(items_number, 15) - - local oldfiles = {} - for _, v in pairs(vim.v.oldfiles) do - if #oldfiles == items_number then - break - end - local cwd_cond - if not cwd then - cwd_cond = true - else - cwd_cond = vim.startswith(v, cwd) - end - local ignore = (opts.ignore and opts.ignore(v, get_extension(v))) or false - if (vim.fn.filereadable(v) == 1) and cwd_cond and not ignore then - oldfiles[#oldfiles + 1] = v - end - end - local target_width = 35 - - local tbl = {} - for i, fn in ipairs(oldfiles) do - local short_fn - if cwd then - short_fn = vim.fn.fnamemodify(fn, ":.") - else - short_fn = vim.fn.fnamemodify(fn, ":~") - end - - if #short_fn > target_width then - short_fn = plenary_path.new(short_fn):shorten(1, { -2, -1 }) - if #short_fn > target_width then - short_fn = plenary_path.new(short_fn):shorten(1, { -1 }) - end - end - - local shortcut = tostring(i + start - 1) - - local file_button_el = file_button(fn, shortcut, short_fn) - tbl[i] = file_button_el - end - return { - type = "group", - val = tbl, - opts = {}, - } - end - - local default_header = { - type = "text", - val = { - - [[███ ██ ███████ ██████ ██ ██ ██ ███ ███]], - [[████ ██ ██ ██ ██ ██ ██ ██ ████ ████]], - [[██ ██ ██ █████ ██ ██ ██ ██ ██ ██ ████ ██]], - [[██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██]], - [[██ ████ ███████ ██████ ████ ██ ██ ██]], - - -- [[ __ ]], - -- [[ ___ ___ ___ __ __ /\_\ ___ ___ ]], - -- [[ / _ `\ / __`\ / __`\/\ \/\ \\/\ \ / __` __`\ ]], - -- [[/\ \/\ \/\ __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]], - -- [[\ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]], - -- [[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]], - }, - opts = { - position = "center", - hl = "Type", - -- wrap = "overflow"; - }, - } - - local section_mru = { - type = "group", - val = { - { - type = "text", - val = "Recent files", - opts = { - hl = "SpecialComment", - shrink_margin = false, - position = "center", - }, - }, - { type = "padding", val = 1 }, - { - type = "group", - val = function() - return { mru(0, cdir) } - end, - opts = { shrink_margin = false }, - }, - }, - } - - local buttons = { - type = "group", - val = { - { type = "text", val = "Quick links", opts = { hl = "SpecialComment", position = "center" } }, - { type = "padding", val = 1 }, - -- TODO: buttons should be added based on whether or not the relevant plugin is available - dashboard.button("e", " New file", "ene"), -- available all the time - dashboard.button("SPC F", "󰈞 Find file"), -- telescope - dashboard.button("SPC ff", "󰊄 Live grep"), -- telescope - dashboard.button("SPC p", " Projects"), -- any project - dashboard.button("q", "󰅚 Quit", "qa"), -- available all the time - }, - position = "center", - } - - local config = { - layout = { - { type = "padding", val = 2 }, - default_header, - { type = "padding", val = 2 }, - section_mru, - { type = "padding", val = 2 }, - buttons, - }, - opts = { - margin = 5, - setup = function() - vim.cmd([[ - autocmd alpha_temp DirChanged * lua require('alpha').redraw() - ]]) - end, - }, - } - - alpha.setup(config) + vim.pluginRC.alpha = let + setupOpts = + if themeDefined + then lib.generators.mkLuaInline "require'alpha.themes.${cfg.theme}'.config" + else { + inherit (cfg) layout opts; + }; + in '' + require('alpha').setup(${toLuaObject setupOpts}) ''; + + assertions = [ + { + assertion = themeDefined || layoutDefined; + message = '' + One of 'theme' or 'layout' should be defined in Alpha configuration. + ''; + } + { + assertion = !(themeDefined && layoutDefined); + message = '' + 'theme' and 'layout' cannot be defined at the same time. + ''; + } + ]; }; } From 28b48565f024a20a44bee850f6819d1e5b3972ec Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 10 Mar 2025 12:03:48 +0300 Subject: [PATCH 37/70] ci: update typos config --- .editorconfig | 2 +- .github/typos.toml | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.editorconfig b/.editorconfig index 2f767ae8..c7fdc76d 100644 --- a/.editorconfig +++ b/.editorconfig @@ -14,7 +14,7 @@ indent_style = space indent_size = 2 trim_trailing_whitespace = false -[*.{js,json,nix,yml,yaml}] +[*.{js,json,nix,yml,yaml,toml}] indent_style = space indent_size = 2 tab_width = 2 diff --git a/.github/typos.toml b/.github/typos.toml index e2c0d59d..2cd18dde 100644 --- a/.github/typos.toml +++ b/.github/typos.toml @@ -1,5 +1,10 @@ -default.extend-ignore-words-re = ["(?i)(noice)", "befores", "annote", "viw", "BANanaD3V"] -files.extend-exclude = [ -"npins/sources.json" +files.extend-exclude = ["npins/sources.json"] +default.extend-ignore-words-re = [ + "(?i)(noice)", + "befores", + "annote", + "viw", + "BA", # somehow "BANanaD3V" is valid, but BA is not... ] + From 2f02c47c1b5895b97295aacd454fad6eb1822598 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:37:32 +0000 Subject: [PATCH 38/70] ci: bump cachix/cachix-action from 15 to 16 (#703) Bumps [cachix/cachix-action](https://github.com/cachix/cachix-action) from 15 to 16. - [Release notes](https://github.com/cachix/cachix-action/releases) - [Commits](https://github.com/cachix/cachix-action/compare/v15...v16) --- updated-dependencies: - dependency-name: cachix/cachix-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cachix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cachix.yml b/.github/workflows/cachix.yml index cac8ee51..959a04b6 100644 --- a/.github/workflows/cachix.yml +++ b/.github/workflows/cachix.yml @@ -36,7 +36,7 @@ jobs: - name: Install Nix uses: DeterminateSystems/nix-installer-action@main - - uses: cachix/cachix-action@v15 + - uses: cachix/cachix-action@v16 with: authToken: ${{ secrets.CACHIX_TOKEN }} extraPullNames: nix-community From bafa6cbf84970e03c40e22e80fff32f077ef741c Mon Sep 17 00:00:00 2001 From: Thales Menato <8753631+thamenato@users.noreply.github.com> Date: Tue, 11 Mar 2025 06:33:39 -0400 Subject: [PATCH 39/70] languages/cue: initial CUE language support (#704) * feat: add cue language support * docs: add changelog information --- docs/release-notes/rl-0.8.md | 2 ++ modules/plugins/languages/cue.nix | 51 +++++++++++++++++++++++++++ modules/plugins/languages/default.nix | 1 + 3 files changed, 54 insertions(+) create mode 100644 modules/plugins/languages/cue.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 1a5b7e4c..1acc855e 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -159,8 +159,10 @@ [thamenato](https://github.com/thamenato): [ruff]: (https://github.com/astral-sh/ruff) +[cue]: (https://cuelang.org/) - Add [ruff] as a formatter option in `vim.languages.python.format.type`. +- Add [cue] support under `vim.languages.cue`. [ARCIII](https://github.com/ArmandoCIII): diff --git a/modules/plugins/languages/cue.nix b/modules/plugins/languages/cue.nix new file mode 100644 index 00000000..313e3233 --- /dev/null +++ b/modules/plugins/languages/cue.nix @@ -0,0 +1,51 @@ +{ + pkgs, + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.modules) mkIf mkMerge; + inherit (lib.types) package; + inherit (lib.nvim.types) mkGrammarOption; + + cfg = config.vim.languages.cue; +in { + options.vim.languages.cue = { + enable = mkEnableOption "CUE language support"; + + treesitter = { + enable = mkEnableOption "CUE treesitter" // {default = config.vim.languages.enableTreesitter;}; + + package = mkGrammarOption pkgs "cue"; + }; + + lsp = { + enable = mkEnableOption "CUE LSP support" // {default = config.vim.languages.enableLSP;}; + + package = mkOption { + type = package; + default = pkgs.cue; + description = "cue lsp implementation"; + }; + }; + }; + + config = mkIf cfg.enable (mkMerge [ + (mkIf cfg.treesitter.enable { + vim.treesitter.enable = true; + vim.treesitter.grammars = [cfg.treesitter.package]; + }) + + (mkIf cfg.lsp.enable { + vim.lsp.lspconfig.enable = true; + vim.lsp.lspconfig.sources.cue-lsp = '' + lspconfig.cue.setup { + capabilities = capabilities, + on_attach = default_on_attach, + cmd = {"${cfg.lsp.package}/bin/cue", "lsp"}, + } + ''; + }) + ]); +} diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index 08d676b9..d452ef56 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -5,6 +5,7 @@ in { ./asm.nix ./astro.nix ./bash.nix + ./cue.nix ./dart.nix ./clang.nix ./css.nix From 06250248696fa5c44e11a89a5647d12570fc0851 Mon Sep 17 00:00:00 2001 From: "Adam M. Szalkowski" Date: Thu, 13 Mar 2025 00:21:13 +0100 Subject: [PATCH 40/70] languages/helm: init (#679) --- docs/release-notes/rl-0.8.md | 4 ++ modules/plugins/languages/default.nix | 1 + modules/plugins/languages/helm.nix | 89 +++++++++++++++++++++++++++ modules/plugins/languages/yaml.nix | 17 ++++- 4 files changed, 109 insertions(+), 2 deletions(-) create mode 100644 modules/plugins/languages/helm.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 1acc855e..ee579d3e 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -243,3 +243,7 @@ [BANanaD3V](https://github.com/BANanaD3V): - `alpha` is now configured with nix. + +[Butzist](https://github.com/butzist) + +- Add Helm chart support under `vim.languages.helm`. diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index d452ef56..20acfb6c 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -13,6 +13,7 @@ in { ./gleam.nix ./go.nix ./hcl.nix + ./helm.nix ./kotlin.nix ./html.nix ./haskell.nix diff --git a/modules/plugins/languages/helm.nix b/modules/plugins/languages/helm.nix new file mode 100644 index 00000000..d3fd636e --- /dev/null +++ b/modules/plugins/languages/helm.nix @@ -0,0 +1,89 @@ +{ + pkgs, + config, + lib, + ... +}: let + inherit (builtins) attrNames; + inherit (lib.options) mkEnableOption mkOption; + inherit (lib.modules) mkIf mkMerge; + inherit (lib.lists) isList; + inherit (lib.types) enum either listOf package str; + inherit (lib.nvim.types) mkGrammarOption; + inherit (lib.nvim.lua) expToLua; + + cfg = config.vim.languages.helm; + yamlCfg = config.vim.languages.yaml; + + helmCmd = + if isList cfg.lsp.package + then cfg.lsp.package + else ["${cfg.lsp.package}/bin/helm_ls" "serve"]; + yamlCmd = + if isList yamlCfg.lsp.package + then builtins.elemAt yamlCfg.lsp.package 0 + else "${yamlCfg.lsp.package}/bin/yaml-language-server"; + + defaultServer = "helm-ls"; + servers = { + helm-ls = { + package = pkgs.helm-ls; + lspConfig = '' + lspconfig.helm_ls.setup { + capabilities = capabilities, + on_attach = default_on_attach, + cmd = ${expToLua helmCmd}, + settings = { + ['helm-ls'] = { + yamlls = { + path = "${yamlCmd}" + } + } + } + } + ''; + }; + }; +in { + options.vim.languages.helm = { + enable = mkEnableOption "Helm language support"; + + treesitter = { + enable = mkEnableOption "Helm treesitter" // {default = config.vim.languages.enableTreesitter;}; + package = mkGrammarOption pkgs "helm"; + }; + + lsp = { + enable = mkEnableOption "Helm LSP support" // {default = config.vim.languages.enableLSP;}; + + server = mkOption { + description = "Helm LSP server to use"; + type = enum (attrNames servers); + default = defaultServer; + }; + + package = mkOption { + description = "Helm LSP server package"; + type = either package (listOf str); + default = servers.${cfg.lsp.server}.package; + }; + }; + }; + + config = mkIf cfg.enable (mkMerge [ + (mkIf cfg.treesitter.enable { + vim.treesitter.enable = true; + vim.treesitter.grammars = [cfg.treesitter.package]; + }) + + (mkIf cfg.lsp.enable { + vim.lsp.lspconfig.enable = true; + vim.lsp.lspconfig.sources.helm-lsp = servers.${cfg.lsp.server}.lspConfig; + }) + + { + # Enables filetype detection + vim.startPlugins = [pkgs.vimPlugins.vim-helm]; + } + ]); +} diff --git a/modules/plugins/languages/yaml.nix b/modules/plugins/languages/yaml.nix index ef17b964..c84b17cd 100644 --- a/modules/plugins/languages/yaml.nix +++ b/modules/plugins/languages/yaml.nix @@ -14,14 +14,27 @@ cfg = config.vim.languages.yaml; + onAttach = + if config.vim.languages.helm.lsp.enable + then '' + on_attach = function(client, bufnr) + local filetype = vim.bo[bufnr].filetype + if filetype == "helm" then + client.stop() + end + end'' + else "on_attach = default_on_attach"; + defaultServer = "yaml-language-server"; servers = { yaml-language-server = { package = pkgs.nodePackages.yaml-language-server; lspConfig = '' + + lspconfig.yamlls.setup { - capabilities = capabilities; - on_attach = default_on_attach; + capabilities = capabilities, + ${onAttach}, cmd = ${ if isList cfg.lsp.package then expToLua cfg.lsp.package From 54311277fc5c3ed22850f804c25cd9c406d75646 Mon Sep 17 00:00:00 2001 From: Victor R <39545521+viicslen@users.noreply.github.com> Date: Fri, 14 Mar 2025 01:42:50 +0000 Subject: [PATCH 41/70] language/php: add initial support for intelephense php lsp (#709) * language/php: add initial support for intelephense php lsp * docs: update release notes --------- Co-authored-by: raf --- docs/release-notes/rl-0.8.md | 7 ++++++- modules/plugins/languages/php.nix | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index ee579d3e..bd52df0d 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -244,6 +244,11 @@ - `alpha` is now configured with nix. -[Butzist](https://github.com/butzist) +[viicslen](https://github.com/viicslen): + +- Add `intelephense` language server support under + `vim.languages.php.lsp.server` + +[Butzist](https://github.com/butzist): - Add Helm chart support under `vim.languages.helm`. diff --git a/modules/plugins/languages/php.nix b/modules/plugins/languages/php.nix index d921b11d..4dccc8cd 100644 --- a/modules/plugins/languages/php.nix +++ b/modules/plugins/languages/php.nix @@ -64,6 +64,26 @@ } ''; }; + + intelephense = { + package = pkgs.intelephense; + lspConfig = '' + lspconfig.intelephense.setup{ + capabilities = capabilities, + on_attach = default_on_attach, + cmd = ${ + if isList cfg.lsp.package + then expToLua cfg.lsp.package + else '' + { + "${getExe cfg.lsp.package}", + "--stdio" + }, + '' + } + } + ''; + }; }; in { options.vim.languages.php = { From 2d5ff939b0a55f0a143927fb52f3ff386077c22b Mon Sep 17 00:00:00 2001 From: ARCIII <88923299+ArmandoCIII@users.noreply.github.com> Date: Sat, 15 Mar 2025 09:44:33 -0400 Subject: [PATCH 42/70] assistant/codecompanion-nvim: init (#707) * assistant/codecompanion-nvim: init * assistant/codecompanion-nvim: PR review revisions --------- Co-authored-by: raf --- configuration.nix | 1 + docs/release-notes/rl-0.8.md | 2 + .../codecompanion/codecompanion-nvim.nix | 278 ++++++++++++++++++ .../assistant/codecompanion/config.nix | 27 ++ .../assistant/codecompanion/default.nix | 6 + modules/plugins/assistant/default.nix | 1 + npins/sources.json | 12 + 7 files changed, 327 insertions(+) create mode 100644 modules/plugins/assistant/codecompanion/codecompanion-nvim.nix create mode 100644 modules/plugins/assistant/codecompanion/config.nix create mode 100644 modules/plugins/assistant/codecompanion/default.nix diff --git a/configuration.nix b/configuration.nix index 692337db..a243c970 100644 --- a/configuration.nix +++ b/configuration.nix @@ -234,6 +234,7 @@ isMaximal: { enable = false; cmp.enable = isMaximal; }; + codecompanion-nvim.enable = false; }; session = { diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index bd52df0d..9f05f60a 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -167,10 +167,12 @@ [ARCIII](https://github.com/ArmandoCIII): [leetcode.nvim]: https://github.com/kawre/leetcode.nvim +[codecompanion-nvim]: https://github.com/olimorris/codecompanion.nvim - Add `vim.languages.zig.dap` support through pkgs.lldb dap adapter. Code Inspiration from `vim.languages.clang.dap` implementation. - Add [leetcode.nvim] plugin under `vim.utility.leetcode-nvim`. +- Add [codecompanion.nvim] plugin under `vim.assistant.codecompanion-nvim`. [nezia1](https://github.com/nezia1): diff --git a/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix b/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix new file mode 100644 index 00000000..9ebe30c0 --- /dev/null +++ b/modules/plugins/assistant/codecompanion/codecompanion-nvim.nix @@ -0,0 +1,278 @@ +{lib, ...}: let + inherit (lib.options) mkOption mkEnableOption; + inherit (lib.types) int str enum nullOr attrs; + inherit (lib.nvim.types) mkPluginSetupOption luaInline; +in { + options.vim.assistant = { + codecompanion-nvim = { + enable = mkEnableOption "complementary neovim plugin for codecompanion.nvim"; + + setupOpts = mkPluginSetupOption "codecompanion-nvim" { + opts = { + send_code = mkEnableOption "code from being sent to the LLM."; + + log_level = mkOption { + type = enum ["DEBUG" "INFO" "ERROR" "TRACE"]; + default = "ERROR"; + description = "Change the level of logging."; + }; + + language = mkOption { + type = str; + default = "English"; + description = "Specify which language an LLM should respond in."; + }; + }; + + display = { + diff = { + enabled = + mkEnableOption "" + // { + default = true; + description = "a diff view to see the changes made by the LLM."; + }; + + close_chat_at = mkOption { + type = int; + default = 240; + description = '' + Close an open chat buffer if the + total columns of your display are less than... + ''; + }; + + layout = mkOption { + type = enum ["vertical" "horizontal"]; + default = "vertical"; + description = "Type of split for default provider."; + }; + + provider = mkOption { + type = enum ["default" "mini_diff"]; + default = "default"; + description = "The preferred kind of provider."; + }; + }; + + inline = { + layout = mkOption { + type = enum ["vertical" "horizontal" "buffer"]; + default = "vertical"; + description = "Customize how output is created in new buffer."; + }; + }; + + chat = { + auto_scroll = mkEnableOption "automatic page scrolling."; + + show_settings = mkEnableOption '' + LLM settings to appear at the top of the chat buffer. + ''; + + start_in_insert_mode = mkEnableOption '' + opening the chat buffer in insert mode. + ''; + + show_header_separator = mkEnableOption '' + header separators in the chat buffer. + + Set this to false if you're using an + external markdown formatting plugin. + ''; + + show_references = + mkEnableOption "" + // { + default = true; + description = "references in the chat buffer."; + }; + + show_token_count = + mkEnableOption "" + // { + default = true; + description = "the token count for each response."; + }; + + intro_message = mkOption { + type = str; + default = "Welcome to CodeCompanion ✨! Press ? for options."; + description = "Message to appear in chat buffer."; + }; + + separator = mkOption { + type = str; + default = "─"; + description = '' + The separator between the + different messages in the chat buffer. + ''; + }; + + icons = { + pinned_buffer = mkOption { + type = str; + default = " "; + description = "The icon to represent a pinned buffer."; + }; + + watched_buffer = mkOption { + type = str; + default = "👀 "; + description = "The icon to represent a watched buffer."; + }; + }; + }; + + action_palette = { + width = mkOption { + type = int; + default = 95; + description = "Width of the action palette."; + }; + + height = mkOption { + type = int; + default = 10; + description = "Height of the action palette."; + }; + + prompt = mkOption { + type = str; + default = "Prompt "; + description = "Prompt used for interactive LLM calls."; + }; + + provider = mkOption { + type = enum ["default" "telescope" "mini_pick"]; + default = "default"; + description = "Provider used for the action palette."; + }; + + opts = { + show_default_actions = + mkEnableOption "" + // { + default = true; + description = "showing default actions in the action palette."; + }; + + show_default_prompt_library = + mkEnableOption "" + // { + default = true; + description = '' + showing default prompt library in the action palette. + ''; + }; + }; + }; + }; + + adapters = mkOption { + type = nullOr luaInline; + default = null; + description = "An adapter is what connects Neovim to an LLM."; + }; + + strategies = { + chat = { + adapter = mkOption { + type = nullOr str; + default = null; + description = "Adapter used for the chat strategy."; + }; + + keymaps = mkOption { + type = nullOr attrs; + default = null; + description = "Define or override the default keymaps."; + }; + + variables = mkOption { + type = nullOr luaInline; + default = null; + description = '' + Define your own variables + to share specific content. + ''; + }; + + slash_commands = mkOption { + type = nullOr luaInline; + default = null; + description = '' + Slash Commands (invoked with /) let you dynamically + insert context into the chat buffer, + such as file contents or date/time. + ''; + }; + + tools = mkOption { + type = nullOr attrs; + default = null; + description = '' + Configure tools to perform specific + tasks when invoked by an LLM. + ''; + }; + + roles = mkOption { + type = nullOr luaInline; + default = null; + description = '' + The chat buffer places user and LLM responses under a H2 header. + These can be customized in the configuration. + ''; + }; + }; + + inline = { + adapter = mkOption { + type = nullOr str; + default = null; + description = "Adapter used for the inline strategy."; + }; + + variables = mkOption { + type = nullOr luaInline; + default = null; + description = '' + Define your own variables + to share specific content. + ''; + }; + + keymaps = { + accept_change = { + n = mkOption { + type = str; + default = "ga"; + description = "Accept the suggested change."; + }; + }; + + reject_change = { + n = mkOption { + type = str; + default = "gr"; + description = "Reject the suggested change."; + }; + }; + }; + }; + }; + + prompt_library = mkOption { + type = nullOr attrs; + default = null; + description = '' + A prompt library is a collection of prompts + that can be used in the action palette. + ''; + }; + }; + }; + }; +} diff --git a/modules/plugins/assistant/codecompanion/config.nix b/modules/plugins/assistant/codecompanion/config.nix new file mode 100644 index 00000000..6b427d28 --- /dev/null +++ b/modules/plugins/assistant/codecompanion/config.nix @@ -0,0 +1,27 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.assistant.codecompanion-nvim; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = [ + "plenary-nvim" + ]; + + lazy.plugins = { + codecompanion-nvim = { + package = "codecompanion-nvim"; + setupModule = "codecompanion"; + inherit (cfg) setupOpts; + }; + }; + + treesitter.enable = true; + }; + }; +} diff --git a/modules/plugins/assistant/codecompanion/default.nix b/modules/plugins/assistant/codecompanion/default.nix new file mode 100644 index 00000000..7f7b4452 --- /dev/null +++ b/modules/plugins/assistant/codecompanion/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./codecompanion-nvim.nix + ]; +} diff --git a/modules/plugins/assistant/default.nix b/modules/plugins/assistant/default.nix index 5b5cf323..697d54f6 100644 --- a/modules/plugins/assistant/default.nix +++ b/modules/plugins/assistant/default.nix @@ -2,5 +2,6 @@ imports = [ ./chatgpt ./copilot + ./codecompanion ]; } diff --git a/npins/sources.json b/npins/sources.json index daad4177..a1d5d19c 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -243,6 +243,18 @@ "url": "https://github.com/ray-x/cmp-treesitter/archive/958fcfa0d8ce46d215e19cc3992c542f576c4123.tar.gz", "hash": "05as01c2f7i20zkzpqbq9n8ji9bcwd678ixmxnrz9vmz5zsj8q7i" }, + "codecompanion-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "olimorris", + "repo": "codecompanion.nvim" + }, + "branch": "main", + "revision": "dd81bd9176daba9ea507cd0457f662c0a15c001f", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/dd81bd9176daba9ea507cd0457f662c0a15c001f.tar.gz", + "hash": "09a20q1hshp07nf9n8w4cxpa8s32vwyd4ya0gdnx5jp7g00dksrg" + }, "codewindow-nvim": { "type": "Git", "repository": { From b3d59642370ba52e61e6db65d1b85937e2d6f210 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 16 Mar 2025 19:31:25 +0300 Subject: [PATCH 43/70] pins: bump all plugins --- npins/sources.json | 346 ++++++++++++++++++++++----------------------- 1 file changed, 173 insertions(+), 173 deletions(-) diff --git a/npins/sources.json b/npins/sources.json index a1d5d19c..54256514 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -8,9 +8,9 @@ "repo": "aerial.nvim" }, "branch": "master", - "revision": "3284a2cb858ba009c79da87d5e010ccee3c99c4d", - "url": "https://github.com/stevearc/aerial.nvim/archive/3284a2cb858ba009c79da87d5e010ccee3c99c4d.tar.gz", - "hash": "0fsvd6ndkp3r8lzpyshqshapna5sh37nz6qabznpwpwax42ghakp" + "revision": "2204cf08791449a6a2fd2ef187a29112eeefd989", + "url": "https://github.com/stevearc/aerial.nvim/archive/2204cf08791449a6a2fd2ef187a29112eeefd989.tar.gz", + "hash": "1482md9kzyrr7mjkca3nnyqgy64q8clhi6xbvgql8qjw7ifz51mx" }, "alpha-nvim": { "type": "Git", @@ -46,10 +46,10 @@ "pre_releases": false, "version_upper_bound": null, "release_prefix": null, - "version": "v0.12.4", - "revision": "a5625f1b14fb5c44b0f9256f5ec0714817f5e355", - "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v0.12.4", - "hash": "0jdifjifxjqa8r80wlqgkn5rm48wziap92340xz228nrgd0c9g69" + "version": "v0.13.1", + "revision": "29861baf37bbb16f5dbf524a6edac5daaad6f4fc", + "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v0.13.1", + "hash": "1y5p7i6g884r65mhfsazx28g0qs37hc57jm37i7kch9kcf8m7sbq" }, "blink-cmp-spell": { "type": "Git", @@ -59,9 +59,9 @@ "repo": "blink-cmp-spell" }, "branch": "master", - "revision": "38d6797dea6f72baa6e8b3bfca6da96d8fcac64d", - "url": "https://github.com/ribru17/blink-cmp-spell/archive/38d6797dea6f72baa6e8b3bfca6da96d8fcac64d.tar.gz", - "hash": "19pnasa446iiapgsr3z2fpk0nnrzh8g5wrzrq8n0y4q0z6spc9f6" + "revision": "782bc76be09c0c5dd08e3edd04e4ec1054c3158e", + "url": "https://github.com/ribru17/blink-cmp-spell/archive/782bc76be09c0c5dd08e3edd04e4ec1054c3158e.tar.gz", + "hash": "13adgj9qxfmbwzvx348kpkm70h0jli9qv3bqhkwh8p6zkfajm607" }, "blink-compat": { "type": "Git", @@ -95,9 +95,9 @@ "repo": "blink-ripgrep.nvim" }, "branch": "main", - "revision": "305e1ae5363f527abdfd71915a3fe1f42af52824", - "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/305e1ae5363f527abdfd71915a3fe1f42af52824.tar.gz", - "hash": "1hcfyicgf33dlr2hhgnhhzdcxxqw1v8v1yjfbnwvlcsgw0rhjl8w" + "revision": "91aee73557237b0cc1313e4ed2b32f10de6cc65e", + "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/91aee73557237b0cc1313e4ed2b32f10de6cc65e.tar.gz", + "hash": "1jg4559946rzsvvny1r7jki1gmr70yjxr8qlnsjkjyxj8h0pjjwl" }, "bufdelete-nvim": { "type": "Git", @@ -119,9 +119,9 @@ "repo": "nvim" }, "branch": "main", - "revision": "4bb938bbba41d306db18bf0eb0633a5f28fd7ba0", - "url": "https://github.com/catppuccin/nvim/archive/4bb938bbba41d306db18bf0eb0633a5f28fd7ba0.tar.gz", - "hash": "112q9iqfp6ay13c1ca1s9svhxqfgnqfn0a1k2s7dy9ydswwmcxbk" + "revision": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429", + "url": "https://github.com/catppuccin/nvim/archive/5b5e3aef9ad7af84f463d17b5479f06b87d5c429.tar.gz", + "hash": "0jmrwag2dx4b1g9x32xwxcr8y0l159hqks09z5miy99wav6dy7z2" }, "ccc-nvim": { "type": "Git", @@ -251,9 +251,9 @@ "repo": "codecompanion.nvim" }, "branch": "main", - "revision": "dd81bd9176daba9ea507cd0457f662c0a15c001f", - "url": "https://github.com/olimorris/codecompanion.nvim/archive/dd81bd9176daba9ea507cd0457f662c0a15c001f.tar.gz", - "hash": "09a20q1hshp07nf9n8w4cxpa8s32vwyd4ya0gdnx5jp7g00dksrg" + "revision": "4f56b047f03bf5edc0d71bf0ca694243a49b912f", + "url": "https://github.com/olimorris/codecompanion.nvim/archive/4f56b047f03bf5edc0d71bf0ca694243a49b912f.tar.gz", + "hash": "1mrb8qxd6mz5dlly9bh30pcd599gfy173f6pd4p8lszs3xhp598k" }, "codewindow-nvim": { "type": "Git", @@ -287,9 +287,9 @@ "repo": "conform.nvim" }, "branch": "master", - "revision": "a6f5bdb78caa305496357d17e962bbc4c0b392e2", - "url": "https://github.com/stevearc/conform.nvim/archive/a6f5bdb78caa305496357d17e962bbc4c0b392e2.tar.gz", - "hash": "1jkm8pbfnp2s9y70cc67pj2fa25a4jl1y4lx6y1k5i323f4lplhz" + "revision": "db8a4a9edb217067b1d7a2e0362c74bfe9cc944d", + "url": "https://github.com/stevearc/conform.nvim/archive/db8a4a9edb217067b1d7a2e0362c74bfe9cc944d.tar.gz", + "hash": "13vpizk8ani64d3a9yrm0g3bz8m6m6cxnpzr2xgslbhxnkmbxq7j" }, "copilot-cmp": { "type": "Git", @@ -323,9 +323,9 @@ "repo": "crates.nvim" }, "branch": "main", - "revision": "1803c8b5516610ba7cdb759a4472a78414ee6cd4", - "url": "https://github.com/Saecki/crates.nvim/archive/1803c8b5516610ba7cdb759a4472a78414ee6cd4.tar.gz", - "hash": "0bqcdsbhs1ab51nmqd3cx7p6nlpmrjj0a53hax9scpqzr23nvr66" + "revision": "403a0abef0e2aec12749a534dc468d6fd50c6741", + "url": "https://github.com/Saecki/crates.nvim/archive/403a0abef0e2aec12749a534dc468d6fd50c6741.tar.gz", + "hash": "19ix86nbww5vljinfwfpjkz806j7dzw4pgjyjya201jb0n22lrc6" }, "csharpls-extended-lsp-nvim": { "type": "Git", @@ -335,9 +335,9 @@ "repo": "csharpls-extended-lsp.nvim" }, "branch": "master", - "revision": "7768c15fe901fd58bfd557034a3cad191a820cfb", - "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/7768c15fe901fd58bfd557034a3cad191a820cfb.tar.gz", - "hash": "0s2jpc22c6s9nnp47kia01bv95xipyn08d0s0pax11fddv2b951f" + "revision": "991d2c43afd7c7be77edd27a2ae686f9779382da", + "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/991d2c43afd7c7be77edd27a2ae686f9779382da.tar.gz", + "hash": "10jj6x78k34yrarp5ydc7n1ylp2xxgxl7jqh1y4d133mgcygabak" }, "dashboard-nvim": { "type": "Git", @@ -407,9 +407,9 @@ "repo": "elixir-tools.nvim" }, "branch": "main", - "revision": "f7e18753f5587b422aac628249fa46c66ed24af3", - "url": "https://github.com/elixir-tools/elixir-tools.nvim/archive/f7e18753f5587b422aac628249fa46c66ed24af3.tar.gz", - "hash": "06h1aqdkr3c5samz819j8c1cgnz636p6qbiavg504fd4kqz3ykzr" + "revision": "6beae8194152e2d8b4a59de19a3e60c1f7ffcff5", + "url": "https://github.com/elixir-tools/elixir-tools.nvim/archive/6beae8194152e2d8b4a59de19a3e60c1f7ffcff5.tar.gz", + "hash": "0kncq60x3kvy4plszq4zygrsy6cyzf43g2xgzqwif88i85ki7zq6" }, "fastaction-nvim": { "type": "Git", @@ -443,9 +443,9 @@ "repo": "flutter-tools.nvim" }, "branch": "main", - "revision": "d135e1d02f6a3a8808efc2b58950ab1fdd49d000", - "url": "https://github.com/akinsho/flutter-tools.nvim/archive/d135e1d02f6a3a8808efc2b58950ab1fdd49d000.tar.gz", - "hash": "06hiiwzb00lc7qalq74lyydks8v007fnsbpkgpkfm7zki0dg22m7" + "revision": "70430c32d176f4a15c6e2c80586cd2791e3a664e", + "url": "https://github.com/akinsho/flutter-tools.nvim/archive/70430c32d176f4a15c6e2c80586cd2791e3a664e.tar.gz", + "hash": "01p721ca4as9b9nn4qibb6s775fn66j13zsx2d3flhkssii06v45" }, "friendly-snippets": { "type": "Git", @@ -467,9 +467,9 @@ "repo": "fzf-lua" }, "branch": "main", - "revision": "9b84b53f3297d4912d7eb95b979e9b27e2e61281", - "url": "https://github.com/ibhagwan/fzf-lua/archive/9b84b53f3297d4912d7eb95b979e9b27e2e61281.tar.gz", - "hash": "1p3fb68h7x50b6m6aaxxqcylipa5rdg0yfz6jlrd5i2kmr5gxldq" + "revision": "03eed634a3b1f4a4dc53f928868566b0b697dabe", + "url": "https://github.com/ibhagwan/fzf-lua/archive/03eed634a3b1f4a4dc53f928868566b0b697dabe.tar.gz", + "hash": "007fz9rwhcfx8l6k6dfnm91dcc4gsazr3vqbv95z5l1h1j184v6c" }, "gesture-nvim": { "type": "Git", @@ -515,9 +515,9 @@ "repo": "gitsigns.nvim" }, "branch": "main", - "revision": "4c40357994f386e72be92a46f41fc1664c84c87d", - "url": "https://github.com/lewis6991/gitsigns.nvim/archive/4c40357994f386e72be92a46f41fc1664c84c87d.tar.gz", - "hash": "1d3i82g5barb9afk7ra3gmcwwjvaqp49sbdz0acki4a0yc80m31w" + "revision": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/7010000889bfb6c26065e0b0f7f1e6aa9163edd9.tar.gz", + "hash": "0hl572j5l1bqg51rg545bavxs8kxya02ss3fj5fxvp9ylrnaqsx9" }, "glow-nvim": { "type": "Git", @@ -539,9 +539,9 @@ "repo": "gruvbox.nvim" }, "branch": "main", - "revision": "089b60e92aa0a1c6fa76ff527837cd35b6f5ac81", - "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/089b60e92aa0a1c6fa76ff527837cd35b6f5ac81.tar.gz", - "hash": "0mr8q2xi4s2anibll8lhxax7q1akyg687bp5r58gckkhi04064q4" + "revision": "15958f5ee43e144856cd2084ce6c571bfdb44504", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/15958f5ee43e144856cd2084ce6c571bfdb44504.tar.gz", + "hash": "16nrxcpds3zacqmfw5jsd5d8qqbwllkw9xacjkglcnaynp4qghqq" }, "harpoon": { "type": "Git", @@ -563,9 +563,9 @@ "repo": "haskell-tools.nvim" }, "branch": "master", - "revision": "834d949f3911297fd657787c73f647be9675ae53", - "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/834d949f3911297fd657787c73f647be9675ae53.tar.gz", - "hash": "1l4jm6010mhjq8bvjc0sbqh0bfadyrq2wisdvsjrgjb0h0w1s8d4" + "revision": "52608d83b424de44e914711c0f505906816e7427", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/52608d83b424de44e914711c0f505906816e7427.tar.gz", + "hash": "1ngz8zzyni2wh0xhvrcl27am39kqaaabh5y9c4i8ym211ravzhv6" }, "highlight-undo-nvim": { "type": "Git", @@ -662,9 +662,9 @@ "repo": "leap.nvim" }, "branch": "main", - "revision": "8b826a9fc766bffd14288aee01847cb0d6c6c383", - "url": "https://github.com/ggandor/leap.nvim/archive/8b826a9fc766bffd14288aee01847cb0d6c6c383.tar.gz", - "hash": "1biydwaky3104c1dys8m37yalrgcwyjyprlbk31j82y4mvmd1lmy" + "revision": "346a16ef942635a8ca5ff92e603d07e7e8be6cbe", + "url": "https://github.com/ggandor/leap.nvim/archive/346a16ef942635a8ca5ff92e603d07e7e8be6cbe.tar.gz", + "hash": "0rq73f7sw1sf8dn6angwgns8jd811aiixmvrndgqz2939dlqaw2l" }, "leetcode-nvim": { "type": "Git", @@ -697,9 +697,9 @@ "repo": "lsp_signature.nvim" }, "branch": "master", - "revision": "693b75f1dc31f5af45ceb762966a6ab00af1850b", - "url": "https://github.com/ray-x/lsp_signature.nvim/archive/693b75f1dc31f5af45ceb762966a6ab00af1850b.tar.gz", - "hash": "0jfiips0ddbry91h52k671sll0zfqpz10dc8fw0w5np6lwiy7z34" + "revision": "8b681c86b0bd7f932cd91987983d91497e43d83f", + "url": "https://github.com/ray-x/lsp_signature.nvim/archive/8b681c86b0bd7f932cd91987983d91497e43d83f.tar.gz", + "hash": "1ap077hgl334klfyi2hv81hf6r9mqpkarrz0b3ky99aavz7bmn2j" }, "lspkind-nvim": { "type": "Git", @@ -745,9 +745,9 @@ "repo": "lualine.nvim" }, "branch": "master", - "revision": "f4f791f67e70d378a754d02da068231d2352e5bc", - "url": "https://github.com/hoob3rt/lualine.nvim/archive/f4f791f67e70d378a754d02da068231d2352e5bc.tar.gz", - "hash": "12jm3vc3mi0p9kjw7g1cd6a9nkgws1mvq2h7lpfmflad8zfmw35q" + "revision": "b8b60c7f1d0d95ad74ee215b2291280b30482476", + "url": "https://github.com/hoob3rt/lualine.nvim/archive/b8b60c7f1d0d95ad74ee215b2291280b30482476.tar.gz", + "hash": "02xyjp446b2nypw3hh4k6b6g9f892kxmmdv23s7dypcws28v50m9" }, "luasnip": { "type": "Git", @@ -769,9 +769,9 @@ "repo": "lz.n" }, "branch": "master", - "revision": "eb94a39433518b26a0eeb117b937b21dc6b18713", - "url": "https://github.com/nvim-neorocks/lz.n/archive/eb94a39433518b26a0eeb117b937b21dc6b18713.tar.gz", - "hash": "1sarbbj53b5f4mcj6b1iqkbjacrh3w63vp8dpz6j802wqwvi51wc" + "revision": "d5856041d60f9500804c872709b8d5f59505d92b", + "url": "https://github.com/nvim-neorocks/lz.n/archive/d5856041d60f9500804c872709b8d5f59505d92b.tar.gz", + "hash": "1dxsy8baq7zdc047ixxxa1qkfw48jgbng4vngwlg6gc2rv16rf36" }, "lzn-auto-require": { "type": "Git", @@ -841,9 +841,9 @@ "repo": "mini.base16" }, "branch": "main", - "revision": "d64302f57a692a2ff2c9a4556935780133f821f9", - "url": "https://github.com/echasnovski/mini.base16/archive/d64302f57a692a2ff2c9a4556935780133f821f9.tar.gz", - "hash": "1vkhhqb9785ypmp7bzqljxfdjg5gz5jxkxp0wl6iacjvwwf18dq7" + "revision": "44240f11871c15aba8fc49959ebd27c0b4768a40", + "url": "https://github.com/echasnovski/mini.base16/archive/44240f11871c15aba8fc49959ebd27c0b4768a40.tar.gz", + "hash": "0z4vvsm2hc1cab5qqd28x6jzyzh23cdijrrs1hkkkj0nj3si3zkn" }, "mini-basics": { "type": "Git", @@ -865,9 +865,9 @@ "repo": "mini.bracketed" }, "branch": "main", - "revision": "95e1023c1734c805ad3b9da364fc3518e0881c70", - "url": "https://github.com/echasnovski/mini.bracketed/archive/95e1023c1734c805ad3b9da364fc3518e0881c70.tar.gz", - "hash": "0is5mk998v3givmlfq5c09pdww7bm1nmrwm5iijhvjgc2rlxxlc4" + "revision": "0ec65567ffde0ad4d94d794d55f3b627203b496a", + "url": "https://github.com/echasnovski/mini.bracketed/archive/0ec65567ffde0ad4d94d794d55f3b627203b496a.tar.gz", + "hash": "05xg63hw83n99al5sylysbq1xpschlj547s3j484jjs7wsbzzp6c" }, "mini-bufremove": { "type": "Git", @@ -889,9 +889,9 @@ "repo": "mini.clue" }, "branch": "main", - "revision": "3ba5f3ff9afbf8c962bf69a483a890e414ba4697", - "url": "https://github.com/echasnovski/mini.clue/archive/3ba5f3ff9afbf8c962bf69a483a890e414ba4697.tar.gz", - "hash": "0j9l26kzvsc0p7xssav97r28cnqbr5av6k64nz83n3xx5xlndnp0" + "revision": "08901d2223797aa25611c33aaf9d8a1049a653bb", + "url": "https://github.com/echasnovski/mini.clue/archive/08901d2223797aa25611c33aaf9d8a1049a653bb.tar.gz", + "hash": "026d647acwxr0wrf43lffmzw4x84jm6v5lipbqqpicqgqs8b4rfv" }, "mini-colors": { "type": "Git", @@ -901,9 +901,9 @@ "repo": "mini.colors" }, "branch": "main", - "revision": "60306b701f574c3f7111a7ef67de208d0c121bbd", - "url": "https://github.com/echasnovski/mini.colors/archive/60306b701f574c3f7111a7ef67de208d0c121bbd.tar.gz", - "hash": "1avblmv2alra43dlq94czmnd4rsjwng66yjg7xcn4bs358z13kzw" + "revision": "d49e0764821d40adbf3f9e92091dfba0b0590378", + "url": "https://github.com/echasnovski/mini.colors/archive/d49e0764821d40adbf3f9e92091dfba0b0590378.tar.gz", + "hash": "1kn5012q6x1hfpyjqhssydln3v6b25gvvjw1zhw93m8x9km2j524" }, "mini-comment": { "type": "Git", @@ -925,9 +925,9 @@ "repo": "mini.completion" }, "branch": "main", - "revision": "dd457bfecf68fb67107f8668b46f745a219c045a", - "url": "https://github.com/echasnovski/mini.completion/archive/dd457bfecf68fb67107f8668b46f745a219c045a.tar.gz", - "hash": "1aharapzl1ll2fpyhl88n47ni12p0mndgpgi34jn57k3mhj0pcgy" + "revision": "8f439dfb5432f9a78fb172ec7e03ee31f18551c4", + "url": "https://github.com/echasnovski/mini.completion/archive/8f439dfb5432f9a78fb172ec7e03ee31f18551c4.tar.gz", + "hash": "0y4zzp4najk2bydwzx72nbn18n32v6ar0dc2qgialszivy0nnhgh" }, "mini-diff": { "type": "Git", @@ -973,9 +973,9 @@ "repo": "mini.files" }, "branch": "main", - "revision": "5900f50608771af55c6cc4f0817152e5e89de820", - "url": "https://github.com/echasnovski/mini.files/archive/5900f50608771af55c6cc4f0817152e5e89de820.tar.gz", - "hash": "1xq2b3xacn5haamw5vmwzmjqqgacrwmfp0yci69kmgpxa8ac3dq0" + "revision": "0a396f5ca5516a07959ae2c00667e1a26c20f0ea", + "url": "https://github.com/echasnovski/mini.files/archive/0a396f5ca5516a07959ae2c00667e1a26c20f0ea.tar.gz", + "hash": "1axjd6a6c02jllhi1l8c9xfplipvz4g82hnxjbsgx4kzc9b60zdq" }, "mini-fuzzy": { "type": "Git", @@ -985,9 +985,9 @@ "repo": "mini.fuzzy" }, "branch": "main", - "revision": "345ff7f65f50177c5567c43ec2c79973cb1278fe", - "url": "https://github.com/echasnovski/mini.fuzzy/archive/345ff7f65f50177c5567c43ec2c79973cb1278fe.tar.gz", - "hash": "18ylb8v7g21r87qkl86hng3zvw9c2q163z535m5m85dxnrxzlgcm" + "revision": "fb42763285075e316fd4250739af9b8c442503de", + "url": "https://github.com/echasnovski/mini.fuzzy/archive/fb42763285075e316fd4250739af9b8c442503de.tar.gz", + "hash": "0hl5ygzlf73g70j7pdd1x4975368sqpynpja1zx7bc5jln698vr4" }, "mini-git": { "type": "Git", @@ -1021,9 +1021,9 @@ "repo": "mini.hues" }, "branch": "main", - "revision": "6b039a95f8fbc002ea79086b8617a1022a5aea5b", - "url": "https://github.com/echasnovski/mini.hues/archive/6b039a95f8fbc002ea79086b8617a1022a5aea5b.tar.gz", - "hash": "1cyk4abrkd6y5hkkh05cywvhg8116aiv7p8yihfcjwgrcjwkwsan" + "revision": "7a88e67dfb953820718106d8fc83d0f97c4d9173", + "url": "https://github.com/echasnovski/mini.hues/archive/7a88e67dfb953820718106d8fc83d0f97c4d9173.tar.gz", + "hash": "1kgjkx9bqycmm077i4jk0fnyl47fkmmd2vv0qf6lqsnnliivqxqw" }, "mini-icons": { "type": "Git", @@ -1093,9 +1093,9 @@ "repo": "mini.misc" }, "branch": "main", - "revision": "bfd8ee265d9cb1f9fcba7a8ae0899fbf84e33d5e", - "url": "https://github.com/echasnovski/mini.misc/archive/bfd8ee265d9cb1f9fcba7a8ae0899fbf84e33d5e.tar.gz", - "hash": "1fd3ah7gsm8zyagl3mk09aqrj8s2m0gxrx225nwbvb8i2pi0g1c1" + "revision": "a477a9d5790f6d899d3055c87f2e771118f91180", + "url": "https://github.com/echasnovski/mini.misc/archive/a477a9d5790f6d899d3055c87f2e771118f91180.tar.gz", + "hash": "1fp60lhv93jiygc0hvchzdzjgs8scczp7kv9cm3kzzimcfa84ky6" }, "mini-move": { "type": "Git", @@ -1117,9 +1117,9 @@ "repo": "mini.notify" }, "branch": "main", - "revision": "f8c84f89c8d981a979f915bd64a2f97bbad285d4", - "url": "https://github.com/echasnovski/mini.notify/archive/f8c84f89c8d981a979f915bd64a2f97bbad285d4.tar.gz", - "hash": "0raw9chqjgwxqdiqqk9xjxgkjf6rg14c7968pvfvfh9jkjdasxg8" + "revision": "e71f08013db6812d9ce95c2624ae405a4267f4f3", + "url": "https://github.com/echasnovski/mini.notify/archive/e71f08013db6812d9ce95c2624ae405a4267f4f3.tar.gz", + "hash": "0fmy3d62283j2cwlxk97fyylad2zkd5j2r7pg7fb3cq8k1021d0s" }, "mini-operators": { "type": "Git", @@ -1129,9 +1129,9 @@ "repo": "mini.operators" }, "branch": "main", - "revision": "81e5059268154f5a8b594c95748968febdd539e3", - "url": "https://github.com/echasnovski/mini.operators/archive/81e5059268154f5a8b594c95748968febdd539e3.tar.gz", - "hash": "066mh426wr9pb137d8b65cl5hkcgmal9mr8y94r3xya7649207mh" + "revision": "02cfac95919b945c19221f0fcebe883c6dce04f6", + "url": "https://github.com/echasnovski/mini.operators/archive/02cfac95919b945c19221f0fcebe883c6dce04f6.tar.gz", + "hash": "1b51b3d1qkbzh68yadx3fcx9dgk405cb2ghln999fl5czvc3crmd" }, "mini-pairs": { "type": "Git", @@ -1153,9 +1153,9 @@ "repo": "mini.pick" }, "branch": "main", - "revision": "bdd189e6b7741177db53875cbc6071f1c8dc6fbd", - "url": "https://github.com/echasnovski/mini.pick/archive/bdd189e6b7741177db53875cbc6071f1c8dc6fbd.tar.gz", - "hash": "1cxifi4vlfknk4i2grdrx5nbzw9jzj6s0ybbmwrcvs1cj9dhzbzh" + "revision": "12ea14f8e285d1bcc909116685fdbb129a89d546", + "url": "https://github.com/echasnovski/mini.pick/archive/12ea14f8e285d1bcc909116685fdbb129a89d546.tar.gz", + "hash": "1ssa7ym6zxhazx551bjsnfdmvm1553kj6amvcczw9jrqbf4ynjqy" }, "mini-sessions": { "type": "Git", @@ -1201,9 +1201,9 @@ "repo": "mini.starter" }, "branch": "main", - "revision": "4f46dc11e1dd9f62310794121405853be8d6b13f", - "url": "https://github.com/echasnovski/mini.starter/archive/4f46dc11e1dd9f62310794121405853be8d6b13f.tar.gz", - "hash": "1iic2f3d93fjiqrk0q1iq3sb6ycbw4vag4c01wk5wj1jc58k3iz5" + "revision": "736c5177bd90cc852c05d903f662f0fc395a4b4b", + "url": "https://github.com/echasnovski/mini.starter/archive/736c5177bd90cc852c05d903f662f0fc395a4b4b.tar.gz", + "hash": "0w2awkcrabbsybvv2hlzjlqgcr53480pg5p3fhaaparrhd90c7na" }, "mini-statusline": { "type": "Git", @@ -1249,9 +1249,9 @@ "repo": "mini.test" }, "branch": "main", - "revision": "82ae4d87a23faa27e7e4119d4a5cf5897cbf1b70", - "url": "https://github.com/echasnovski/mini.test/archive/82ae4d87a23faa27e7e4119d4a5cf5897cbf1b70.tar.gz", - "hash": "0n3n7j8lkxp6mc0wf80ysnwxfw29zjqyfs3ghjl518xbsvjbgcz6" + "revision": "16a909c3ce39d9af9ec4dacca16205d36f85d823", + "url": "https://github.com/echasnovski/mini.test/archive/16a909c3ce39d9af9ec4dacca16205d36f85d823.tar.gz", + "hash": "1qf8ay763d011rvy9qwpv8q3mlxjlymvc4gx3bjfv0n56k5dzpg0" }, "mini-trailspace": { "type": "Git", @@ -1273,9 +1273,9 @@ "repo": "mini.visits" }, "branch": "main", - "revision": "8a2b551a86c556c8a26ce8d6402d03ded1cc7aec", - "url": "https://github.com/echasnovski/mini.visits/archive/8a2b551a86c556c8a26ce8d6402d03ded1cc7aec.tar.gz", - "hash": "1jwpvxlsr8wd5wakd22ah7h127hsxj6ds7jp5m99w2gnlymhsq41" + "revision": "46e7a4074032d0340308c3379bc3650626c85da8", + "url": "https://github.com/echasnovski/mini.visits/archive/46e7a4074032d0340308c3379bc3650626c85da8.tar.gz", + "hash": "1776i3xn9dpccjjamy5ys5acc3nxd3zph4a77sbw2dipfd8zpasi" }, "minimap-vim": { "type": "Git", @@ -1336,9 +1336,9 @@ "repo": "neo-tree.nvim" }, "branch": "main", - "revision": "c2f12ba9dba917d53dba13121c15d7903e28c24d", - "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/c2f12ba9dba917d53dba13121c15d7903e28c24d.tar.gz", - "hash": "07hh7gjjp4zdhwdhrrd3mvndd6cqf0lydhsb5hn0aqagm65z2jm3" + "revision": "d9544c74ec43cca0564fdc334c116fbe0be8a807", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/d9544c74ec43cca0564fdc334c116fbe0be8a807.tar.gz", + "hash": "0wiw4aipg3qmzw6k9vrljh4cg09kyqd28s6xpv2zhsg05mm38nhb" }, "neocord": { "type": "Git", @@ -1348,9 +1348,9 @@ "repo": "neocord" }, "branch": "main", - "revision": "4d55d8dab2d5f2f272192add7a2c21982039c699", - "url": "https://github.com/IogaMaster/neocord/archive/4d55d8dab2d5f2f272192add7a2c21982039c699.tar.gz", - "hash": "18d84bd5242a3khpsk0iya3i75bc65mc2xc9kjldpvb827m6myl3" + "revision": "41bacd44e9d36f5e36e0271672ac2c02f6fa355a", + "url": "https://github.com/IogaMaster/neocord/archive/41bacd44e9d36f5e36e0271672ac2c02f6fa355a.tar.gz", + "hash": "1n998zsv0bikscwpr75qq11xh559xzx6d7rs7fc21jj1rivkk4aw" }, "neorg": { "type": "Git", @@ -1360,9 +1360,9 @@ "repo": "neorg" }, "branch": "main", - "revision": "b47b4d3138beef51ffbf59bcbd7d149150b4bd2e", - "url": "https://github.com/nvim-neorg/neorg/archive/b47b4d3138beef51ffbf59bcbd7d149150b4bd2e.tar.gz", - "hash": "1x9sk24i8gyxssc8qz99x3d5nh3m2pi3srmv1f3fbgpffcgvl1yv" + "revision": "6f0b4eefa591fbc4c9344f110b0c0bac5b49078c", + "url": "https://github.com/nvim-neorg/neorg/archive/6f0b4eefa591fbc4c9344f110b0c0bac5b49078c.tar.gz", + "hash": "1x8h5hxzg06g1d849bna6rs4jzjf248g59v87zvlc4scmp9pzjga" }, "neorg-telescope": { "type": "Git", @@ -1384,9 +1384,9 @@ "repo": "neovim-session-manager" }, "branch": "master", - "revision": "270e235b014f0c37bf362eb1e8913d66bba33a2e", - "url": "https://github.com/Shatur/neovim-session-manager/archive/270e235b014f0c37bf362eb1e8913d66bba33a2e.tar.gz", - "hash": "16455f05wj5qjdvspj0hjwa77hsdhj3443h57lck3px33bz7n86h" + "revision": "3409dc920d40bec4c901c0a122a80bee03d6d1e1", + "url": "https://github.com/Shatur/neovim-session-manager/archive/3409dc920d40bec4c901c0a122a80bee03d6d1e1.tar.gz", + "hash": "1f7farfkr5ldpa7y7hz9sh8dp7538x1xvwr9n1zrra1szf7s8rlk" }, "new-file-template-nvim": { "type": "Git", @@ -1456,9 +1456,9 @@ "repo": "nui.nvim" }, "branch": "main", - "revision": "53e907ffe5eedebdca1cd503b00aa8692068ca46", - "url": "https://github.com/MunifTanjim/nui.nvim/archive/53e907ffe5eedebdca1cd503b00aa8692068ca46.tar.gz", - "hash": "1m4vlf9qcs01a8qrq3salcz966sp8cpf01gbrg8dbf255vzc8kp9" + "revision": "8d3bce9764e627b62b07424e0df77f680d47ffdb", + "url": "https://github.com/MunifTanjim/nui.nvim/archive/8d3bce9764e627b62b07424e0df77f680d47ffdb.tar.gz", + "hash": "0ia8q5d4xcss45vw6jlaanyr0migy03cjzq9g0kipfyqxkcxi105" }, "nvim-autopairs": { "type": "Git", @@ -1492,9 +1492,9 @@ "repo": "nvim-cmp" }, "branch": "main", - "revision": "5a11682453ac6b13dbf32cd403da4ee9c07ef1c3", - "url": "https://github.com/hrsh7th/nvim-cmp/archive/5a11682453ac6b13dbf32cd403da4ee9c07ef1c3.tar.gz", - "hash": "06n3barrl80i0y43q250l49q07f7hry9w5ggwlimv7jxvilih43l" + "revision": "1e1900b0769324a9675ef85b38f99cca29e203b3", + "url": "https://github.com/hrsh7th/nvim-cmp/archive/1e1900b0769324a9675ef85b38f99cca29e203b3.tar.gz", + "hash": "1yqg4gnzmlm9h5rcmzv7msjmqna0ffn7gllf5knfkps5ns0ynpyf" }, "nvim-colorizer-lua": { "type": "Git", @@ -1504,9 +1504,9 @@ "repo": "nvim-colorizer.lua" }, "branch": "master", - "revision": "943be69156b94fbc96064f4913d653f0c7fb299f", - "url": "https://github.com/NvChad/nvim-colorizer.lua/archive/943be69156b94fbc96064f4913d653f0c7fb299f.tar.gz", - "hash": "0fb973i0h0dq02zr7c9ivm9vk64w6h3px9db2gqb6rzrm2inf0m1" + "revision": "517df88cf2afb36652830df2c655df2da416a0ae", + "url": "https://github.com/NvChad/nvim-colorizer.lua/archive/517df88cf2afb36652830df2c655df2da416a0ae.tar.gz", + "hash": "0gaxkq30wvxq3d8x6l6r10vdxyizfi5g55xnvzw69lfyl61d9qy8" }, "nvim-cursorline": { "type": "Git", @@ -1528,9 +1528,9 @@ "repo": "nvim-dap" }, "branch": "master", - "revision": "6e0e8ab4d8ed520076971465a4388dfe54a91d83", - "url": "https://github.com/mfussenegger/nvim-dap/archive/6e0e8ab4d8ed520076971465a4388dfe54a91d83.tar.gz", - "hash": "09skngq8caazmggdmqs7490i8icg6fxzwf1nxkc0hkg6ja82b0nb" + "revision": "a720d4966f758ab22e8ec28812b6df90a53e0f02", + "url": "https://github.com/mfussenegger/nvim-dap/archive/a720d4966f758ab22e8ec28812b6df90a53e0f02.tar.gz", + "hash": "0b979dhl5jr3kx9j5zih39jbrv22d554ws6y8g1cgsm2i3412s4h" }, "nvim-dap-go": { "type": "Git", @@ -1600,9 +1600,9 @@ "repo": "nvim-lspconfig" }, "branch": "master", - "revision": "9e932edb0af4e20880685ddb96a231669fbe8091", - "url": "https://github.com/neovim/nvim-lspconfig/archive/9e932edb0af4e20880685ddb96a231669fbe8091.tar.gz", - "hash": "08hwg32a9yj78w4mh2idcpaig9qbx48ak8aqkp88z4wm65299v4r" + "revision": "8a1529e46eef5efc86c34c8d9bdd313abc2ecba0", + "url": "https://github.com/neovim/nvim-lspconfig/archive/8a1529e46eef5efc86c34c8d9bdd313abc2ecba0.tar.gz", + "hash": "0l9mns71hh0jssxblr1q286z8hmxwbgyq1nw6scki9ffn23jwnz0" }, "nvim-metals": { "type": "Git", @@ -1612,9 +1612,9 @@ "repo": "nvim-metals" }, "branch": "main", - "revision": "5d27f4918ea954772725d6741f84a71cfaff932a", - "url": "https://github.com/scalameta/nvim-metals/archive/5d27f4918ea954772725d6741f84a71cfaff932a.tar.gz", - "hash": "17769ccpkkb53bikhfp2m809xs6p0mszb8d1hnssp1l0s3ip2j1f" + "revision": "fe6125f633c1b2f68d468a2041e81e2e5e8933d4", + "url": "https://github.com/scalameta/nvim-metals/archive/fe6125f633c1b2f68d468a2041e81e2e5e8933d4.tar.gz", + "hash": "1xpav9ykwk7kz61c6y33kyjxf0nf47risdj0q9gf5rnl88cln4by" }, "nvim-navbuddy": { "type": "Git", @@ -1696,9 +1696,9 @@ "repo": "nvim-surround" }, "branch": "main", - "revision": "ae298105122c87bbe0a36b1ad20b06d417c0433e", - "url": "https://github.com/kylechui/nvim-surround/archive/ae298105122c87bbe0a36b1ad20b06d417c0433e.tar.gz", - "hash": "1xrkg4is4spjwkzr6l0qmn3axlrm52d2wm69g2db83jww756pz1h" + "revision": "6c54643ef42016b744888b06d2381abd23f9b7ea", + "url": "https://github.com/kylechui/nvim-surround/archive/6c54643ef42016b744888b06d2381abd23f9b7ea.tar.gz", + "hash": "1c5agqfffmjxc73bv8d4hmrnzx62ikqpv7pii19v5alfdcnh5j48" }, "nvim-tree-lua": { "type": "Git", @@ -1708,9 +1708,9 @@ "repo": "nvim-tree.lua" }, "branch": "master", - "revision": "6709463b2d18e77f7a946027917aa00d4aaed6f4", - "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/6709463b2d18e77f7a946027917aa00d4aaed6f4.tar.gz", - "hash": "1m26fvvsj4lxlwdinvnz8nz968n6x59w8n7zj7vsqm5i8yi84fr6" + "revision": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/c09ff35de503a41fa62465c6b4ae72d96e7a7ce4.tar.gz", + "hash": "0bnc2fc9ipz9yp917l61vvcaqmbdg5fhqxrp7jfjxj5qmvadhai9" }, "nvim-treesitter-context": { "type": "Git", @@ -1720,9 +1720,9 @@ "repo": "nvim-treesitter-context" }, "branch": "master", - "revision": "198720b4016af04c9590f375d714d5bf8afecc1a", - "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/198720b4016af04c9590f375d714d5bf8afecc1a.tar.gz", - "hash": "13msw9i509ncysbgkqbl2wr1c23iw3f4mxkw30sc1yk9x9nx49ri" + "revision": "572e534c9f881bb9bf9f388e4c87f360446c72d4", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/572e534c9f881bb9bf9f388e4c87f360446c72d4.tar.gz", + "hash": "0bg3x75j8mwvpdhwd945lxbwmhw2j1qi135zn0yli78c9jn8g0ay" }, "nvim-ts-autotag": { "type": "Git", @@ -1756,9 +1756,9 @@ "repo": "nvim-web-devicons" }, "branch": "master", - "revision": "1020869742ecb191f260818234517f4a1515cfe8", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/1020869742ecb191f260818234517f4a1515cfe8.tar.gz", - "hash": "024c8c5d6lpakgf9jxzrbkxk3r8haxa7qhmp8i4zsg35ycg6vqaq" + "revision": "d0cafff5c4347a604a07edf7bb9a91fda7eb577e", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/d0cafff5c4347a604a07edf7bb9a91fda7eb577e.tar.gz", + "hash": "1j5ccksn2lkd1f1fvhhjs2amhq17wxmgcqv6jk05jpdbngw2mv98" }, "obsidian-nvim": { "type": "Git", @@ -1804,9 +1804,9 @@ "repo": "orgmode" }, "branch": "master", - "revision": "c0cdcbdced83ceb9b9f058b402a8bfc5f64ab3a6", - "url": "https://github.com/nvim-orgmode/orgmode/archive/c0cdcbdced83ceb9b9f058b402a8bfc5f64ab3a6.tar.gz", - "hash": "0qwv2pg4s9spmy5wvkvflhcb0a2drlygch6hmjanj3g2kkn3ph5f" + "revision": "abf8890a9b0612c51d738268c759c4331bc2109c", + "url": "https://github.com/nvim-orgmode/orgmode/archive/abf8890a9b0612c51d738268c759c4331bc2109c.tar.gz", + "hash": "0j4f2y47s5ymii1w0r9gk39z4vks5fc9cy0rvj1vzml4vf4wijsi" }, "otter-nvim": { "type": "Git", @@ -1864,9 +1864,9 @@ "repo": "precognition.nvim" }, "branch": "main", - "revision": "24f2cc51dccecec4cf3de04bfbd14f5b9e79df0b", - "url": "https://github.com/tris203/precognition.nvim/archive/24f2cc51dccecec4cf3de04bfbd14f5b9e79df0b.tar.gz", - "hash": "0x7i2cim9jwc90v11wm61qbbq54m5581hsvj5jaash3gb5piacvw" + "revision": "4223fb903cbafc3bd8a87a314dac375bbd1c01ce", + "url": "https://github.com/tris203/precognition.nvim/archive/4223fb903cbafc3bd8a87a314dac375bbd1c01ce.tar.gz", + "hash": "11ng6p0xmrjky5xr9jdkrrav7is9r090qhs2fsnbg16124bgb0g5" }, "project-nvim": { "type": "Git", @@ -1900,9 +1900,9 @@ "repo": "rainbow-delimiters.nvim" }, "branch": "master", - "revision": "011d98eaa3a73b5a51d82ce5bc6b1397dde95562", - "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/011d98eaa3a73b5a51d82ce5bc6b1397dde95562.tar.gz", - "hash": "0b2hr4afdp9b30ckh772bg5wbscgdjvssn533988and27jassfaf" + "revision": "f1e5490e87478cf0b528250ebb51552f3d08436a", + "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/f1e5490e87478cf0b528250ebb51552f3d08436a.tar.gz", + "hash": "02265awjpkd8v6s22wx8qrk2wxq8b7c7h5lr9n7pi6d4lwyrkrxf" }, "registers-nvim": { "type": "Git", @@ -1924,9 +1924,9 @@ "repo": "render-markdown.nvim" }, "branch": "main", - "revision": "57fa691b9e374c6539cc0340062dac8f42d4bd8b", - "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/57fa691b9e374c6539cc0340062dac8f42d4bd8b.tar.gz", - "hash": "1kfzj1sj1ljy3ihp7ic3n4cs82im61yh6xvr68m39jg5a1zmy9iv" + "revision": "08e1fa4e281e48ee4aa892428de9fb91e66edca6", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/08e1fa4e281e48ee4aa892428de9fb91e66edca6.tar.gz", + "hash": "1kiwa88l2262ycfj6z70hdriml0y2wnji3l9w27jbky9zxwhazrs" }, "rose-pine": { "type": "Git", @@ -1936,9 +1936,9 @@ "repo": "neovim" }, "branch": "main", - "revision": "3fe41d3959110139e03bcbc6c0c648be83d06b33", - "url": "https://github.com/rose-pine/neovim/archive/3fe41d3959110139e03bcbc6c0c648be83d06b33.tar.gz", - "hash": "105bdjw4phv5229yp0zyrkvf8v6l38rgcp83qy7ap9vlna57fk46" + "revision": "7d1b5c7dcd274921f0f58e90a8bf935f6a95fbf3", + "url": "https://github.com/rose-pine/neovim/archive/7d1b5c7dcd274921f0f58e90a8bf935f6a95fbf3.tar.gz", + "hash": "0iy9is76bhgb17v0l7mr95mkhd9b4ah917v9shx74jp1xsgc481q" }, "rtp-nvim": { "type": "Git", @@ -1972,9 +1972,9 @@ "repo": "rustaceanvim" }, "branch": "master", - "revision": "2feffcf9aa0e160221caafd544c4dedf30414522", - "url": "https://github.com/mrcjkb/rustaceanvim/archive/2feffcf9aa0e160221caafd544c4dedf30414522.tar.gz", - "hash": "1x3fw90k78s3kx3hrhgk1zdv9wd2kbkhmip06q5s61p4zw6bns5r" + "revision": "c7cc0e00ec53cafaa38e258cba4a6507c180289b", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/c7cc0e00ec53cafaa38e258cba4a6507c180289b.tar.gz", + "hash": "1514w2x5vpn790rz8wkah0chr7yz9sm5whaprnm1qc26fz4jwc17" }, "smartcolumn-nvim": { "type": "Git", @@ -2068,9 +2068,9 @@ "repo": "toggleterm.nvim" }, "branch": "main", - "revision": "e76134e682c1a866e3dfcdaeb691eb7b01068668", - "url": "https://github.com/akinsho/toggleterm.nvim/archive/e76134e682c1a866e3dfcdaeb691eb7b01068668.tar.gz", - "hash": "1jyg3nv54kssz2a4blpwhd718msf95zqz6sr2sqblc7b35gm73g1" + "revision": "9a88eae817ef395952e08650b3283726786fb5fb", + "url": "https://github.com/akinsho/toggleterm.nvim/archive/9a88eae817ef395952e08650b3283726786fb5fb.tar.gz", + "hash": "17plyvajwdhpiadsd80vph75qll8pv9571c2wnw35ngmw9gmnavz" }, "tokyonight": { "type": "Git", @@ -2116,9 +2116,9 @@ "repo": "typst-preview.nvim" }, "branch": "master", - "revision": "df393b47c5bc35abe4d60bb479afd0c15802fda8", - "url": "https://github.com/chomosuke/typst-preview.nvim/archive/df393b47c5bc35abe4d60bb479afd0c15802fda8.tar.gz", - "hash": "1k4ir8ss25fm58xfy0588wjim8dxl6vjdl4va2br3knx6jcy2jd8" + "revision": "ddcc71126f910ec83037622bc8d506f91a290ade", + "url": "https://github.com/chomosuke/typst-preview.nvim/archive/ddcc71126f910ec83037622bc8d506f91a290ade.tar.gz", + "hash": "1iqcbpgk87gcgnqd5dv8n4h4hbildp5hbjhnlwjx5zlzcg5qv2my" }, "vim-dirtytalk": { "type": "Git", @@ -2212,10 +2212,10 @@ "repo": "yanky.nvim" }, "branch": "main", - "revision": "9543d4c6c537720419bccb3338c4ddd5bb6fbd44", - "url": "https://github.com/gbprod/yanky.nvim/archive/9543d4c6c537720419bccb3338c4ddd5bb6fbd44.tar.gz", - "hash": "017v0f082pfd79q2j1naapybsmismflwdscn58mhbqh7s7mq8qk8" + "revision": "80d9385dbebe7049fd1961d7909b835a58ce9dcc", + "url": "https://github.com/gbprod/yanky.nvim/archive/80d9385dbebe7049fd1961d7909b835a58ce9dcc.tar.gz", + "hash": "1lg9nxc01shkazqk5g3j0iskiqbwr9sxv07sqrwkwlh36jn59rcp" } }, "version": 3 -} \ No newline at end of file +} From ed2ce4bd0241c1e24e53bc3465517a4823492569 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 16 Mar 2025 20:11:11 +0300 Subject: [PATCH 44/70] modules: clean up descriptions for colorizer & surround; add lazyload events to surround --- modules/plugins/ui/colorizer/colorizer.nix | 20 +++++++++++-------- modules/plugins/utility/surround/config.nix | 3 ++- modules/plugins/utility/surround/surround.nix | 14 +++++++++---- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/modules/plugins/ui/colorizer/colorizer.nix b/modules/plugins/ui/colorizer/colorizer.nix index 313097e7..1cee089f 100644 --- a/modules/plugins/ui/colorizer/colorizer.nix +++ b/modules/plugins/ui/colorizer/colorizer.nix @@ -102,11 +102,7 @@ in { setupOpts = mkPluginSetupOption "colorizer" { filetypes = mkOption { - description = '' - Filetypes to enable on and their option overrides. - - "*" means enable on all filetypes. Filetypes prefixed with "!" are disabled. - ''; + type = attrsOf settingSubmodule; default = {}; example = { "*" = {}; @@ -115,13 +111,21 @@ in { AARRGGBB = false; }; }; - type = attrsOf settingSubmodule; + description = '' + Filetypes to enable on and their option overrides. + + `"*"` means enable on all filetypes. Filetypes prefixed with `"!"` are disabled. + ''; }; user_default_options = mkOption { - description = "Default options"; - default = {}; type = settingSubmodule; + default = {}; + description = '' + `user_default_options` is the second parameter to nvim-colorizer's setup function. + + Anything set here is the inverse of the previous setup configuration. + ''; }; }; }; diff --git a/modules/plugins/utility/surround/config.nix b/modules/plugins/utility/surround/config.nix index 31b4033d..63a1f8d7 100644 --- a/modules/plugins/utility/surround/config.nix +++ b/modules/plugins/utility/surround/config.nix @@ -14,10 +14,11 @@ in { vim = { lazy.plugins.nvim-surround = { package = "nvim-surround"; - setupModule = "nvim-surround"; inherit (cfg) setupOpts; + event = ["BufReadPre" "BufNewFile"]; + keys = [ (mkLznKey "i" cfg.setupOpts.keymaps.insert) (mkLznKey "i" cfg.setupOpts.keymaps.insert_line) diff --git a/modules/plugins/utility/surround/surround.nix b/modules/plugins/utility/surround/surround.nix index 96ff5efb..475c283f 100644 --- a/modules/plugins/utility/surround/surround.nix +++ b/modules/plugins/utility/surround/surround.nix @@ -37,9 +37,13 @@ in { type = bool; default = false; description = '' - nvim-surround: add/change/delete surrounding delimiter pairs with ease. - Note that the default mappings deviate from upstream to avoid conflicts - with nvim-leap. + Whether to enable nvim-surround, Neovim plugin to add/change/delete + surrounding delimiter pairs with ease. + + ::: {.note} + The default mappings deviate from upstream to avoid conflicts with nvim-leap. + You may change thsoe in your configuration if you do not use nvim-leap + ::: ''; }; setupOpts = mkPluginSetupOption "nvim-surround" { @@ -61,7 +65,9 @@ in { useVendoredKeybindings = mkOption { type = bool; default = true; - description = "Use alternative set of keybindings that avoids conflicts with other popular plugins, e.g. nvim-leap"; + description = '' + Use alternative set of keybindings that avoids conflicts with other popular plugins, e.g. nvim-leap + ''; }; }; } From 07d7b7f3bdf5b974620bc4bc69dc9500504331af Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 16 Mar 2025 20:12:28 +0300 Subject: [PATCH 45/70] flake: bump inputs --- flake.lock | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 3b624bec..72912dee 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "type": "github" }, "original": { @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1738852285, - "narHash": "sha256-8Y1uyE6gGHxdU0Vcx2CMg/dAmDSxJw19aAl3TKbbo54=", + "lastModified": 1741647548, + "narHash": "sha256-UqVAeOylufUGIx7BXSneFHD8eI6n0sVwEY2noFENnSE=", "owner": "Gerg-L", "repo": "mnw", - "rev": "6ae73dc9cb72cea17bcc2e3d4670825f483e80e8", + "rev": "3fb89e600e26b91d1795cf8a1a34e11e084b4a04", "type": "github" }, "original": { @@ -62,11 +62,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1732053863, - "narHash": "sha256-DCIVdlb81Fct2uwzbtnawLBC/U03U2hqx8trqTJB7WA=", + "lastModified": 1741118843, + "narHash": "sha256-ggXU3RHv6NgWw+vc+HO4/9n0GPufhTIUjVuLci8Za8c=", "owner": "oxalica", "repo": "nil", - "rev": "2e24c9834e3bb5aa2a3701d3713b43a6fb106362", + "rev": "577d160da311cc7f5042038456a0713e9863d09e", "type": "github" }, "original": { @@ -77,11 +77,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1740303746, - "narHash": "sha256-XcdiWLEhjJkMxDLKQJ0CCivmYYCvA5MDxu9pMybM5kM=", + "lastModified": 1741865919, + "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2d068ae5c6516b2d04562de50a58c682540de9bf", + "rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a", "type": "github" }, "original": { @@ -93,14 +93,17 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1738452942, - "narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" + "lastModified": 1740877520, + "narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "147dee35aab2193b174e4c0868bd80ead5ce755c", + "type": "github" }, "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" } }, "nmd": { @@ -138,11 +141,11 @@ ] }, "locked": { - "lastModified": 1731983527, - "narHash": "sha256-JECaBgC0pQ91Hq3W4unH6K9to8s2Zl2sPNu7bLOv4ek=", + "lastModified": 1741055476, + "narHash": "sha256-52vwEV0oS2lCnx3c/alOFGglujZTLmObit7K8VblnS8=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "71287228d96e9568e1e70c6bbfa3f992d145947b", + "rev": "aefb7017d710f150970299685e8d8b549d653649", "type": "github" }, "original": { From dc2a38f273b0694379bb3d701cee6e5136401ebd Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 16 Mar 2025 20:13:20 +0300 Subject: [PATCH 46/70] utility/surround: fix typo in description --- modules/plugins/utility/surround/surround.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/utility/surround/surround.nix b/modules/plugins/utility/surround/surround.nix index 475c283f..2819b6d6 100644 --- a/modules/plugins/utility/surround/surround.nix +++ b/modules/plugins/utility/surround/surround.nix @@ -42,7 +42,7 @@ in { ::: {.note} The default mappings deviate from upstream to avoid conflicts with nvim-leap. - You may change thsoe in your configuration if you do not use nvim-leap + You may change those in your configuration if you do not use nvim-leap ::: ''; }; From cacbac08fb0738ca26da8ae1c321cadb1fc7dd6d Mon Sep 17 00:00:00 2001 From: raf Date: Sun, 16 Mar 2025 22:50:05 +0000 Subject: [PATCH 47/70] utiltiy/snacks-nvim: init module (#712) --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/utility/default.nix | 1 + .../plugins/utility/snacks-nvim/config.nix | 20 +++++++++++++++++++ .../plugins/utility/snacks-nvim/default.nix | 6 ++++++ .../utility/snacks-nvim/snacks-nvim.nix | 12 +++++++++++ npins/sources.json | 15 ++++++++------ 6 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 modules/plugins/utility/snacks-nvim/config.nix create mode 100644 modules/plugins/utility/snacks-nvim/default.nix create mode 100644 modules/plugins/utility/snacks-nvim/snacks-nvim.nix diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 9f05f60a..353eeac1 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -13,6 +13,7 @@ [render-markdown.nvim]: https://github.com/MeanderingProgrammer/render-markdown.nvim [yanky.nvim]: https://github.com/gbprod/yanky.nvim [yazi.nvim]: https://github.com/mikavilpas/yazi.nvim +[snacks.nvim]: https://github.com/folke/snacks.nvim - Add [typst-preview.nvim] under `languages.typst.extensions.typst-preview-nvim`. @@ -62,6 +63,9 @@ - Add [yazi.nvim] as a companion plugin for Yazi, the terminal file manager. +- Add [snacks.nvim] under `vim.utility.snacks-nvim` as a general-purpose utility + plugin. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index a1574b97..cbe776cc 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -17,6 +17,7 @@ ./nix-develop ./outline ./preview + ./snacks-nvim ./surround ./telescope ./wakatime diff --git a/modules/plugins/utility/snacks-nvim/config.nix b/modules/plugins/utility/snacks-nvim/config.nix new file mode 100644 index 00000000..e726e3e2 --- /dev/null +++ b/modules/plugins/utility/snacks-nvim/config.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.dag) entryAnywhere; + + cfg = config.vim.utility.snacks-nvim; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["snacks-nvim"]; + pluginRC.snacks-nvim = entryAnywhere '' + require("snacks").setup(${toLuaObject cfg.setupOpts}); + ''; + }; + }; +} diff --git a/modules/plugins/utility/snacks-nvim/default.nix b/modules/plugins/utility/snacks-nvim/default.nix new file mode 100644 index 00000000..8a712baa --- /dev/null +++ b/modules/plugins/utility/snacks-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./snacks-nvim.nix + ]; +} diff --git a/modules/plugins/utility/snacks-nvim/snacks-nvim.nix b/modules/plugins/utility/snacks-nvim/snacks-nvim.nix new file mode 100644 index 00000000..30fd6f89 --- /dev/null +++ b/modules/plugins/utility/snacks-nvim/snacks-nvim.nix @@ -0,0 +1,12 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.utility.snacks-nvim = { + enable = mkEnableOption '' + collection of QoL plugins for Neovim [snacks-nvim] + ''; + + setupOpts = mkPluginSetupOption "snacks-nvim" {}; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 54256514..3e903dc3 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1989,16 +1989,19 @@ "hash": "0k1xnyvblshn4fhbxgl0i34j22n55xlwr09sdmb23l57br5rb07q" }, "snacks-nvim": { - "type": "Git", + "type": "GitRelease", "repository": { "type": "GitHub", "owner": "folke", "repo": "snacks.nvim" }, - "branch": "main", - "revision": "bc0630e43be5699bb94dadc302c0d21615421d93", - "url": "https://github.com/folke/snacks.nvim/archive/bc0630e43be5699bb94dadc302c0d21615421d93.tar.gz", - "hash": "0a5nw7xa33shag1h12gf930g3vcixbwk8dxv0ji4980ycskh238v" + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "version": "v2.22.0", + "revision": "5eac729fa290248acfe10916d92a5ed5e5c0f9ed", + "url": "https://api.github.com/repos/folke/snacks.nvim/tarball/v2.22.0", + "hash": "1hbm4fnw51qdp0nz83fcxbvnxjq2k57a37w6dp0wz6wkcx7cwxw9" }, "sqls-nvim": { "type": "Git", @@ -2218,4 +2221,4 @@ } }, "version": 3 -} +} \ No newline at end of file From bc978c4fad0645a2cc010783b2f411b8800e9a37 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 17 Mar 2025 11:46:33 +0300 Subject: [PATCH 48/70] diagnostics/nvim-lint: fix invalid setup table call --- .../plugins/diagnostics/nvim-lint/config.nix | 2 +- .../diagnostics/nvim-lint/nvim-lint.nix | 30 +++++++++---------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix index dac2c2f4..49517f72 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -13,7 +13,7 @@ in { vim = { startPlugins = ["nvim-lint"]; pluginRC.nvim-lint = entryAnywhere '' - require("lint").setup(${toLuaObject cfg.setupOpts}) + require("lint").linters_by_ft(${toLuaObject cfg.linters_by_ft}) ''; }; }; diff --git a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix index 2211211e..b08d82be 100644 --- a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix +++ b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix @@ -1,27 +1,25 @@ {lib, ...}: let inherit (lib.options) mkOption mkEnableOption; inherit (lib.types) attrsOf listOf str; - inherit (lib.nvim.types) mkPluginSetupOption; in { options.vim.diagnostics.nvim-lint = { enable = mkEnableOption "asynchronous linter plugin for Neovim [nvim-lint]"; - setupOpts = mkPluginSetupOption "nvim-lint" { - linters_by_ft = mkOption { - type = attrsOf (listOf str); - default = {}; - example = { - text = ["vale"]; - markdown = ["vale"]; - }; - description = '' - Map of filetype to formatters. This option takes a set of - `key = value` format where the `value` will be converted - to its Lua equivalent. You are responsible for passing the - correct Nix data types to generate a correct Lua value that - conform is able to accept. - ''; + # nvim-lint does not have a setup table. + linters_by_ft = mkOption { + type = attrsOf (listOf str); + default = {}; + example = { + text = ["vale"]; + markdown = ["vale"]; }; + description = '' + Map of filetype to formatters. This option takes a set of `key = value` + format where the `value` will be converted to its Lua equivalent + through `toLuaObject. You are responsible for passing the correct Nix + data types to generate a correct Lua value that conform is able to + accept. + ''; }; }; } From 0367f490ba978597c979d973098dd795be8bb30d Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 17 Mar 2025 20:25:57 +0300 Subject: [PATCH 49/70] lsp/lspsaga: convert setupOpts format --- docs/release-notes/rl-0.8.md | 3 +++ modules/plugins/lsp/lspsaga/config.nix | 16 ++++++---------- modules/plugins/lsp/lspsaga/lspsaga.nix | 17 +++++++++++++++-- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 353eeac1..278b0a68 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -66,6 +66,9 @@ - Add [snacks.nvim] under `vim.utility.snacks-nvim` as a general-purpose utility plugin. +- Move LSPSaga to `setupOpts` format, allowing freeform configuration in + `vim.lsp.lspsaga.setupOpts`. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim diff --git a/modules/plugins/lsp/lspsaga/config.nix b/modules/plugins/lsp/lspsaga/config.nix index 3af6b7f1..2d2903a6 100644 --- a/modules/plugins/lsp/lspsaga/config.nix +++ b/modules/plugins/lsp/lspsaga/config.nix @@ -4,12 +4,12 @@ ... }: let inherit (lib.modules) mkIf mkMerge; - inherit (lib.strings) optionalString; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.binds) addDescriptionsToMappings mkSetLuaBinding; + inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.lsp; - self = import ./lspsaga.nix {inherit lib;}; + self = import ./lspsaga.nix {inherit config lib;}; mappingDefinitions = self.options.vim.lsp.lspsaga.mappings; mappings = addDescriptionsToMappings cfg.lspsaga.mappings mappingDefinitions; @@ -18,6 +18,10 @@ in { vim = { startPlugins = ["lspsaga-nvim"]; + pluginRC.lspsaga = entryAnywhere '' + require('lspsaga').init_lsp_saga(${toLuaObject cfg.lspsaga.setupOpts}) + ''; + maps = { visual = mkSetLuaBinding mappings.codeAction "require('lspsaga.codeaction').range_code_action"; normal = mkMerge [ @@ -40,14 +44,6 @@ in { (mkIf (!cfg.lspSignature.enable) (mkSetLuaBinding mappings.signatureHelp "require('lspsaga.signaturehelp').signature_help")) ]; }; - - pluginRC.lspsaga = entryAnywhere '' - require('lspsaga').init_lsp_saga({ - ${optionalString config.vim.ui.borders.plugins.lspsaga.enable '' - border_style = '${config.vim.ui.borders.plugins.lspsaga.style}', - ''} - }) - ''; }; }; } diff --git a/modules/plugins/lsp/lspsaga/lspsaga.nix b/modules/plugins/lsp/lspsaga/lspsaga.nix index f308aaaa..59fea808 100644 --- a/modules/plugins/lsp/lspsaga/lspsaga.nix +++ b/modules/plugins/lsp/lspsaga/lspsaga.nix @@ -1,10 +1,23 @@ -{lib, ...}: let - inherit (lib.options) mkEnableOption; +{ + config, + lib, + ... +}: let + inherit (lib.options) mkOption mkEnableOption; inherit (lib.nvim.binds) mkMappingOption; + inherit (lib.nvim.types) borderType mkPluginSetupOption; in { options.vim.lsp.lspsaga = { enable = mkEnableOption "LSP Saga"; + setupOpts = mkPluginSetupOption "lspsaga" { + border_style = mkOption { + type = borderType; + default = config.vim.ui.borders.globalStyle; + description = "Border type, see {command}`:help nvim_open_win`"; + }; + }; + mappings = { lspFinder = mkMappingOption "LSP Finder [LSPSaga]" "lf"; renderHoveredDoc = mkMappingOption "Rendered hovered docs [LSPSaga]" "lh"; From af26fb3c7da1a8707a9c5c5bf9482cebabdcdbd3 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 17 Mar 2025 20:30:59 +0300 Subject: [PATCH 50/70] docs/custom-plugins: fix invalid backlink to DAG section --- docs/manual/configuring/custom-plugins/configuring.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/configuring/custom-plugins/configuring.md b/docs/manual/configuring/custom-plugins/configuring.md index c0935f03..5106d29b 100644 --- a/docs/manual/configuring/custom-plugins/configuring.md +++ b/docs/manual/configuring/custom-plugins/configuring.md @@ -67,7 +67,7 @@ of individual sections of configuration as needed. nvf provides helper functions in the extended library, usually under `inputs.nvf.lib.nvim.dag` that you may use. -Please refer to the [DAG section](/index.xhtml#ch-dag-entries) in the nvf manual +Please refer to the [DAG section](#ch-dag-entries) in the nvf manual to find out more about the DAG system. ::: From 93d375af64c5db55e6be86a8bb27323a24b85452 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 18 Mar 2025 12:49:03 +0300 Subject: [PATCH 51/70] minimap/minimap-vim: move code-minimap to `extraPackages` --- modules/plugins/minimap/minimap-vim/config.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/plugins/minimap/minimap-vim/config.nix b/modules/plugins/minimap/minimap-vim/config.nix index 5276a426..a39b9590 100644 --- a/modules/plugins/minimap/minimap-vim/config.nix +++ b/modules/plugins/minimap/minimap-vim/config.nix @@ -10,13 +10,13 @@ cfg = config.vim.minimap.minimap-vim; in { config = mkIf cfg.enable { - vim.startPlugins = [ - pkgs.code-minimap - "minimap-vim" - ]; + vim = { + startPlugins = ["minimap-vim"]; + extraPackages = [pkgs.code-minimap]; - vim.binds.whichKey.register = pushDownDefault { - "m" = "+Minimap"; + binds.whichKey.register = pushDownDefault { + "m" = "+Minimap"; + }; }; }; } From a297acc368f1f56310d422767e277886f3685d7f Mon Sep 17 00:00:00 2001 From: Gerg-L <88247690+Gerg-L@users.noreply.github.com> Date: Tue, 18 Mar 2025 09:51:20 +0000 Subject: [PATCH 52/70] flake: update mnw (#723) --- flake.lock | 6 +++--- modules/wrapper/build/config.nix | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index 72912dee..3ced812a 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1741647548, - "narHash": "sha256-UqVAeOylufUGIx7BXSneFHD8eI6n0sVwEY2noFENnSE=", + "lastModified": 1742255973, + "narHash": "sha256-XfEGVKatTgEMMOVb4SNp1LYLQOSzzrFTDMVDTZFyMVE=", "owner": "Gerg-L", "repo": "mnw", - "rev": "3fb89e600e26b91d1795cf8a1a34e11e084b4a04", + "rev": "b982dbd5e6d55d4438832b3567c09bc2a129649d", "type": "github" }, "original": { diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index d145f798..3c778169 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -6,9 +6,8 @@ ... }: let inherit (pkgs) vimPlugins; - inherit (lib.strings) isString; - inherit (lib.lists) filter map; - inherit (builtins) path; + inherit (lib.trivial) flip; + inherit (builtins) path filter isString; getPin = name: ((pkgs.callPackages ../../../npins/sources.nix {}) // config.vim.pluginOverrides).${name}; @@ -76,13 +75,6 @@ buildConfigPlugins config.vim.optPlugins ); - # additional Lua and Python3 packages, mapped to their respective functions - # to conform to the format mnw expects. end user should - # only ever need to pass a list of packages, which are modified - # here - extraLuaPackages = ps: map (x: ps.${x}) config.vim.luaPackages; - extraPython3Packages = ps: map (x: ps.${x}) config.vim.python3Packages; - # Wrap the user's desired (unwrapped) Neovim package with arguments that'll be used to # generate a wrapped Neovim package. neovim-wrapped = inputs.mnw.lib.wrap pkgs { @@ -92,9 +84,17 @@ extraBinPath = config.vim.extraPackages; initLua = config.vim.builtLuaConfigRC; luaFiles = config.vim.extraLuaFiles; + providers = { + python3 = { + enable = config.vim.withPython3; + extraPackages = ps: map (flip builtins.getAttr ps) config.vim.python3Packages; + }; + ruby.enable = config.vim.withRuby; + nodeJs.enable = config.vim.withNodeJs; + }; + aliases = lib.optional config.vim.viAlias "vi" ++ lib.optional config.vim.vimAlias "vim"; - inherit (config.vim) viAlias vimAlias withRuby withNodeJs withPython3; - inherit extraLuaPackages extraPython3Packages; + extraLuaPackages = ps: map (flip builtins.getAttr ps) config.vim.luaPackages; }; dummyInit = pkgs.writeText "nvf-init.lua" config.vim.builtLuaConfigRC; From e473a4ddb15090e791b202531e165e969d600b93 Mon Sep 17 00:00:00 2001 From: raf Date: Tue, 18 Mar 2025 09:52:07 +0000 Subject: [PATCH 53/70] lsp/lspsaga: update source; lazyload; remove keybinds (#724) * pins: point lspsaga to new source Stop using the fork, the author is back. * pins: point lspsaga to new source Stop using the fork, the author is back. --- docs/release-notes/rl-0.8.md | 9 +++++ modules/plugins/lsp/lspsaga/config.nix | 45 ++++++------------------- modules/plugins/lsp/lspsaga/lspsaga.nix | 34 +++++++------------ npins/sources.json | 8 ++--- 4 files changed, 36 insertions(+), 60 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 278b0a68..399e2712 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -2,11 +2,18 @@ ## Breaking changes +[Lspsaga documentation]: https://nvimdev.github.io/lspsaga/ + - `git-conflict` keybinds are now prefixed with `` to avoid conflicting with builtins. - `alpha` is now configured with nix, default config removed. +- Lspsaga module no longer ships default keybindings. The keybind format has + been changed by upstream, and old keybindings do not have equivalents under + the new API they provide. Please manually set your keybinds according to + [Lspsaga documentation] following the new API. + [NotAShelf](https://github.com/notashelf): [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim @@ -69,6 +76,8 @@ - Move LSPSaga to `setupOpts` format, allowing freeform configuration in `vim.lsp.lspsaga.setupOpts`. +- Lazyload Lspsaga and remove default keybindings for it. + [amadaluzia](https://github.com/amadaluzia): [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim diff --git a/modules/plugins/lsp/lspsaga/config.nix b/modules/plugins/lsp/lspsaga/config.nix index 2d2903a6..811d0178 100644 --- a/modules/plugins/lsp/lspsaga/config.nix +++ b/modules/plugins/lsp/lspsaga/config.nix @@ -3,47 +3,24 @@ lib, ... }: let - inherit (lib.modules) mkIf mkMerge; - inherit (lib.nvim.dag) entryAnywhere; - inherit (lib.nvim.binds) addDescriptionsToMappings mkSetLuaBinding; - inherit (lib.nvim.lua) toLuaObject; + inherit (lib.modules) mkIf mkDefault; cfg = config.vim.lsp; - self = import ./lspsaga.nix {inherit config lib;}; - - mappingDefinitions = self.options.vim.lsp.lspsaga.mappings; - mappings = addDescriptionsToMappings cfg.lspsaga.mappings mappingDefinitions; in { config = mkIf (cfg.enable && cfg.lspsaga.enable) { vim = { - startPlugins = ["lspsaga-nvim"]; + lazy.plugins.lspsaga-nvim = { + package = "lspsaga-nvim"; + setupModule = "lspsaga"; + inherit (cfg.lspsaga) setupOpts; - pluginRC.lspsaga = entryAnywhere '' - require('lspsaga').init_lsp_saga(${toLuaObject cfg.lspsaga.setupOpts}) - ''; - - maps = { - visual = mkSetLuaBinding mappings.codeAction "require('lspsaga.codeaction').range_code_action"; - normal = mkMerge [ - (mkSetLuaBinding mappings.lspFinder "require('lspsaga.provider').lsp_finder") - (mkSetLuaBinding mappings.renderHoveredDoc "require('lspsaga.hover').render_hover_doc") - - (mkSetLuaBinding mappings.smartScrollUp "function() require('lspsaga.action').smart_scroll_with_saga(-1) end") - (mkSetLuaBinding mappings.smartScrollDown "function() require('lspsaga.action').smart_scroll_with_saga(1) end") - - (mkSetLuaBinding mappings.rename "require('lspsaga.rename').rename") - (mkSetLuaBinding mappings.previewDefinition "require('lspsaga.provider').preview_definition") - - (mkSetLuaBinding mappings.showLineDiagnostics "require('lspsaga.diagnostic').show_line_diagnostics") - (mkSetLuaBinding mappings.showCursorDiagnostics "require('lspsaga.diagnostic').show_cursor_diagnostics") - - (mkSetLuaBinding mappings.nextDiagnostic "require('lspsaga.diagnostic').navigate('next')") - (mkSetLuaBinding mappings.previousDiagnostic "require('lspsaga.diagnostic').navigate('prev')") - - (mkSetLuaBinding mappings.codeAction "require('lspsaga.codeaction').code_action") - (mkIf (!cfg.lspSignature.enable) (mkSetLuaBinding mappings.signatureHelp "require('lspsaga.signaturehelp').signature_help")) - ]; + event = ["LspAttach"]; }; + + # Optional dependencies, pretty useful to enhance default functionality of + # Lspsaga. + treesitter.enable = mkDefault true; + visuals.nvim-web-devicons.enable = mkDefault true; }; }; } diff --git a/modules/plugins/lsp/lspsaga/lspsaga.nix b/modules/plugins/lsp/lspsaga/lspsaga.nix index 59fea808..39ce6298 100644 --- a/modules/plugins/lsp/lspsaga/lspsaga.nix +++ b/modules/plugins/lsp/lspsaga/lspsaga.nix @@ -3,10 +3,21 @@ lib, ... }: let + inherit (lib.modules) mkRemovedOptionModule; inherit (lib.options) mkOption mkEnableOption; - inherit (lib.nvim.binds) mkMappingOption; inherit (lib.nvim.types) borderType mkPluginSetupOption; in { + imports = [ + (mkRemovedOptionModule ["vim" "lsp" "lspsaga" "mappings"] '' + Lspsaga mappings have been removed from nvf, as the original author has made + very drastic changes to the API after taking back ownership, and the fork we + used is now archived. Please refer to Lspsaga documentation to add keybinds + for functionality you have used. + + + '') + ]; + options.vim.lsp.lspsaga = { enable = mkEnableOption "LSP Saga"; @@ -17,26 +28,5 @@ in { description = "Border type, see {command}`:help nvim_open_win`"; }; }; - - mappings = { - lspFinder = mkMappingOption "LSP Finder [LSPSaga]" "lf"; - renderHoveredDoc = mkMappingOption "Rendered hovered docs [LSPSaga]" "lh"; - - smartScrollUp = mkMappingOption "Smart scroll up [LSPSaga]" ""; - smartScrollDown = mkMappingOption "Smart scroll up [LSPSaga]" ""; - - rename = mkMappingOption "Rename [LSPSaga]" "lr"; - previewDefinition = mkMappingOption "Preview definition [LSPSaga]" "ld"; - - showLineDiagnostics = mkMappingOption "Show line diagnostics [LSPSaga]" "ll"; - showCursorDiagnostics = mkMappingOption "Show cursor diagnostics [LSPSaga]" "lc"; - - nextDiagnostic = mkMappingOption "Next diagnostic [LSPSaga]" "ln"; - previousDiagnostic = mkMappingOption "Previous diagnostic [LSPSaga]" "lp"; - - codeAction = mkMappingOption "Code action [LSPSaga]" "ca"; - - signatureHelp = mkMappingOption "Signature help [LSPSaga]" "ls"; - }; }; } diff --git a/npins/sources.json b/npins/sources.json index 3e903dc3..91c3f68e 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -717,13 +717,13 @@ "type": "Git", "repository": { "type": "GitHub", - "owner": "tami5", + "owner": "nvimdev", "repo": "lspsaga.nvim" }, "branch": "main", - "revision": "5faeec9f2508d2d49a66c0ac0d191096b4e3fa81", - "url": "https://github.com/tami5/lspsaga.nvim/archive/5faeec9f2508d2d49a66c0ac0d191096b4e3fa81.tar.gz", - "hash": "1bw71db69na2sriv9q167z9bgkir4nwny1bdfv9z606bmng4hhzc" + "revision": "6063935cf68de9aa6dd79f8e1caf5df0a9385de3", + "url": "https://github.com/nvimdev/lspsaga.nvim/archive/6063935cf68de9aa6dd79f8e1caf5df0a9385de3.tar.gz", + "hash": "1pqasjg2f2yd3ci8hyxfqqs7xnkmwdc411dlm6qg1agiv1h8v205" }, "lua-utils-nvim": { "type": "Git", From 71081d084bdf01ff49a3d29f62860483f225be38 Mon Sep 17 00:00:00 2001 From: raf Date: Tue, 18 Mar 2025 14:40:45 +0000 Subject: [PATCH 54/70] completion/nvim-cmp: document default sources; allow override (#725) --- modules/plugins/completion/nvim-cmp/config.nix | 6 ------ modules/plugins/completion/nvim-cmp/nvim-cmp.nix | 16 +++++++++------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/modules/plugins/completion/nvim-cmp/config.nix b/modules/plugins/completion/nvim-cmp/config.nix index ce058876..749ebb7c 100644 --- a/modules/plugins/completion/nvim-cmp/config.nix +++ b/modules/plugins/completion/nvim-cmp/config.nix @@ -60,12 +60,6 @@ in { enableSharedCmpSources = true; nvim-cmp = { - sources = { - nvim-cmp = null; - buffer = "[Buffer]"; - path = "[Path]"; - }; - sourcePlugins = ["cmp-buffer" "cmp-path"]; setupOpts = { diff --git a/modules/plugins/completion/nvim-cmp/nvim-cmp.nix b/modules/plugins/completion/nvim-cmp/nvim-cmp.nix index 0c790455..2c8c77d3 100644 --- a/modules/plugins/completion/nvim-cmp/nvim-cmp.nix +++ b/modules/plugins/completion/nvim-cmp/nvim-cmp.nix @@ -98,14 +98,16 @@ in { sources = mkOption { type = attrsOf (nullOr str); - default = {}; + default = { + nvim-cmp = null; + buffer = "[Buffer]"; + path = "[Path]"; + }; + example = { + nvim-cmp = null; + buffer = "[Buffer]"; + }; description = "The list of sources used by nvim-cmp"; - example = literalExpression '' - { - nvim-cmp = null; - buffer = "[Buffer]"; - } - ''; }; sourcePlugins = mkOption { From a5dee946a9eb749649d17a9d4cd78271600247d0 Mon Sep 17 00:00:00 2001 From: raf Date: Tue, 18 Mar 2025 20:34:34 +0000 Subject: [PATCH 55/70] blink-cmp: apply Nix patch; use new fetcher (#714) * blink-cmp: apply Nix patch; use new fetcher * completion/blink: don't break when modifying built-in sources.providers (#683) * completion/blink-cmp: add missing options **Blink breaks again, 11985891th recorded incident** --------- Co-authored-by: Alfarel --- docs/release-notes/rl-0.8.md | 5 +- flake/legacyPackages/blink-cmp.nix | 22 +++++++-- .../completion/blink-cmp/blink-cmp.nix | 48 ++++++++++++++++--- .../plugins/completion/blink-cmp/config.nix | 19 +++++++- 4 files changed, 80 insertions(+), 14 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 399e2712..c84ef199 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -244,8 +244,9 @@ syncing of nvim shell environment with direnv's. - Add [blink.cmp] source options and some default-disabled sources. - Add [blink.cmp] option to add - [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) so - blink.cmp can source snippets from it. + [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) + so blink.cmp can source snippets from it. +- Fix [blink.cmp] breaking when built-in sources were modified. [TheColorman](https://github.com/TheColorman): diff --git a/flake/legacyPackages/blink-cmp.nix b/flake/legacyPackages/blink-cmp.nix index 924cb4cc..ba1d7424 100644 --- a/flake/legacyPackages/blink-cmp.nix +++ b/flake/legacyPackages/blink-cmp.nix @@ -5,6 +5,7 @@ git, src, version, + fetchpatch, }: let blink-fuzzy-lib = rustPlatform.buildRustPackage { pname = "blink-fuzzy-lib"; @@ -13,11 +14,10 @@ # TODO: remove this if plugin stops using nightly rust env.RUSTC_BOOTSTRAP = true; + useFetchCargoVendor = true; + cargoHash = "sha256-F1wh/TjYoiIbDY3J/prVF367MKk3vwM7LqOpRobOs7I="; + nativeBuildInputs = [git]; - cargoLock = { - lockFile = "${src}/Cargo.lock"; - allowBuiltinFetchGit = true; - }; }; libExt = @@ -34,5 +34,19 @@ in preInstall = '' mkdir -p target/release ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy.${libExt} target/release/libblink_cmp_fuzzy.${libExt} + echo -n "nix" > target/release/version ''; + + # Borrowed from nixpkgs + # TODO: Remove this patch when updating to next version + patches = [ + (fetchpatch { + name = "blink-add-bypass-for-nix.patch"; + url = "https://github.com/Saghen/blink.cmp/commit/6c83ef1ae34abd7ef9a32bfcd9595ac77b61037c.diff?full_index=1"; + hash = "sha256-304F1gDDKVI1nXRvvQ0T1xBN+kHr3jdmwMMp8CNl+GU="; + }) + ]; + + # Module for reproducing issues + nvimSkipModule = ["repro"]; } diff --git a/modules/plugins/completion/blink-cmp/blink-cmp.nix b/modules/plugins/completion/blink-cmp/blink-cmp.nix index 4290e1cb..f5e38ed1 100644 --- a/modules/plugins/completion/blink-cmp/blink-cmp.nix +++ b/modules/plugins/completion/blink-cmp/blink-cmp.nix @@ -1,6 +1,6 @@ {lib, ...}: let inherit (lib.options) mkEnableOption mkOption literalMD; - inherit (lib.types) listOf str either attrsOf submodule enum anything int nullOr; + inherit (lib.types) bool listOf str either attrsOf submodule enum anything int nullOr; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.types) mkPluginSetupOption luaInline pluginType; inherit (lib.nvim.binds) mkMappingOption; @@ -21,8 +21,9 @@ freeformType = anything; options = { module = mkOption { - type = str; - description = "module of the provider"; + type = nullOr str; + default = null; + description = "Provider module."; }; }; }; @@ -40,7 +41,7 @@ in { providers = mkOption { type = attrsOf providerType; default = {}; - description = "Settings for completion providers"; + description = "Settings for completion providers."; }; transform_items = mkOption { @@ -63,6 +64,12 @@ in { default = []; description = "List of sources to enable for cmdline. Null means use default source list."; }; + + keymap = mkOption { + type = keymapType; + default = {}; + description = "blink.cmp cmdline keymap"; + }; }; completion = { @@ -74,6 +81,16 @@ in { description = "Delay before auto show triggers"; }; }; + + menu.auto_show = mkOption { + type = bool; + default = true; + description = '' + Manages the appearance of the completion menu. You may prevent the menu + from automatically showing by this option to `false` and manually showing + it with the show keymap command. + ''; + }; }; keymap = mkOption { @@ -103,7 +120,25 @@ in { fuzzy = { prebuilt_binaries = { download = mkBool false '' - Auto-downloads prebuilt binaries. Do not enable, it doesn't work on nix + Auto-downloads prebuilt binaries. + + ::: .{warning} + Do not enable this option, as it does **not work** on Nix! + ::: + ''; + }; + + implementation = mkOption { + type = enum ["lua" "prefer_rust" "rust" "prefer_rust_with_warning"]; + default = "prefer_rust"; + description = '' + fuzzy matcher implementation for Blink. + + * `"lua"`: slower, Lua native fuzzy matcher implementation + * `"rust": use the SIMD fuzzy matcher, 'frizbee' + * `"prefer_rust"`: use the rust implementation, but fall back to lua + * `"prefer_rust_with_warning"`: use the rust implementation, and fall back to lua + if it is not available after emitting a warning. ''; }; }; @@ -122,12 +157,14 @@ in { sourcePlugins = let sourcePluginType = submodule { options = { + enable = mkEnableOption "this source"; package = mkOption { type = pluginType; description = '' `blink-cmp` source plugin package. ''; }; + module = mkOption { type = str; description = '' @@ -136,7 +173,6 @@ in { Should be present in the source's documentation. ''; }; - enable = mkEnableOption "this source"; }; }; in diff --git a/modules/plugins/completion/blink-cmp/config.nix b/modules/plugins/completion/blink-cmp/config.nix index 875a4fd4..9302332e 100644 --- a/modules/plugins/completion/blink-cmp/config.nix +++ b/modules/plugins/completion/blink-cmp/config.nix @@ -6,8 +6,8 @@ inherit (lib.modules) mkIf; inherit (lib.strings) optionalString; inherit (lib.generators) mkLuaInline; - inherit (lib.attrsets) attrValues filterAttrs; - inherit (lib.lists) map optional; + inherit (lib.attrsets) attrValues filterAttrs mapAttrsToList; + inherit (lib.lists) map optional elem; inherit (lib.nvim.lua) toLuaObject; inherit (builtins) concatStringsSep typeOf tryEval attrNames mapAttrs; @@ -24,7 +24,22 @@ enabledBlinkSources = filterAttrs (_source: definition: definition.enable) cfg.sourcePlugins; blinkSourcePlugins = map (definition: definition.package) (attrValues enabledBlinkSources); + + blinkBuiltins = [ + "path" + "lsp" + "snippets" + "buffer" + "omni" + ]; in { + assertions = + mapAttrsToList (provider: definition: { + assertion = elem provider blinkBuiltins || definition.module != null; + message = "`config.vim.autocomplete.blink-cmp.setupOpts.sources.providers.${provider}.module` is `null`: non-builtin providers must set `module`."; + }) + cfg.setupOpts.sources.providers; + vim = mkIf cfg.enable { startPlugins = ["blink-compat"] ++ blinkSourcePlugins ++ (optional cfg.friendly-snippets.enable "friendly-snippets"); lazy.plugins = { From d8a56fc5f59fce2c470c059d9810ddeb107528ec Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Thu, 20 Mar 2025 14:39:53 +0300 Subject: [PATCH 56/70] meta: update CODEOWNERS with new maintainers --- .github/CODEOWNERS | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index de6ff5ef..2fb071ca 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1,5 @@ -* @NotAShelf +# Codeowners should be used to distinguish the maintainers of the project +# and not contributors of specific modules to nvf. While adding a new module +# please consider adding yourself to 'meta.maintainers' in the module instead +# of CODEOWNERS here. +* @NotAShelf @horriblename @Soliprem From 3a28d05684f7f4e314eb4e56a5af624b648ab278 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Mar 2025 11:44:49 +0000 Subject: [PATCH 57/70] build(deps): bump beatlabs/delete-old-branches-action (#729) Bumps [beatlabs/delete-old-branches-action](https://github.com/beatlabs/delete-old-branches-action) from 0.0.10 to 0.0.11. - [Release notes](https://github.com/beatlabs/delete-old-branches-action/releases) - [Commits](https://github.com/beatlabs/delete-old-branches-action/compare/v0.0.10...v0.0.11) --- updated-dependencies: - dependency-name: beatlabs/delete-old-branches-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/cleanup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cleanup.yml b/.github/workflows/cleanup.yml index 204dcba7..fbc12bc1 100644 --- a/.github/workflows/cleanup.yml +++ b/.github/workflows/cleanup.yml @@ -13,7 +13,7 @@ jobs: uses: actions/checkout@v4 - name: "Delete old branches" - uses: beatlabs/delete-old-branches-action@v0.0.10 + uses: beatlabs/delete-old-branches-action@v0.0.11 with: repo_token: "${{ secrets.GITHUB_TOKEN }}" date: "1 months ago" From 60c3a2ff1e2a30d1b245592da84f231098d4ec75 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang <59727193+horriblename@users.noreply.github.com> Date: Sat, 22 Mar 2025 17:57:21 +0100 Subject: [PATCH 58/70] nvim-lint: fix config syntax (#735) --- 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 49517f72..085140dc 100644 --- a/modules/plugins/diagnostics/nvim-lint/config.nix +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -13,7 +13,7 @@ in { vim = { startPlugins = ["nvim-lint"]; pluginRC.nvim-lint = entryAnywhere '' - require("lint").linters_by_ft(${toLuaObject cfg.linters_by_ft}) + require("lint").linters_by_ft = ${toLuaObject cfg.linters_by_ft} ''; }; }; From 58021beb1c952c55feb693c1469dd9e9c9c9e7a5 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 22 Mar 2025 15:01:51 +0100 Subject: [PATCH 59/70] lazy: fix incomplete event type --- modules/wrapper/lazy/lazy.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/wrapper/lazy/lazy.nix b/modules/wrapper/lazy/lazy.nix index 5d67aa59..eb1f5cdf 100644 --- a/modules/wrapper/lazy/lazy.nix +++ b/modules/wrapper/lazy/lazy.nix @@ -126,7 +126,7 @@ }; event = mkOption { - type = nullOr (oneOf [str (listOf str) lznEvent]); + type = nullOr (oneOf [str lznEvent (listOf (either str lznEvent))]); default = null; description = "Lazy-load on event"; }; From e2d10e8fb20c8a366a23bcd97535ecd3b3b940c8 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 22 Mar 2025 15:02:13 +0100 Subject: [PATCH 60/70] lazy: create LazyFile user event --- modules/wrapper/lazy/config.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/wrapper/lazy/config.nix b/modules/wrapper/lazy/config.nix index 3468d5ec..c1bd8829 100644 --- a/modules/wrapper/lazy/config.nix +++ b/modules/wrapper/lazy/config.nix @@ -134,6 +134,15 @@ in { startPlugins = ["lz-n" "lzn-auto-require"]; optPlugins = pluginPackages; + augroups = [{name = "nvf_lazy_file_hooks";}]; + autocmds = [ + { + event = ["BufReadPost" "BufNewFile" "BufWritePre"]; + group = "nvf_lazy_file_hooks"; + command = "doautocmd User LazyFile"; + once = true; + } + ]; lazy.builtLazyConfig = '' require('lz.n').load(${toLuaObject lznSpecs}) From c639cf50646abc67f87231654c49d749c8b16135 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 22 Mar 2025 15:02:40 +0100 Subject: [PATCH 61/70] copilot: load on LazyFile --- modules/plugins/assistant/copilot/config.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/plugins/assistant/copilot/config.nix b/modules/plugins/assistant/copilot/config.nix index 37da046f..525fe3bd 100644 --- a/modules/plugins/assistant/copilot/config.nix +++ b/modules/plugins/assistant/copilot/config.nix @@ -37,6 +37,12 @@ in { inherit (cfg) setupOpts; after = mkIf cfg.cmp.enable "require('copilot_cmp').setup()"; + event = [ + { + event = "User"; + pattern = "LazyFile"; + } + ]; cmd = ["Copilot" "CopilotAuth" "CopilotDetach" "CopilotPanel" "CopilotStop"]; keys = [ (mkLuaKeymap ["n"] cfg.mappings.panel.accept (wrapPanelBinding ''require("copilot.panel").accept'' cfg.mappings.panel.accept) "[copilot] Accept suggestion" {}) From 5f99c7f4e5cd7db5a3d0ef3e56b0beb75411f93a Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 22 Mar 2025 15:07:27 +0100 Subject: [PATCH 62/70] docs: update release notes --- 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 c84ef199..e1c1f38f 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -89,6 +89,7 @@ [blink.cmp]: https://github.com/saghen/blink.cmp - Add [blink.cmp] support. +- Add `LazyFile` user event. [diniamo](https://github.com/diniamo): @@ -244,8 +245,8 @@ syncing of nvim shell environment with direnv's. - Add [blink.cmp] source options and some default-disabled sources. - Add [blink.cmp] option to add - [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) - so blink.cmp can source snippets from it. + [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) so + blink.cmp can source snippets from it. - Fix [blink.cmp] breaking when built-in sources were modified. [TheColorman](https://github.com/TheColorman): From d105f699219954d973a9f56c60b1be120b67fde4 Mon Sep 17 00:00:00 2001 From: Ching Pei Yang Date: Sat, 22 Mar 2025 15:13:44 +0100 Subject: [PATCH 63/70] docs: mention LazyFile --- .../configuring/custom-plugins/lazy-method.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/manual/configuring/custom-plugins/lazy-method.md b/docs/manual/configuring/custom-plugins/lazy-method.md index c6fd7106..ae766535 100644 --- a/docs/manual/configuring/custom-plugins/lazy-method.md +++ b/docs/manual/configuring/custom-plugins/lazy-method.md @@ -38,3 +38,22 @@ As of version **0.7**, we exposed an API for configuring lazy-loaded plugins via }; } ``` + +## LazyFile event {#sec-lazyfile-event} + +You can use the `LazyFile` user event to load a plugin when a file is opened: + +```nix +{ + config.vim.lazy.plugins = { + "aerial.nvim" = { + package = pkgs.vimPlugins.aerial-nvim; + event = [{event = "User"; pattern = "LazyFile";}]; + # ... + }; + }; +} +``` + +You can consider `LazyFile` as an alias to +`["BufReadPost" "BufNewFile" "BufWritePre"]` From 7696f470a7ccd23fa12875256779032d0aa43cf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phan=20=C4=90=C4=83ng=20Khoa?= Date: Sun, 23 Mar 2025 22:57:38 +0700 Subject: [PATCH 64/70] eslint_d: added conditions for launching eslint_d (#737) * eslint_d: added conditions for launching eslint_d * eslint_d: documented changes to docs/release-notes/rl-0.8.md --------- Co-authored-by: raf --- docs/release-notes/rl-0.8.md | 4 ++++ modules/plugins/languages/astro.nix | 10 ++++++++++ modules/plugins/languages/svelte.nix | 10 ++++++++++ modules/plugins/languages/ts.nix | 10 ++++++++++ 4 files changed, 34 insertions(+) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c84ef199..32a8c28e 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -271,3 +271,7 @@ [Butzist](https://github.com/butzist): - Add Helm chart support under `vim.languages.helm`. + +[rice-cracker-dev](https://github.com/rice-cracker-dev): + +- `eslint_d` now checks for configuration files to load. diff --git a/modules/plugins/languages/astro.nix b/modules/plugins/languages/astro.nix index 9e70424b..d5672af0 100644 --- a/modules/plugins/languages/astro.nix +++ b/modules/plugins/languages/astro.nix @@ -72,6 +72,16 @@ ls_sources, null_ls.builtins.diagnostics.eslint_d.with({ command = "${getExe pkg}", + condition = function(utils) + return utils.root_has_file({ + "eslint.config.js", + "eslint.config.mjs", + ".eslintrc", + ".eslintrc.json", + ".eslintrc.js", + ".eslintrc.yml", + }) + end, }) ) ''; diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index a3c55e10..4d96c20a 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -72,6 +72,16 @@ ls_sources, null_ls.builtins.diagnostics.eslint_d.with({ command = "${getExe pkg}", + condition = function(utils) + return utils.root_has_file({ + "eslint.config.js", + "eslint.config.mjs", + ".eslintrc", + ".eslintrc.json", + ".eslintrc.js", + ".eslintrc.yml", + }) + end, }) ) ''; diff --git a/modules/plugins/languages/ts.nix b/modules/plugins/languages/ts.nix index c9070554..790c235a 100644 --- a/modules/plugins/languages/ts.nix +++ b/modules/plugins/languages/ts.nix @@ -123,6 +123,16 @@ ls_sources, null_ls.builtins.diagnostics.eslint_d.with({ command = "${getExe pkg}", + condition = function(utils) + return utils.root_has_file({ + "eslint.config.js", + "eslint.config.mjs", + ".eslintrc", + ".eslintrc.json", + ".eslintrc.js", + ".eslintrc.yml", + }) + end, }) ) ''; From ac59df1bc91b6e1f7f5c7847de73b2e4a8731557 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 24 Mar 2025 08:43:04 +0300 Subject: [PATCH 65/70] treewide: remove `nmd` dependency --- docs/default.nix | 2 -- flake.lock | 17 ----------------- flake.nix | 6 ------ modules/plugins/statusline/lualine/lualine.nix | 2 -- 4 files changed, 27 deletions(-) diff --git a/docs/default.nix b/docs/default.nix index 48cff563..98b29db0 100644 --- a/docs/default.nix +++ b/docs/default.nix @@ -95,8 +95,6 @@ inherit (nvimModuleDocs) optionsJSON; }; in { - inherit (inputs) nmd; - # TODO: Use `hmOptionsDocs.optionsJSON` directly once upstream # `nixosOptionsDoc` is more customizable. options.json = diff --git a/flake.lock b/flake.lock index 3ced812a..603d0f50 100644 --- a/flake.lock +++ b/flake.lock @@ -106,22 +106,6 @@ "type": "github" } }, - "nmd": { - "flake": false, - "locked": { - "lastModified": 1705050560, - "narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=", - "owner": "~rycee", - "repo": "nmd", - "rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3", - "type": "sourcehut" - }, - "original": { - "owner": "~rycee", - "repo": "nmd", - "type": "sourcehut" - } - }, "root": { "inputs": { "flake-parts": "flake-parts", @@ -129,7 +113,6 @@ "mnw": "mnw", "nil": "nil", "nixpkgs": "nixpkgs", - "nmd": "nmd", "systems": "systems_2" } }, diff --git a/flake.nix b/flake.nix index 30b71f80..6e716581 100644 --- a/flake.nix +++ b/flake.nix @@ -86,12 +86,6 @@ # Alternate neovim-wrapper mnw.url = "github:Gerg-L/mnw"; - # For generating documentation website - nmd = { - url = "sourcehut:~rycee/nmd"; - flake = false; - }; - # Language servers (use master instead of nixpkgs) nil = { url = "github:oxalica/nil"; diff --git a/modules/plugins/statusline/lualine/lualine.nix b/modules/plugins/statusline/lualine/lualine.nix index 9943f78e..bf070db7 100644 --- a/modules/plugins/statusline/lualine/lualine.nix +++ b/modules/plugins/statusline/lualine/lualine.nix @@ -124,8 +124,6 @@ in { mkOption { type = enum themesConcatted; default = "auto"; - # TODO: xml generation error if the closing '' is on a new line. - # issue: https://gitlab.com/rycee/nmd/-/issues/10 defaultText = ''`config.vim.theme.name` if theme supports lualine else "auto"''; description = "Theme for lualine"; }; From df1b3f796831d942b6e405355bdc5a3637429c0a Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 24 Mar 2025 11:57:38 +0300 Subject: [PATCH 66/70] blink: v0.13.1 -> v0.14.1 --- flake/legacyPackages/blink-cmp.nix | 24 +++++------------------- npins/sources.json | 8 ++++---- 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/flake/legacyPackages/blink-cmp.nix b/flake/legacyPackages/blink-cmp.nix index ba1d7424..477616aa 100644 --- a/flake/legacyPackages/blink-cmp.nix +++ b/flake/legacyPackages/blink-cmp.nix @@ -1,11 +1,11 @@ { + stdenv, rustPlatform, hostPlatform, vimUtils, git, src, version, - fetchpatch, }: let blink-fuzzy-lib = rustPlatform.buildRustPackage { pname = "blink-fuzzy-lib"; @@ -19,11 +19,6 @@ nativeBuildInputs = [git]; }; - - libExt = - if hostPlatform.isDarwin - then "dylib" - else "so"; in vimUtils.buildVimPlugin { pname = "blink-cmp"; @@ -31,22 +26,13 @@ in # blink references a repro.lua which is placed outside the lua/ directory doCheck = false; - preInstall = '' + preInstall = let + ext = stdenv.hostPlatform.extensions.sharedLibrary; + in '' mkdir -p target/release - ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy.${libExt} target/release/libblink_cmp_fuzzy.${libExt} - echo -n "nix" > target/release/version + ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy${ext} target/release/libblink_cmp_fuzzy${ext} ''; - # Borrowed from nixpkgs - # TODO: Remove this patch when updating to next version - patches = [ - (fetchpatch { - name = "blink-add-bypass-for-nix.patch"; - url = "https://github.com/Saghen/blink.cmp/commit/6c83ef1ae34abd7ef9a32bfcd9595ac77b61037c.diff?full_index=1"; - hash = "sha256-304F1gDDKVI1nXRvvQ0T1xBN+kHr3jdmwMMp8CNl+GU="; - }) - ]; - # Module for reproducing issues nvimSkipModule = ["repro"]; } diff --git a/npins/sources.json b/npins/sources.json index 91c3f68e..53cb810e 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -46,10 +46,10 @@ "pre_releases": false, "version_upper_bound": null, "release_prefix": null, - "version": "v0.13.1", - "revision": "29861baf37bbb16f5dbf524a6edac5daaad6f4fc", - "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v0.13.1", - "hash": "1y5p7i6g884r65mhfsazx28g0qs37hc57jm37i7kch9kcf8m7sbq" + "version": "v0.14.1", + "revision": "7a91dc584f41f5aa2373a917faf8100b2e54d6c9", + "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v0.14.1", + "hash": "0zm6s3v9liimx28vs1g5yi7bcfrl691q81bvzmdpavcwrzcdb0c8" }, "blink-cmp-spell": { "type": "Git", From 9074c734b7d515b23d80dee32105e332e3055d09 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Mon, 24 Mar 2025 21:09:47 +0300 Subject: [PATCH 67/70] docs: update co-maintainers section --- .github/README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/README.md b/.github/README.md index 7c0974c3..a6ef7a44 100644 --- a/.github/README.md +++ b/.github/README.md @@ -246,14 +246,15 @@ Neovim's behaviour with Nix. ### Co-Maintainers -Alongside myself, nvf is developed by those talented folk: +Alongside [myself](https://github.com/notashelf), nvf is developed by those +talented folk. nvf would not be what it is today without their invaluable +contributions. - [**@horriblename**](https://github.com/horriblename) ([Liberapay](https://liberapay.com/horriblename/))- For actively implementing planned features and quality of life updates. -- [**@Diniamo**](https://github.com/Diniamo) - ([Liberapay](https://en.liberapay.com/diniamo/)) - For actively submitting - pull requests, issues and assistance with maintenance of nvf. +- [**@Soliprem**](https://github.com/soliprem) - For rigorously implementing + missing features and excellent work on new language modules. Please do remember to extend your thanks (financially or otherwise) if this project has been helpful to you. @@ -270,14 +271,14 @@ heart-felt thanks to - [**@FlafyDev**](https://github.com/FlafyDev) - For getting Home-Manager module to work and Nix assistance. - [**@n3oney**](https://github.com/n3oney) - For making custom keybinds finally - possible, and other module additions. + possible, great ideas and module additions. - [**@Yavko**](https://github.com/Yavko) - For the amazing **nvf** logo - [**@FrothyMarrow**](https://github.com/FrothyMarrow) - For seeing mistakes - that I could not. + that I could not and contributing good ideas & code. - [**@Gerg-l**](https://github.com/gerg-l) 🐸 - For the modern Neovim wrapper, - [mnw], and occasional code improvements. -- [**@Soliprem**](https://github.com/soliprem) - Rigorously implementing missing - features and excellent work on new language modules. + [mnw], and occasional improvements to the codebase. +- [**@Diniamo**](https://github.com/Diniamo) - For actively submitting pull + requests, issues and assistance with co-maintenance of nvf. and everyone who has submitted issues or pull requests! @@ -301,7 +302,6 @@ including: I am grateful for their previous work and inspiration, and I wholeheartedly recommend checking their work out. -
## License From 7835cbdc1da7785dca4cb1b2123157b7712109c8 Mon Sep 17 00:00:00 2001 From: Al Duncanson Date: Mon, 24 Mar 2025 19:04:23 -0400 Subject: [PATCH 68/70] docs: fix typo Add missing word in sentence: `let`. --- docs/manual/options.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/manual/options.md b/docs/manual/options.md index 61282dfa..beab4f16 100644 --- a/docs/manual/options.md +++ b/docs/manual/options.md @@ -5,8 +5,8 @@ options will include useful comments, warnings or setup tips on how a module option is meant to be used as well as examples in complex cases. An offline version of this page is bundled with nvf as a part of the manpages -which you can access with `man 5 nvf`. Please us know if you believe any of the -options below are missing useful examples. +which you can access with `man 5 nvf`. Please let us know if you believe any of +the options below are missing useful examples.