diff --git a/configuration.nix b/configuration.nix index 62c3e2f1..68776638 100644 --- a/configuration.nix +++ b/configuration.nix @@ -194,6 +194,8 @@ isMaximal: { multicursors.enable = isMaximal; smart-splits.enable = isMaximal; undotree.enable = isMaximal; + nvim-biscuits.enable = isMaximal; + motion = { hop.enable = true; leap.enable = true; diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index c4ad963c..0ea9abd4 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -476,3 +476,10 @@ [soliprem](https://github.com/soliprem): - fix broken `neorg` grammars + +[Cool-Game-Dev](https://github.com/Cool-Game-Dev): + +[nvim-biscuits]: https://github.com/code-biscuits/nvim-biscuits + +- Add [nvim-biscuits] to show block context. Available at + `vim.utility.nvim-biscuits`. diff --git a/modules/plugins/utility/default.nix b/modules/plugins/utility/default.nix index 79d7d924..349fb47a 100644 --- a/modules/plugins/utility/default.nix +++ b/modules/plugins/utility/default.nix @@ -15,6 +15,7 @@ ./multicursors ./new-file-template ./nix-develop + ./nvim-biscuits ./oil-nvim ./outline ./preview diff --git a/modules/plugins/utility/nvim-biscuits/config.nix b/modules/plugins/utility/nvim-biscuits/config.nix new file mode 100644 index 00000000..a0574aa6 --- /dev/null +++ b/modules/plugins/utility/nvim-biscuits/config.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + cfg = config.vim.utility.nvim-biscuits; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["nvim-biscuits"]; + + pluginRC.nvim-biscuits = entryAnywhere '' + require('nvim-biscuits').setup(${toLuaObject cfg.setupOpts}) + ''; + }; + }; +} diff --git a/modules/plugins/utility/nvim-biscuits/default.nix b/modules/plugins/utility/nvim-biscuits/default.nix new file mode 100644 index 00000000..07ccecb4 --- /dev/null +++ b/modules/plugins/utility/nvim-biscuits/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./config.nix + ./nvim-biscuits.nix + ]; +} diff --git a/modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix b/modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix new file mode 100644 index 00000000..3db7acea --- /dev/null +++ b/modules/plugins/utility/nvim-biscuits/nvim-biscuits.nix @@ -0,0 +1,10 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.utility.nvim-biscuits = { + enable = mkEnableOption "a Neovim port of Assorted Biscuits [nvim-biscuits]"; + + setupOpts = mkPluginSetupOption "nvim-biscuits" {}; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 3c3bc3c3..92e18e32 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -1708,6 +1708,19 @@ "url": "https://github.com/windwp/nvim-autopairs/archive/4d74e75913832866aa7de35e4202463ddf6efd1b.tar.gz", "hash": "0q6pv89x05l71nfg2chqf9p0d2ha72agmll2svimq0npp84ymfxz" }, + "nvim-biscuits": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "code-biscuits", + "repo": "nvim-biscuits" + }, + "branch": "main", + "submodules": false, + "revision": "ff1d12c8b47cd28723da593b2cfa2e98391d439a", + "url": "https://github.com/code-biscuits/nvim-biscuits/archive/ff1d12c8b47cd28723da593b2cfa2e98391d439a.tar.gz", + "hash": "18dvvg32nxrdp1ydbvxrzkdg7q214naq2bphs7y1s9zmjhyj25pm" + }, "nvim-bufferline-lua": { "type": "Git", "repository": {