diff options
| author | Robert Günzler <r@gnzler.io> | 2025-04-30 13:12:21 +0200 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2025-04-30 13:12:21 +0200 |
| commit | 59bdb9bc3f7b06b886a24def842f62f350f1411b (patch) | |
| tree | 67190cf96bb7fde11324934187caba05705ed977 /.vim/lua/internal/plugins/fzf.lua | |
| parent | b73d408fd9e9b1af65ad3efe8b0cc1244ccd71cf (diff) | |
vim: telescope -> fzf
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '.vim/lua/internal/plugins/fzf.lua')
| -rw-r--r-- | .vim/lua/internal/plugins/fzf.lua | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/.vim/lua/internal/plugins/fzf.lua b/.vim/lua/internal/plugins/fzf.lua new file mode 100644 index 0000000..e8c0a9c --- /dev/null +++ b/.vim/lua/internal/plugins/fzf.lua @@ -0,0 +1,91 @@ +return { + { + enabled = true, + 'ibhagwan/fzf-lua', + lazy = false, + dependencies = { + 'echasnovski/mini.icons', + }, + config = function() + local fzf = require('fzf-lua') + fzf.register_ui_select() + fzf.setup({ + -- PROFILE + { 'default' }, + -- OPTIONS + winopts = { + split = 'belowright 20new', + border = 'none', + preview = { + border = 'none', + }, + -- on_create = function() end, + }, + keymap = { + fzf = { + true, + ['ctrl-n'] = 'down', + ['ctrl-p'] = 'up', + }, + }, + fzf_colors = true, + -- PICKER CONFIG + files = { + file_icons = true, + }, + }) + end, + keys = { + { mode = 'n', ';<space>', '<cmd>FzfLua<cr>', desc = 'fzf: select' }, + { mode = 'n', ';/', '<cmd>FzfLua blines<cr>', desc = 'fzf: current_buffer_fuzzy_find' }, + { mode = 'n', ';b', '<cmd>FzfLua buffers<cr>', desc = 'fzf: buffers' }, + { mode = 'n', ';f', '<cmd>FzfLua files<cr>', desc = 'fzf: find_files' }, + { mode = 'n', ';g', '<cmd>FzfLua live_grep<cr>', desc = 'fzf: live_grep' }, + { mode = 'n', ';d', '<cmd>FzfLua diagnostics_workspace<cr>', desc = 'fzf: diagnostics' }, + { mode = 'n', ';h', '<cmd>FzfLua helptags<cr>', desc = 'fzf: diagnostics' }, + { + mode = 'n', + ';v', + function() + require('fzf-lua').files({ cwd = vim.fn.stdpath('config') }) + end, + desc = 'fzf: vim_config', + }, + -- { + -- mode = 'n', + -- ';;t', + -- '<cmd>Telescope<cr>', + -- desc = 'telescope: select (interactive)', + -- }, + { + mode = 'n', + ';;f', + function() + local dir + if vim.opt.filetype:get() == 'oil' then + dir = require('oil').get_current_dir() + else + dir = vim.fn.expand('%:p:h') + end + -- require('fzf-lua').files({ cwd = dir }) + _G.feedkeys(':Fzf files cwd=' .. dir) + end, + desc = 'fzf: files (interactive)', + }, + { + mode = 'n', + ';;g', + function() + local dir + if vim.opt.filetype:get() == 'oil' then + dir = require('oil').get_current_dir() + else + dir = vim.fn.expand('%:p:h') + end + _G.feedkeys(':Fzf live_grep cwd=' .. dir) + end, + desc = 'fzf: grep (interactive)', + }, + }, + }, +} |