From 7e241aa0a45369b8187a4a0cf8d5bb9087286ecc Mon Sep 17 00:00:00 2001 From: wordhou <36526373+wordhou@users.noreply.github.com> Date: Sun, 17 Jan 2021 22:09:23 -0600 Subject: feat: Add option to set initial_mode (#442) --- lua/telescope/config.lua | 1 + lua/telescope/pickers.lua | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'lua') diff --git a/lua/telescope/config.lua b/lua/telescope/config.lua index 6403a54..bfe8a6e 100644 --- a/lua/telescope/config.lua +++ b/lua/telescope/config.lua @@ -48,6 +48,7 @@ function config.set_defaults(defaults) set("results_width", 0.8) set("prompt_prefix", ">") + set("initial_mode", "insert") set("border", {}) set("borderchars", { '─', '│', '─', '│', '╭', '╮', '╯', '╰'}) diff --git a/lua/telescope/pickers.lua b/lua/telescope/pickers.lua index d129737..319fcd6 100644 --- a/lua/telescope/pickers.lua +++ b/lua/telescope/pickers.lua @@ -72,6 +72,7 @@ function Picker:new(opts) preview_title = get_default(opts.preview_title, "Preview"), prompt_prefix = get_default(opts.prompt_prefix, config.values.prompt_prefix), + initial_mode = get_default(opts.initial_mode, config.values.initial_mode), default_text = opts.default_text, get_status_text = get_default(opts.get_status_text, config.values.get_status_text), @@ -626,7 +627,11 @@ function Picker:find() vim.api.nvim_buf_set_lines(prompt_bufnr, 0, 1, false, {self.default_text}) end - vim.cmd [[startinsert!]] + if self.initial_mode == "insert" then + vim.cmd [[startinsert!]] + elseif self.initial_mode ~= "normal" then + error("Invalid setting for initial_mode: " .. self.initial_mode) + end end function Picker:hide_preview() -- cgit v1.2.3