telescope: added extraOptions and defaults (#67)

* telescope: added extraOptions and defualtConfig

* Update default.nix

Co-authored-by: Pedro Alves <pta2002@users.noreply.github.com>
This commit is contained in:
Alexander Nortung 2022-12-01 20:58:35 +01:00 committed by GitHub
parent 90b8a45092
commit 4880459702
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -35,6 +35,18 @@ in
description = "Configuration for the extensions. Don't use this directly";
default = { };
};
defaults = mkOption {
type = types.nullOr types.attrs;
default = null;
description = "Telescope default configuration";
};
extraOptions = mkOption {
type = types.attrs;
default = { };
description = "An attribute set, that lets you set extra options or override options set by nixvim";
};
};
config = mkIf cfg.enable {
@ -50,13 +62,16 @@ in
let $BAT_THEME = '${cfg.highlightTheme}'
'';
extraConfigLua = ''
extraConfigLua = let
options = {
extensions = cfg.extensionConfig;
defaults = cfg.defaults;
} // cfg.extraOptions;
in ''
do
local __telescopeExtensions = ${helpers.toLuaObject cfg.enabledExtensions}
require('telescope').setup{
extensions = ${helpers.toLuaObject cfg.extensionConfig}
}
require('telescope').setup(${helpers.toLuaObject options})
for i, extension in ipairs(__telescopeExtensions) do
require('telescope').load_extension(extension)