nix-community.nixvim/plugins/by-name/telescope/extensions/live-greps-args.nix

72 lines
1.8 KiB
Nix

{
lib,
...
}:
let
inherit (lib.nixvim) defaultNullOpts;
inherit (lib) types;
mkExtension = import ./_mk-extension.nix;
in
mkExtension {
name = "live-grep-args";
extensionName = "live_grep_args";
package = "telescope-live-grep-args-nvim";
dependencies = [ "ripgrep" ];
imports = [
# TODO: added 2025-04-07, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = [
"telescope"
"extensions"
"live-grep-args"
];
packageName = "ripgrep";
oldPackageName = "grep";
})
];
settingsOptions = {
auto_quoting = defaultNullOpts.mkBool true ''
Enable or disable auto quoting of searches.
'';
vimgrep_arguments = defaultNullOpts.mkListOf types.str null ''
Arguments to pass to command.
'';
additional_args = defaultNullOpts.mkListOf types.str null ''
Additional arguments to pass to command.
'';
search_dirs = defaultNullOpts.mkListOf types.str null ''
Directory/directories/files to search.
Paths are expanded and appended to the grep command.
'';
theme = defaultNullOpts.mkNullable (with types; either str (attrsOf anything)) null ''
Theme for telescope window.
Can be a string representing a theme name or a table with theme options.
'';
mappings = defaultNullOpts.mkAttrsOf types.anything null ''
Extension specific mappings to various `live-grep-args` actions.
'';
};
settingsExample = {
auto_quoting = true;
mappings = {
i = {
"<C-k>".__raw = ''require("telescope-live-grep-args.actions").quote_prompt()'';
"<C-i>".__raw =
''require("telescope-live-grep-args.actions").quote_prompt({ postfix = " --iglob " })'';
"<C-space>".__raw = ''require("telescope.actions").to_fuzzy_refine'';
};
};
theme = "dropdown";
};
}