From 6703c957e7d9a5dc5f91ceb59326ab7e05274642 Mon Sep 17 00:00:00 2001 From: Bjarki Baldursson Harksen <62466569+mrbjarksen@users.noreply.github.com> Date: Sun, 12 Jun 2022 11:08:30 +0000 Subject: feat: add option `use_default_opts` to `builtin.builtin` (#1996) --- lua/telescope/builtin/init.lua | 1 + lua/telescope/builtin/internal.lua | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'lua') diff --git a/lua/telescope/builtin/init.lua b/lua/telescope/builtin/init.lua index 9fa6826..ea871aa 100644 --- a/lua/telescope/builtin/init.lua +++ b/lua/telescope/builtin/init.lua @@ -205,6 +205,7 @@ builtin.git_stash = require_on_exported_call("telescope.builtin.git").stash --- Lists all of the community maintained pickers built into Telescope ---@param opts table: options to pass to the picker ---@field include_extensions boolean: if true will show the pickers of the installed extensions (default: false) +---@field use_default_opts boolean: if the selected picker should use its default options (default: false) builtin.builtin = require_on_exported_call("telescope.builtin.internal").builtin --- Opens the previous picker in the identical state (incl. multi selections) diff --git a/lua/telescope/builtin/internal.lua b/lua/telescope/builtin/internal.lua index 8a41500..e4a5704 100644 --- a/lua/telescope/builtin/internal.lua +++ b/lua/telescope/builtin/internal.lua @@ -33,6 +33,7 @@ local internal = {} internal.builtin = function(opts) opts.include_extensions = vim.F.if_nil(opts.include_extensions, false) + opts.use_default_opts = vim.F.if_nil(opts.use_default_opts, false) local objs = {} @@ -91,15 +92,20 @@ internal.builtin = function(opts) -- we do this to avoid any surprises opts.include_extensions = nil + local picker_opts + if not opts.use_default_opts then + picker_opts = opts + end + if string.match(selection.text, " : ") then -- Call appropriate function from extensions local split_string = vim.split(selection.text, " : ") local ext = split_string[1] local func = split_string[2] - require("telescope").extensions[ext][func](opts) + require("telescope").extensions[ext][func](picker_opts) else -- Call appropriate telescope builtin - require("telescope.builtin")[selection.text](opts) + require("telescope.builtin")[selection.text](picker_opts) end end) return true -- cgit v1.2.3