summaryrefslogtreecommitdiff
path: root/lua/telescope/builtin.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/telescope/builtin.lua')
-rw-r--r--lua/telescope/builtin.lua29
1 files changed, 29 insertions, 0 deletions
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