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', '', actions.run_builtin) + return true + end }):find() end