From 63feeb9f369fc6176e85c1c2d8fcc863caad1946 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Tue, 10 Feb 2026 12:32:48 +0100 Subject: start new MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- .config/nvim/lua/plugins/fzf.lua | 103 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 .config/nvim/lua/plugins/fzf.lua (limited to '.config/nvim/lua/plugins/fzf.lua') diff --git a/.config/nvim/lua/plugins/fzf.lua b/.config/nvim/lua/plugins/fzf.lua new file mode 100644 index 0000000..efee6ef --- /dev/null +++ b/.config/nvim/lua/plugins/fzf.lua @@ -0,0 +1,103 @@ +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', + }, + }, + -- actions = { + -- files = { + -- ['ctrl-q'] = { fn = fzf.actions.file_sel_to_qf }, + -- }, + -- }, + fzf_colors = true, + -- PICKER CONFIG + files = { + file_icons = true, + }, + marks = { + marks = '[a-zA-Z]', + } + }) + end, + keys = { + { mode = 'n', ';', 'FzfLua', desc = 'fzf: select' }, + { mode = 'n', ';/', 'FzfLua blines', desc = 'fzf: current_buffer_fuzzy_find' }, + { mode = 'n', ';b', 'FzfLua buffers', desc = 'fzf: buffers' }, + { mode = 'n', ';f', 'FzfLua files', desc = 'fzf: find_files' }, + { mode = 'n', ';g', 'FzfLua live_grep', desc = 'fzf: live_grep' }, + { mode = 'n', ';d', 'FzfLua diagnostics_workspace', desc = 'fzf: workspace diagnostics' }, + { mode = 'n', ';D', 'FzfLua diagnostics_document', desc = 'fzf: document diagnostics' }, + { mode = 'n', ';h', 'FzfLua helptags', desc = 'fzf: help' }, + { mode = 'n', ';s', 'FzfLua lsp_document_symbols', desc = 'fzf: document symbols' }, + { mode = 'n', ';w', 'FzfLua lsp_live_workspace_symbols', desc = 'fzf: workspace symbols' }, + { mode = 'n', ';m', 'FzfLua marks', desc = 'fzf: marks' }, + { + mode = 'n', + ';v', + function() + require('fzf-lua').files({ cwd = vim.fn.stdpath('config') }) + end, + desc = 'fzf: vim_config', + }, + -- { + -- mode = 'n', + -- ';;t', + -- 'Telescope', + -- 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)', + }, + }, + }, +} -- cgit 1.4.1