added preview_opts, fixed win_border opt, fixed crash when no devicons are installed

main
bhagwan 3 years ago
parent 3a25bab1b8
commit c925eb89a0

@ -143,6 +143,7 @@ require'fzf-lua'.setup {
preview_cmd = '', -- 'head -n $FZF_PREVIEW_LINES',
preview_border = 'border', -- border|noborder
preview_wrap = 'nowrap', -- wrap|nowrap
preview_opts = 'nohidden', -- hidden|nohidden
preview_vertical = 'down:45%', -- up|down:size
preview_horizontal = 'right:60%', -- right|left:size
preview_layout = 'flex', -- horizontal|vertical|flex

@ -6,6 +6,8 @@ vim.env.FZF_DEFAULT_OPTS = ''
local M = {}
M._has_devicons = pcall(require, "nvim-web-devicons")
M.win_height = 0.85
M.win_width = 0.80
M.win_row = 0.30
@ -16,6 +18,7 @@ M.fzf_layout = 'reverse'
M.preview_cmd = nil -- auto detect head|bat
M.preview_border = 'border'
M.preview_wrap = 'nowrap'
M.preview_opts = 'nohidden'
M.preview_vertical = 'down:45%'
M.preview_horizontal = 'right:60%'
M.preview_layout = 'flex'
@ -26,7 +29,7 @@ M.bat_opts = "--italic-text=always --style=numbers,changes --color al
M.files = {
prompt = '> ',
cmd = nil, -- default: auto detect find|fd
file_icons = true and pcall(require, "nvim-web-devicons"),
file_icons = true and M._has_devicons,
color_icons = true,
git_icons = true,
git_diff_cmd = "git diff --name-status --relative HEAD",
@ -48,7 +51,7 @@ M.grep = {
prompt = 'Rg> ',
input_prompt = 'Grep For> ',
cmd = nil, -- default: auto detect rg|grep
file_icons = true and pcall(require, "nvim-web-devicons"),
file_icons = true and M._has_devicons,
color_icons = true,
git_icons = true,
git_diff_cmd = M.files.git_diff_cmd,
@ -66,7 +69,7 @@ M.grep = {
M.oldfiles = {
prompt = 'History> ',
file_icons = true and pcall(require, "nvim-web-devicons"),
file_icons = true and M._has_devicons,
color_icons = true,
git_icons = false,
git_diff_cmd = M.files.git_diff_cmd,
@ -83,7 +86,7 @@ M.oldfiles = {
M.quickfix = {
prompt = 'Quickfix> ',
separator = '',
file_icons = true and pcall(require, "nvim-web-devicons"),
file_icons = true and M._has_devicons,
color_icons = true,
git_icons = false,
git_diff_cmd = M.files.git_diff_cmd,
@ -100,7 +103,7 @@ M.quickfix = {
M.loclist = {
prompt = 'Locations> ',
separator = '',
file_icons = true and pcall(require, "nvim-web-devicons"),
file_icons = true and M._has_devicons,
color_icons = true,
git_icons = false,
git_diff_cmd = M.files.git_diff_cmd,
@ -117,7 +120,7 @@ M.loclist = {
M.git = {
prompt = 'GitFiles> ',
cmd = "git ls-files --exclude-standard",
file_icons = true and pcall(require, "nvim-web-devicons"),
file_icons = true and M._has_devicons,
color_icons = true,
git_icons = true,
actions = M.files.actions,
@ -125,7 +128,7 @@ M.git = {
M.buffers = {
prompt = 'Buffers> ',
file_icons = true and pcall(require, "nvim-web-devicons"),
file_icons = true and M._has_devicons,
color_icons = true,
sort_lastused = true,
show_all_buffers = true,
@ -249,7 +252,7 @@ M.winopts = function(opts)
opts = M.getopts(opts, M, {
"win_height", "win_width",
"win_row", "win_col", "border",
"win_row", "win_col", "win_border",
"window_on_create",
})
@ -267,8 +270,10 @@ M.winopts = function(opts)
end
M.preview_window = function()
local preview_veritcal = string.format('%s:%s:%s', M.preview_border, M.preview_wrap, M.preview_vertical)
local preview_horizontal = string.format('%s:%s:%s', M.preview_border, M.preview_wrap, M.preview_horizontal)
local preview_veritcal = string.format('%s:%s:%s:%s',
M.preview_opts, M.preview_border, M.preview_wrap, M.preview_vertical)
local preview_horizontal = string.format('%s:%s:%s:%s',
M.preview_opts, M.preview_border, M.preview_wrap, M.preview_horizontal)
if M.preview_layout == "vertical" then
return preview_veritcal
elseif M.preview_layout == "flex" then

@ -6,12 +6,19 @@ local actions = require "fzf-lua.actions"
local M = {}
-- invisible unicode char as icon|git separator
-- this way we can split our string by space
nbsp = "\u{00a0}"
M.get_devicon = function(file, ext)
local icon = nil
if #file > 0 and pcall(require, "nvim-web-devicons") then
local icon = nbsp
if not file or #file == 0 then return icon end
if config._has_devicons then
icon = require'nvim-web-devicons'.get_icon(file, ext)
else
icon = utils._if(icon == nil, '', icon)
end
return utils._if(icon == nil, '', icon)
return icon
end
M.preview_cmd = function(opts, cfg)
@ -65,10 +72,6 @@ M.build_fzf_cli = function(opts)
return cli
end
-- invisible unicode char as icon|git separator
-- this way we can split our string by space
local nbsp = "\u{00a0}"
local get_diff_files = function()
local diff_files = {}
local status = vim.fn.systemlist(config.files.git_diff_cmd)

@ -57,6 +57,7 @@ function M.setup(opts)
preview_cmd = "string",
preview_border = "string",
preview_wrap = "string",
preview_opts = "string",
preview_vertical = "string",
preview_horizontal = "string",
preview_layout = "string",

Loading…
Cancel
Save