diff options
| -rw-r--r-- | README.md | 7 | ||||
| -rw-r--r-- | lua/telescope/builtin.lua | 29 |
2 files changed, 36 insertions, 0 deletions
@@ -346,6 +346,13 @@ require'telescope.builtin'.command_history{} Search the vim command history. ```lua +require'telescope.builtin.maps{} +``` + +Search on vim key maps. + + +```lua require'telescope.builtin'.buffers{ -- Optional -- show_all_buffers = true -- Show unloaded buffers aswell diff --git a/lua/telescope/builtin.lua b/lua/telescope/builtin.lua index ed425a5..684afa8 100644 --- a/lua/telescope/builtin.lua +++ b/lua/telescope/builtin.lua @@ -923,4 +923,33 @@ builtin.marks = function(opts) }):find() end +-- find normal mode mappings +builtin.keymaps = function(opts) + opts = opts or {} + local modes = {"n", "i", "c"} + local keymaps_table = {} + for _, mode in pairs(modes) do + local keymaps_iter = vim.api.nvim_get_keymap(mode) + for _, keymap in pairs(keymaps_iter) do + table.insert(keymaps_table, keymap) + end + end + + pickers.new({}, { + prompt_title = 'Key Maps', + finder = finders.new_table { + results = keymaps_table, + entry_maker = function(line) + return { + valid = line ~= "", + value = line, + ordinal = line.lhs .. line.rhs, + display = line.mode .. ' ' .. utils.display_termcodes(line.lhs) .. ' ' .. line.rhs + } + end + }, + sorter = conf.generic_sorter() + }):find() +end + return builtin |
