From 4880459702314cf77d066ad1c1ac52d6bf61aed5 Mon Sep 17 00:00:00 2001 From: Alexander Nortung Date: Thu, 1 Dec 2022 20:58:35 +0100 Subject: [PATCH] telescope: added extraOptions and defaults (#67) * telescope: added extraOptions and defualtConfig * Update default.nix Co-authored-by: Pedro Alves --- plugins/telescope/default.nix | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/plugins/telescope/default.nix b/plugins/telescope/default.nix index dd3397c2..46d1ba3a 100644 --- a/plugins/telescope/default.nix +++ b/plugins/telescope/default.nix @@ -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)