summaryrefslogtreecommitdiff
path: root/nvim/lua/config/plugins/fzf.lua
blob: d50ca35c20e23821c2e87c2e3f3647558e523a4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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' })