nvim/lua/plugins/fzf-lua.lua

128 lines
2.7 KiB
Lua

return {
'ibhagwan/fzf-lua',
dependencies = { 'nvim-tree/nvim-web-devicons' },
version = false,
config = function()
local actions = require('fzf-lua.actions')
require('fzf-lua').setup({
'borderless_full',
actions = {
files = {
['default'] = actions.file_edit_or_qf,
['ctrl-s'] = actions.file_split,
['ctrl-v'] = actions.file_vsplit,
['ctrl-t'] = actions.file_tabedit,
['alt-q'] = actions.file_sel_to_qf,
['alt-l'] = actions.file_sel_to_ll,
['ctrl-x'] = actions.file_split,
},
buffers = {
['default'] = actions.buf_edit,
['ctrl-s'] = actions.buf_split,
['ctrl-v'] = actions.buf_vsplit,
['ctrl-t'] = actions.buf_tabedit,
['ctrl-x'] = actions.buf_split,
},
},
})
end,
cmd = 'FzfLua',
keys = {
{
'<leader>f',
function()
require('fzf-lua').files()
end,
desc = 'Find files',
},
{
'<leader>c',
function()
require('fzf-lua').commands()
end,
desc = 'Find commands',
},
{
'<leader>g',
function()
require('fzf-lua').git_files()
end,
desc = 'Find git files',
},
{
'<leader>o',
function()
require('fzf-lua').oldfiles()
end,
desc = 'Find old files',
},
{
'<leader>i',
function()
require('fzf-lua').oldfiles({ cwd_only = true })
end,
desc = 'Find old files in cwd',
},
{
'<leader>b',
function()
require('fzf-lua').buffers()
end,
desc = 'Select buffer',
},
{
'<leader>q',
function()
require('fzf-lua').quickfix()
end,
desc = 'Quickfix list',
},
{
'<leader>l',
function()
require('fzf-lua').live_grep_native()
end,
desc = 'Search in project',
},
{
'<leader>d',
function()
require('fzf-lua').grep_cword()
end,
mode = { 'n' },
desc = 'Find word under cursor',
},
{
'<leader>d',
function()
require('fzf-lua').grep_visual()
end,
mode = { 'x', 'v' },
desc = 'Find word under cursor',
},
{
'<leader>j',
function()
require('fzf-lua').jumps()
end,
desc = 'Open jumplist',
},
{
'<c-f>',
function()
require('fzf-lua').grep_curbuf()
end,
desc = 'Find in buffer',
},
{
'<C-x><C-f>',
function()
require('fzf-lua').complete_path()
end,
mode = { 'n', 'v', 'i' },
desc = 'Fuzzy complete path',
},
},
enabled = false
}