12.nixvim/plugins/by-name/treesitter-textobjects/default.nix
Austin Horstman a587a96a48 plugins/treesitter-textobjects: keymaps update
Breaking changes recently introduced in all the nvim-treesitter rewrite.
Just make it more known that the `settings` keymaps will have no effect
in newer versions.
2026-04-10 16:11:37 +00:00

36 lines
1.2 KiB
Nix

{ lib, config, ... }:
lib.nixvim.plugins.mkNeovimPlugin {
name = "treesitter-textobjects";
package = "nvim-treesitter-textobjects";
maintainers = [ lib.maintainers.GaetanLepage ];
description = ''
Syntax-aware textobjects using tree-sitter.
> [!WARNING]
> Upstream refactored this plugin so textobject keymaps are no longer configured through
> `require("nvim-treesitter.configs").setup({ textobjects = ... })`.
> Define keymaps through Neovim's keymap API instead, for example with nixvim's top-level
> `keymaps` option and calls to `require("nvim-treesitter-textobjects.<module>")`.
'';
# TODO: introduced 2025-10-17: remove after 26.05
inherit (import ./deprecations.nix lib) deprecateExtraOptions optionsRenamedToSettings imports;
settingsExample = {
enable = true;
lookahead = true;
};
callSetup = false;
hasLuaConfig = false;
settingsDescription = "Options provided to `plugins.treesitter.settings.textobjects`.";
extraConfig = cfg: {
warnings = lib.nixvim.mkWarnings "plugins.treesitter-textobjects" {
when = !config.plugins.treesitter.enable;
message = "This plugin needs treesitter to function as intended.";
};
plugins.treesitter.settings.textobjects = cfg.settings;
};
}