summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authorwordhou <36526373+wordhou@users.noreply.github.com>2021-01-17 22:09:23 -0600
committerGitHub <noreply@github.com>2021-01-17 23:09:23 -0500
commit7e241aa0a45369b8187a4a0cf8d5bb9087286ecc (patch)
treea1cc2f5ff6a780d4ee3d6d569e0530aca645c9a8 /lua
parentc2039ca78d261392b0ab7bef85b3c5f1c8f507b9 (diff)
feat: Add option to set initial_mode (#442)
Diffstat (limited to 'lua')
-rw-r--r--lua/telescope/config.lua1
-rw-r--r--lua/telescope/pickers.lua7
2 files changed, 7 insertions, 1 deletions
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()