vifm.lua (682B)
1 local M = {} 2 3 local function defaults() vim.cmd [[ set ft=vifm ]] end 4 5 local function run(cmd, args) 6 if args then 7 vim.g.vifm_exec_args = table.concat(args, ' ') 8 end 9 vim.cmd(cmd) 10 defaults() 11 end 12 13 local function select(args, file) 14 local filename = file or vim.api.nvim_buf_get_name(0) 15 table.insert(args, '--select=' .. filename) 16 if vim.opt.background:get() == 'light' then 17 table.insert(args, '+"color solarized-dark"') 18 end 19 return args 20 end 21 22 M.current = function() run([[Vifm\ %:h]], select({'+only'})) end 23 24 M.split = function() run([[split +Vifm\ %:h]], select({'+only'})) end 25 26 M.vsplit = function() run([[vsplit +Vifm\ %:h]], select({'+only'})) end 27 28 return M