nix-community.nixvim/plugins/telescope/extensions/fzf-native.nix

61 lines
1.3 KiB
Nix
Raw Normal View History

2024-03-24 17:42:40 +01:00
{
lib,
helpers,
config,
pkgs,
...
}:
2024-05-05 19:39:35 +02:00
(import ./_helpers.nix {
inherit
lib
helpers
config
pkgs
;
}).mkExtension
{
name = "fzf-native";
extensionName = "fzf";
defaultPackage = pkgs.vimPlugins.telescope-fzf-native-nvim;
2024-03-24 17:42:40 +01:00
2024-05-05 19:39:35 +02:00
# TODO: introduced 2024-03-24, remove on 2024-05-24
optionsRenamedToSettings = [
"fuzzy"
"overrideGenericSorter"
"overrideFileSorter"
"caseMode"
];
2024-03-24 17:42:40 +01:00
2024-05-05 19:39:35 +02:00
settingsOptions = {
fuzzy = helpers.defaultNullOpts.mkBool true ''
Whether to fuzzy search. False will do exact matching.
'';
2024-03-24 17:42:40 +01:00
2024-05-05 19:39:35 +02:00
override_generic_sorter = helpers.defaultNullOpts.mkBool true ''
Override the generic sorter.
'';
2024-03-24 17:42:40 +01:00
2024-05-05 19:39:35 +02:00
override_file_sorter = helpers.defaultNullOpts.mkBool true ''
Override the file sorter.
'';
2024-03-24 17:42:40 +01:00
2024-05-05 19:39:35 +02:00
case_mode = helpers.defaultNullOpts.mkEnumFirstDefault [
"smart_case"
"ignore_case"
"respect_case"
] "Case mode.";
};
2024-03-24 17:42:40 +01:00
2024-05-05 19:39:35 +02:00
settingsExample = {
fuzzy = false;
override_generic_sorter = true;
override_file_sorter = false;
case_mode = "ignore_case";
};
extraConfig = cfg: {
# Native library is in build/libfzf.so
performance.combinePlugins.pathsToLink = [ "/build" ];
};
2024-05-05 19:39:35 +02:00
}