From 124655608ff727ecee032bb2eb6f44014e8868eb Mon Sep 17 00:00:00 2001 From: Senghan Bright Date: Mon, 23 Nov 2020 11:07:53 +0100 Subject: Register finder (#275) builtin: Registers finder. view and edit vim registers. --- lua/telescope/builtin/init.lua | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'lua/telescope/builtin/init.lua') diff --git a/lua/telescope/builtin/init.lua b/lua/telescope/builtin/init.lua index faef9d6..86055a2 100644 --- a/lua/telescope/builtin/init.lua +++ b/lua/telescope/builtin/init.lua @@ -788,7 +788,7 @@ builtin.man_pages = function(opts) end pickers.new(opts, { - prompt_tile = 'Man', + prompt_title = 'Man', finder = finders.new_table { results = lines, entry_maker = make_entry.gen_from_apropos(opts), @@ -859,6 +859,38 @@ builtin.marks = function(opts) }):find() end +builtin.registers = function(opts) + opts = opts or {} + + local registers_table = {"\"", "_", "#", "=", "_", "/", "*", "+", ":", ".", "%"} + + -- named + for i = 0, 9 do + table.insert(registers_table, tostring(i)) + end + + -- alphabetical + for i = 65, 90 do + table.insert(registers_table, string.char(i)) + end + + pickers.new(opts,{ + prompt_title = 'Registers', + finder = finders.new_table { + results = registers_table, + entry_maker = make_entry.gen_from_registers(opts), + }, + -- use levenshtein as n-gram doesn't support <2 char matches + sorter = sorters.get_levenshtein_sorter(), + attach_mappings = function(_, map) + map('i', '', actions.paste_register) + map('i', '', actions.edit_register) + + return true + end, + }):find() +end + -- find normal mode mappings builtin.keymaps = function(opts) opts = opts or {} -- cgit v1.2.3