diff options
| author | Carlos Hernandez <hurricanehrndz@users.noreply.github.com> | 2020-11-14 12:38:21 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-14 14:38:21 -0500 |
| commit | 3c2dea3ea5c03496a1a74e86decc22009a8a12a2 (patch) | |
| tree | dc68330e7218035f8905006e5d7592f9afd43ad4 | |
| parent | 24057365dae52e76d6f2afb67f99eb94b51b40fc (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.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 |
