update
parent
51e6c7876f
commit
656729bab5
@ -0,0 +1,70 @@
|
|||||||
|
local present, fzf = pcall(require, "fzf-lua")
|
||||||
|
|
||||||
|
if not present then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
fzf.register_ui_select()
|
||||||
|
|
||||||
|
local options = {
|
||||||
|
|
||||||
|
fzf_opts = {
|
||||||
|
['--layout'] = 'default',
|
||||||
|
['--padding'] = '3%,1%'
|
||||||
|
},
|
||||||
|
|
||||||
|
winopts = {
|
||||||
|
fullscreen = false
|
||||||
|
},
|
||||||
|
|
||||||
|
previewers = {
|
||||||
|
man = {
|
||||||
|
cmd = "man %s | col -bx",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
files = {
|
||||||
|
previewer = "bat_native",
|
||||||
|
file_icons = true,
|
||||||
|
color_icons = false,
|
||||||
|
winopts = {
|
||||||
|
fullscreen = true
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
oldfiles = {
|
||||||
|
color_icons = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
grep = {
|
||||||
|
previewer = "bat_native",
|
||||||
|
file_icons = false,
|
||||||
|
color_icons = false,
|
||||||
|
winopts = {
|
||||||
|
fullscreen = true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
buffers = {
|
||||||
|
color_icons = false
|
||||||
|
},
|
||||||
|
|
||||||
|
lines = {
|
||||||
|
color_icons = false
|
||||||
|
},
|
||||||
|
|
||||||
|
git = {
|
||||||
|
status = {
|
||||||
|
preview_pager = "delta --width=$FZF_PREVIEW_COLUMNS",
|
||||||
|
},
|
||||||
|
|
||||||
|
files = {
|
||||||
|
color_icons = false,
|
||||||
|
winopts = {
|
||||||
|
fullscreen = true
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
fzf.setup(options)
|
@ -0,0 +1,53 @@
|
|||||||
|
local core = require "fzf-lua.core"
|
||||||
|
local utils = require "fzf-lua.utils"
|
||||||
|
local config = require "fzf-lua.config"
|
||||||
|
|
||||||
|
M = {}
|
||||||
|
|
||||||
|
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 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)
|
||||||
|
|
||||||
|
local k = string.format("[%s:%s:%s]",
|
||||||
|
keymap.buffer, keymap.mode, keymap.lhs)
|
||||||
|
keymaps[k] = keymap
|
||||||
|
end
|
||||||
|
|
||||||
|
for mode, _ in pairs(modes) do
|
||||||
|
local global = vim.api.nvim_get_keymap(mode)
|
||||||
|
for _, keymap in pairs(global) do
|
||||||
|
add_keymap(keymap)
|
||||||
|
end
|
||||||
|
local buf_local = vim.api.nvim_buf_get_keymap(0, mode)
|
||||||
|
for _, keymap in pairs(buf_local) do
|
||||||
|
add_keymap(keymap)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local entries = {}
|
||||||
|
for _, v in pairs(keymaps) do
|
||||||
|
table.insert(entries, v.str)
|
||||||
|
end
|
||||||
|
|
||||||
|
opts.fzf_opts['--no-multi'] = ''
|
||||||
|
|
||||||
|
core.fzf_exec(entries, opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
Loading…
Reference in New Issue