fix(pickers): initial normal mode (#1165)
fix(pickers): opts.default_text and cursor are now correctly set for opts.initial_mode="normal"
This commit is contained in:
@@ -370,13 +370,19 @@ function Picker:find()
|
||||
|
||||
-- TODO(async): I wonder if this should actually happen _before_ we nvim_buf_attach.
|
||||
-- This way the buffer would always start with what we think it should when we start the loop.
|
||||
if self.initial_mode == "insert" or self.initial_mode == "normal" then
|
||||
-- required for set_prompt to work adequately
|
||||
vim.cmd [[startinsert!]]
|
||||
if self.default_text then
|
||||
self:set_prompt(self.default_text)
|
||||
end
|
||||
|
||||
if self.initial_mode == "insert" then
|
||||
vim.cmd [[startinsert!]]
|
||||
elseif self.initial_mode ~= "normal" then
|
||||
if self.initial_mode == "normal" then
|
||||
-- otherwise (i) insert mode exitted faster than `picker:set_prompt`; (ii) cursor on wrong pos
|
||||
await_schedule(function()
|
||||
vim.cmd [[stopinsert]]
|
||||
end)
|
||||
end
|
||||
else
|
||||
error("Invalid setting for initial_mode: " .. self.initial_mode)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user