Compare commits

..

No commits in common. 'keymaps-ui' and 'main' have entirely different histories.

@ -268,27 +268,21 @@ M.keymaps = function(opts)
opts = config.normalize_opts(opts, config.globals.nvim.keymaps)
if not opts then return end
local modes = {
n = "blue",
i = "red",
c = "yellow"
}
local modes = { "n", "i", "c" }
local keymaps = {}
local add_keymap = function(keymap)
-- hijack fields
local keymap_desc = keymap.desc == nil and keymap.rhs or keymap.desc
keymap.str = string.format("%s │ %-40s │ %s",
utils.ansi_codes[modes[keymap.mode] or "blue"](keymap.mode),
keymap.lhs:gsub("%s", "<Space>"),
keymap_desc .. ' ')
keymap.str = string.format("[%s:%s:%s]",
utils.ansi_codes.yellow(tostring(keymap.buffer)),
utils.ansi_codes.green(keymap.mode),
utils.ansi_codes.magenta(keymap.lhs:gsub("%s", "<Space>")))
local k = string.format("[%s:%s:%s]",
keymap.buffer, keymap.mode, keymap.lhs)
keymaps[k] = keymap
end
for mode, _ in pairs(modes) do
for _, mode in pairs(modes) do
local global = vim.api.nvim_get_keymap(mode)
for _, keymap in pairs(global) do
add_keymap(keymap)
@ -299,12 +293,25 @@ M.keymaps = function(opts)
end
end
local prev_act = shell.action(function (args)
local k = args[1]:match("(%[.*%]) ")
local v = keymaps[k]
if v then
-- clear hijacked field
v.str = nil
k = vim.inspect(v)
end
return k
end, nil, opts.debug)
local entries = {}
for _, v in pairs(keymaps) do
table.insert(entries, v.str)
table.insert(entries, string.format("%-50s %s",
v.str, v.rhs))
end
opts.fzf_opts['--no-multi'] = ''
opts.fzf_opts['--preview'] = prev_act
core.fzf_exec(entries, opts)
end

@ -694,12 +694,6 @@ function FzfWin:redraw_main()
end
end
function FzfWin:set_redraw_autocmd()
vim.cmd("augroup FzfLua")
vim.cmd('au VimResized <buffer> lua require("fzf-lua").redraw()')
vim.cmd("augroup END")
end
function FzfWin:set_winleave_autocmd()
vim.cmd("augroup FzfLua")
vim.cmd("au!")
@ -713,8 +707,6 @@ function FzfWin:set_tmp_buffer()
local tmp_buf = api.nvim_create_buf(false, true)
vim.api.nvim_win_set_buf(self.fzf_winid, tmp_buf)
self:set_winleave_autocmd()
-- automatically resize fzf window
self:set_redraw_autocmd()
-- closing the buffer here causes the win to close
-- shouldn't happen since the win is already associated
-- with tmp_buf... use this table instead
@ -784,8 +776,6 @@ function FzfWin:create()
-- should also close issue #105
-- https://github.com/ibhagwan/fzf-lua/issues/105
self:set_winleave_autocmd()
-- automatically resize fzf window
self:set_redraw_autocmd()
self:reset_win_highlights(self.fzf_winid)

Loading…
Cancel
Save