summaryrefslogtreecommitdiff
path: root/nvim/lua/config/plugins/fzf.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/lua/config/plugins/fzf.lua')
-rw-r--r--nvim/lua/config/plugins/fzf.lua46
1 files changed, 46 insertions, 0 deletions
diff --git a/nvim/lua/config/plugins/fzf.lua b/nvim/lua/config/plugins/fzf.lua
new file mode 100644
index 0000000..d50ca35
--- /dev/null
+++ b/nvim/lua/config/plugins/fzf.lua
@@ -0,0 +1,46 @@
+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,
+ width = 0.7,
+ border = { ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' },
+ col = 1, -- right-aligned
+ border = 'none',
+ preview = {
+ wrap = true,
+ border = 'none',
+ scrollbar = false,
+ },
+ },
+ grep = {
+ hidden = true, -- show hidden files by default
+ },
+ files = {
+ actions = {
+ ["enter"] = file_edit_or_argadd
+ }
+ },
+})
+
+local opts = { silent = true }
+
+vim.keymap.set('n', '<leader>ff', ':FzfLua files<CR>', { silent = true, desc = 'Fzf: Files' })
+vim.keymap.set('n', '<leader>fr', ':FzfLua resume<CR>', { silent = true, desc = 'Fzf: Resume (After Alt+Esc)' })
+vim.keymap.set('n', '<leader>fg', ':FzfLua live_grep<CR>', { silent = true, desc = 'Fzf: Live Grep' })
+vim.keymap.set('n', '<leader>fG', ':FzfLua grep<CR>', { silent = true, desc = 'Fzf: Grep' })
+vim.keymap.set('n', '<leader>fs', ':FzfLua git_status<CR>', { silent = true, desc = 'Fzf: git status' })
+vim.keymap.set('n', '<leader>fls', ':FzfLua lsp_workspace_symbols<CR>', { silent = true, desc = 'Fzf: LSP Symbols' })
+vim.keymap.set('n', '<leader>flr', ':FzfLua lsp_references<CR>', { silent = true, desc = 'Fzf: LSP - References' })
+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' })