summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md7
-rw-r--r--lua/telescope/builtin.lua29
2 files changed, 36 insertions, 0 deletions
diff --git a/README.md b/README.md
index 63956c3..c11e2e5 100644
--- a/README.md
+++ b/README.md
@@ -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