summaryrefslogtreecommitdiff
path: root/nvim
diff options
context:
space:
mode:
Diffstat (limited to 'nvim')
-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' })