summaryrefslogtreecommitdiff
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/telescope/actions.lua9
-rw-r--r--lua/telescope/builtin.lua4
2 files changed, 13 insertions, 0 deletions
diff --git a/lua/telescope/actions.lua b/lua/telescope/actions.lua
index ebebbea..878ac0e 100644
--- a/lua/telescope/actions.lua
+++ b/lua/telescope/actions.lua
@@ -165,6 +165,15 @@ actions.set_command_line = function(prompt_bufnr)
vim.cmd(entry.value)
end
+actions.run_builtin = function(prompt_bufnr)
+ local entry = actions.get_selected_entry(prompt_bufnr)
+
+ actions.close(prompt_bufnr)
+ vim.cmd [[startinsert]]
+
+ require('telescope.builtin')[entry.text]()
+end
+
-- TODO: Think about how to do this.
actions.insert_value = function(prompt_bufnr)
local entry = actions.get_selected_entry(prompt_bufnr)
diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua
index 5e4a06f..7da08f8 100644
--- a/lua/telescope/builtin.lua
+++ b/lua/telescope/builtin.lua
@@ -523,6 +523,10 @@ builtin.builtin = function(opts)
},
previewer = previewers.qflist.new(opts),
sorter = conf.generic_sorter(opts),
+ attach_mappings = function(_, map)
+ map('i', '<CR>', actions.run_builtin)
+ return true
+ end
}):find()
end