feat: Add option to set initial_mode (#442)

This commit is contained in:
wordhou
2021-01-17 22:09:23 -06:00
committed by GitHub
parent c2039ca78d
commit 7e241aa0a4
3 changed files with 9 additions and 1 deletions

View File

@@ -139,6 +139,7 @@ require('telescope').setup{
},
prompt_position = "bottom",
prompt_prefix = ">",
initial_mode = "insert",
selection_strategy = "reset",
sorting_strategy = "descending",
layout_strategy = "horizontal",
@@ -189,6 +190,7 @@ EOF
|------------------------|-------------------------------------------------------|----------------------------|
| `prompt_position` | Where the prompt should be located. | top/bottom |
| `prompt_prefix` | What should the prompt prefix be. | string |
| `initial_mode` | The initial mode when a prompt is opened. | insert/normal |
| `sorting_strategy` | Where first selection should be located. | descending/ascending |
| `layout_strategy` | How the telescope is drawn. | [supported layouts](https://github.com/nvim-telescope/telescope.nvim/wiki/Layouts) |
| `winblend` | How transparent is the telescope window should be. | NUM |

View File

@@ -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", { '', '', '', '', '', '', '', ''})

View File

@@ -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()