diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 0e5103c1..91517f48 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -349,4 +349,5 @@ [avante-nvim]: https://github.com/yetone/avante.nvim +- Fix [render-markdown.nvim] file_types option type to list, to accept merging. - Add [avante.nvim] plugin under `vim.assistant.avante-nvim`. diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 62081549..4563bc44 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.options) mkEnableOption mkOption; inherit (lib.lists) isList; - inherit (lib.types) bool enum either package listOf str; + inherit (lib.types) bool enum either package listOf str nullOr; inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.types) diagnostics mkGrammarOption mkPluginSetupOption; inherit (lib.nvim.dag) entryAnywhere; @@ -117,7 +117,18 @@ in { ''; }; - setupOpts = mkPluginSetupOption "render-markdown" {}; + setupOpts = mkPluginSetupOption "render-markdown" { + file_types = lib.mkOption { + type = nullOr (listOf str); + default = null; + description = '' + List of buffer filetypes to enable this plugin in. + + This will cause the plugin to attach to new buffers who + have any of these filetypes. + ''; + }; + }; }; }; diff --git a/modules/plugins/mini/cursorword/config.nix b/modules/plugins/mini/cursorword/config.nix new file mode 100644 index 00000000..bc5ab2cb --- /dev/null +++ b/modules/plugins/mini/cursorword/config.nix @@ -0,0 +1,19 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.mini.cursorword; +in { + vim = mkIf cfg.enable { + startPlugins = ["mini-cursorword"]; + + pluginRC.mini-ai = entryAnywhere '' + require("mini.cursorword").setup(${toLuaObject cfg.setupOpts}) + ''; + }; +} diff --git a/modules/plugins/mini/cursorword/cursorword.nix b/modules/plugins/mini/cursorword/cursorword.nix new file mode 100644 index 00000000..f2b8903a --- /dev/null +++ b/modules/plugins/mini/cursorword/cursorword.nix @@ -0,0 +1,9 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.mini.cursorword = { + enable = mkEnableOption "mini.cursorword"; + setupOpts = mkPluginSetupOption "mini.cursorword" {}; + }; +} diff --git a/modules/plugins/mini/cursorword/default.nix b/modules/plugins/mini/cursorword/default.nix new file mode 100644 index 00000000..f0aae6c8 --- /dev/null +++ b/modules/plugins/mini/cursorword/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./cursorword.nix + ./config.nix + ]; +} diff --git a/modules/plugins/mini/default.nix b/modules/plugins/mini/default.nix index 8f035285..f066b172 100644 --- a/modules/plugins/mini/default.nix +++ b/modules/plugins/mini/default.nix @@ -11,6 +11,7 @@ ./colors ./comment ./completion + ./cursorword ./diff ./doc ./extra diff --git a/npins/sources.json b/npins/sources.json index cc4cf05d..41c9d7b4 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1033,6 +1033,22 @@ "url": "https://github.com/echasnovski/mini.completion/archive/35130cebc63ace7d6e4583f349af8cd3f3141af7.tar.gz", "hash": "0h5z5i62cc780bzw60rbizngvpyl4vk7j858pndyi2g572plz929" }, + "mini-cursorword": { + "type": "GitRelease", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.cursorword" + }, + "pre_releases": false, + "version_upper_bound": null, + "release_prefix": null, + "submodules": false, + "version": "v0.15.0", + "revision": "6683f04509c380e3147cca368f90bbdb99641775", + "url": "https://api.github.com/repos/echasnovski/mini.cursorword/tarball/v0.15.0", + "hash": "0vqr4hkzq13ap6giyyp8asn5g6nnm406piq1a07a5nmkfxiskp9v" + }, "mini-diff": { "type": "Git", "repository": {