|
|
|
@ -101,11 +101,29 @@ M.create_fzf_colors = function(colors)
|
|
|
|
|
return string.format("--color=%s", colors)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
M.create_fzf_binds = function(binds)
|
|
|
|
|
if not binds then return '' end
|
|
|
|
|
local tbl = {}
|
|
|
|
|
local dedup = {}
|
|
|
|
|
for k, v in pairs(binds) do
|
|
|
|
|
-- backward compatibility to when binds
|
|
|
|
|
-- where defined as one string '<key>:<command>'
|
|
|
|
|
local key, action = v:match("(.*):(.*)")
|
|
|
|
|
if action then k, v = key, action end
|
|
|
|
|
dedup[k] = v
|
|
|
|
|
end
|
|
|
|
|
for key, action in pairs(dedup) do
|
|
|
|
|
table.insert(tbl, string.format("%s:%s", key, action))
|
|
|
|
|
end
|
|
|
|
|
return "--bind=" .. vim.fn.shellescape(table.concat(tbl, ","))
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
M.build_fzf_cli = function(opts, debug_print)
|
|
|
|
|
opts.prompt = opts.prompt or config.globals.default_prompt
|
|
|
|
|
opts.preview_offset = opts.preview_offset or ''
|
|
|
|
|
opts.fzf_info = opts.fzf_info or config.globals.fzf_info
|
|
|
|
|
opts.fzf_ansi = opts.fzf_ansi or config.globals.fzf_ansi
|
|
|
|
|
|
|
|
|
|
if not opts.fzf_info then
|
|
|
|
|
-- skim (rust version of fzf) doesn't
|
|
|
|
|
-- support the '--info=' flag
|
|
|
|
@ -113,15 +131,14 @@ M.build_fzf_cli = function(opts, debug_print)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local cli = string.format(
|
|
|
|
|
[[ %s %s --layout=%s --bind=%s --prompt=%s]] ..
|
|
|
|
|
[[ %s %s --layout=%s %s --prompt=%s]] ..
|
|
|
|
|
[[ --preview-window=%s%s --preview=%s]] ..
|
|
|
|
|
[[ --height=100%%]] ..
|
|
|
|
|
[[ %s %s %s %s %s %s %s]],
|
|
|
|
|
opts.fzf_args or config.globals.fzf_args or '',
|
|
|
|
|
M.create_fzf_colors(opts.fzf_colors or config.globals.fzf_colors),
|
|
|
|
|
opts.fzf_layout or config.globals.fzf_layout,
|
|
|
|
|
utils._if(opts.fzf_binds, opts.fzf_binds,
|
|
|
|
|
vim.fn.shellescape(table.concat(config.globals.fzf_binds, ','))),
|
|
|
|
|
M.create_fzf_binds(opts.fzf_binds or config.globals.fzf_binds),
|
|
|
|
|
vim.fn.shellescape(opts.prompt),
|
|
|
|
|
utils._if(opts.preview_window, opts.preview_window, M.preview_window(opts)),
|
|
|
|
|
utils._if(#opts.preview_offset>0, ":"..opts.preview_offset, ''),
|
|
|
|
|