From cf2de0f9eefef9e0a99b034bfb64166f4a45490d Mon Sep 17 00:00:00 2001 From: Skladnayazebra Date: Sun, 8 Feb 2026 20:23:02 +0100 Subject: Better integrate fzf with arglist --- nvim/init.lua | 2 ++ nvim/lua/config/fzf.lua | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/nvim/init.lua b/nvim/init.lua index 92436fb..d9936b7 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -30,6 +30,8 @@ vim.keymap.set('n', 'gL', ':0Gclog', { noremap = true, silent = true vim.keymap.set('n', 'ge', ':Gedit', { noremap = true, silent = true, desc = 'Git: return to worktree' }) vim.keymap.set('n', 'e', ':Ex', { noremap = true, silent = true }) +vim.keymap.set('n', 'aa', ':argadd:argdedupe', { noremap = true, silent = true, desc = 'Add to args' }) +vim.keymap.set('n', 'ad', ':argdelete', { noremap = true, silent = true, desc = 'Delete from args' }) vim.keymap.set('n', 'lr', ':LspRestart', { noremap = true, silent = true, desc = 'LSP: restart server' }) -- LSP diagnostic info config (erorrs, warnings, etc.) diff --git a/nvim/lua/config/fzf.lua b/nvim/lua/config/fzf.lua index 55e23de..b994c68 100644 --- a/nvim/lua/config/fzf.lua +++ b/nvim/lua/config/fzf.lua @@ -1,3 +1,12 @@ +local file_edit_or_argadd = function(selected, opts) + if #selected > 1 then + FzfLua.actions.arg_add(selected, opts) + FzfLua.args() + else + return FzfLua.actions.file_edit(selected, opts) + end +end + require('fzf-lua').setup({ winopts = { height = 1, @@ -11,6 +20,11 @@ require('fzf-lua').setup({ grep = { hidden = true, -- show hidden files by default }, + files = { + actions = { + ["enter"] = file_edit_or_argadd + } + }, }) local opts = { silent = true } @@ -25,3 +39,5 @@ vim.keymap.set('n', 'flr', ':FzfLua lsp_references', { silent = true vim.keymap.set('n', 'flf', ':FzfLua lsp_finder', { silent = true, desc = 'Fzf: LSP - Finder' }) vim.keymap.set('n', 'fb', ':FzfLua buffers', { silent = true, desc = 'Fzf: Buffers' }) vim.keymap.set('n', 'fk', ':FzfLua keymaps', { silent = true, desc = 'Fzf: Keymaps' }) +vim.keymap.set('n', 'fa', ':FzfLua args', { silent = true, desc = 'Fzf: Args' }) +vim.keymap.set('n', 'fq', ':FzfLua quickfix', { silent = true, desc = 'Fzf: Quickfix list' }) -- cgit v1.3.1