summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSkladnayazebra <skladnayazebra@gmail.com>2026-02-08 20:23:02 +0100
committerSkladnayazebra <skladnayazebra@gmail.com>2026-02-08 20:23:02 +0100
commitcf2de0f9eefef9e0a99b034bfb64166f4a45490d (patch)
tree050610fab92453c30933d3452df35abb6e4a79de
parentd52b4f5185e80469684bc599ddc6adff945f0273 (diff)
Better integrate fzf with arglist
-rw-r--r--nvim/init.lua2
-rw-r--r--nvim/lua/config/fzf.lua16
2 files changed, 18 insertions, 0 deletions
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', '<leader>gL', ':0Gclog<CR>', { noremap = true, silent = true
vim.keymap.set('n', '<leader>ge', ':Gedit<CR>', { noremap = true, silent = true, desc = 'Git: return to worktree' })
vim.keymap.set('n', '<leader>e', ':Ex<CR>', { noremap = true, silent = true })
+vim.keymap.set('n', '<leader>aa', ':argadd<CR>:argdedupe<CR>', { noremap = true, silent = true, desc = 'Add to args' })
+vim.keymap.set('n', '<leader>ad', ':argdelete<CR>', { noremap = true, silent = true, desc = 'Delete from args' })
vim.keymap.set('n', '<leader>lr', ':LspRestart<CR>', { 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', '<leader>flr', ':FzfLua lsp_references<CR>', { silent = true
vim.keymap.set('n', '<leader>flf', ':FzfLua lsp_finder<CR>', { silent = true, desc = 'Fzf: LSP - Finder' })
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>', { silent = true, desc = 'Fzf: Buffers' })
vim.keymap.set('n', '<leader>fk', ':FzfLua keymaps<CR>', { silent = true, desc = 'Fzf: Keymaps' })
+vim.keymap.set('n', '<leader>fa', ':FzfLua args<CR>', { silent = true, desc = 'Fzf: Args' })
+vim.keymap.set('n', '<leader>fq', ':FzfLua quickfix<CR>', { silent = true, desc = 'Fzf: Quickfix list' })