summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
authortami5 <65782666+tami5@users.noreply.github.com>2021-03-14 20:05:56 +0300
committerGitHub <noreply@github.com>2021-03-14 20:05:56 +0300
commit284f38c57539967b25c7d32700acffd46599c49f (patch)
tree1dcd83393f6e10ef271b00a63da0621e7eff37a8 /lua
parent5333ab0b190efac61d7c8ef85c0b53cb1da24f61 (diff)
feat & fix: Command History Picker (#656)
Diffstat (limited to 'lua')
-rw-r--r--lua/telescope/actions/init.lua6
-rw-r--r--lua/telescope/builtin/internal.lua3
2 files changed, 9 insertions, 0 deletions
diff --git a/lua/telescope/actions/init.lua b/lua/telescope/actions/init.lua
index 066600d..8b5174d 100644
--- a/lua/telescope/actions/init.lua
+++ b/lua/telescope/actions/init.lua
@@ -220,6 +220,12 @@ function actions.close(prompt_bufnr)
do_close(prompt_bufnr, false)
end
+actions.edit_command_line = function(prompt_bufnr)
+ local entry = action_state.get_selected_entry(prompt_bufnr)
+ actions.close(prompt_bufnr)
+ a.nvim_feedkeys(a.nvim_replace_termcodes(":" .. entry.value , true, false, true), "t", true)
+end
+
actions.set_command_line = function(prompt_bufnr)
local entry = action_state.get_selected_entry(prompt_bufnr)
diff --git a/lua/telescope/builtin/internal.lua b/lua/telescope/builtin/internal.lua
index bbc0d93..14c05ae 100644
--- a/lua/telescope/builtin/internal.lua
+++ b/lua/telescope/builtin/internal.lua
@@ -263,6 +263,9 @@ internal.command_history = function(opts)
attach_mappings = function(_, map)
map('i', '<CR>', actions.set_command_line)
+ map('n', '<CR>', actions.set_command_line)
+ map('n', '<C-e>', actions.edit_command_line)
+ map('i', '<C-e>', actions.edit_command_line)
-- TODO: Find a way to insert the text... it seems hard.
-- map('i', '<C-i>', actions.insert_value, { expr = true })