summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
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()