summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Hernandez <hurricanehrndz@users.noreply.github.com>2020-11-14 12:38:21 -0700
committerGitHub <noreply@github.com>2020-11-14 14:38:21 -0500
commit3c2dea3ea5c03496a1a74e86decc22009a8a12a2 (patch)
treedc68330e7218035f8905006e5d7592f9afd43ad4
parent24057365dae52e76d6f2afb67f99eb94b51b40fc (diff)
feat: Add built-in to search keymaps (#191)
* Add built-in to search keymaps * Re-factor maps for cleaner codes Rather than use function to return a results table for various key maps. Assign results the key maps table itself. This makes for cleaner code. * Keymaps: escape termcodes using built-in util * Rename builtin.maps to builtin.keymaps
-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