From 7ed2303648bf83bb081d9bd863660ebf2344ce47 Mon Sep 17 00:00:00 2001 From: srdusr Date: Wed, 24 Sep 2025 04:19:28 +0200 Subject: Squashed 'common/config/nvim/' changes from 2a8020a..966d12a 966d12a Update/Overhaul git-subtree-dir: common/config/nvim git-subtree-split: 966d12ac730c83da90d60ab24eae539b2ea69441 --- lua/plugins/fzf.lua | 103 ++++++++++++++++++++++------------------------------ 1 file changed, 43 insertions(+), 60 deletions(-) mode change 100644 => 100755 lua/plugins/fzf.lua (limited to 'lua/plugins/fzf.lua') diff --git a/lua/plugins/fzf.lua b/lua/plugins/fzf.lua old mode 100644 new mode 100755 index 5675e9f..9e62c48 --- a/lua/plugins/fzf.lua +++ b/lua/plugins/fzf.lua @@ -1,60 +1,43 @@ ---vim.cmd([[ --- let g:fzf_history_dir = '~/.local/share/fzf-history' --- map z :FZF --- map a :Files --- map l :Lines --- map L :BLines --- map B :Buffers --- map h :History: --- nnoremap g :Rg --- "nnoremap t :Tags --- nnoremap m :Marks --- " This is the default extra key bindings --- let g:fzf_action = { --- \ 'ctrl-t': 'tab split', --- \ 'ctrl-x': 'split', --- \ 'ctrl-y': 'vsplit' } --- let g:fzf_tags_command = 'ctags -R' --- " Border color --- let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } } --- let $FZF_DEFAULT_OPTS = '--layout=reverse --info=inline' --- let $FZF_DEFAULT_COMMAND="rg --files --hidden" --- " Customize fzf colors to match your color scheme --- let g:fzf_colors = --- \ { 'fg': ['fg', 'Normal'], --- \ 'bg': ['bg', 'Normal'], --- \ 'hl': ['fg', 'Comment'], --- \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], --- \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], --- \ 'hl+': ['fg', 'Statement'], --- \ 'info': ['fg', 'PreProc'], --- \ 'border': ['fg', 'Ignore'], --- \ 'prompt': ['fg', 'Conditional'], --- \ 'pointer': ['fg', 'Exception'], --- \ 'marker': ['fg', 'Keyword'], --- \ 'spinner': ['fg', 'Label'], --- \ 'header': ['fg', 'Comment'] } --- " Get Files --- command! -bang -nargs=? -complete=dir Files --- \ call fzf#vim#files(, fzf#vim#with_preview({'options': ['--layout=reverse', '--info=inline']}), 0) --- " Get text in files with Rg --- command! -bang -nargs=* Rg --- \ call fzf#vim#grep( --- \ 'rg --column --line-number --no-heading --color=always --smart-case '.shellescape(), 1, --- \ fzf#vim#with_preview(), 0) --- " Ripgrep advanced --- function! RipgrepFzf(query, fullscreen) --- let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true' --- let initial_command = printf(command_fmt, shellescape(a:query)) --- let reload_command = printf(command_fmt, '{q}') --- let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]} --- call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen) --- endfunction --- command! -nargs=* -bang RG call RipgrepFzf(, 0) --- " Git grep --- command! -bang -nargs=* GGrep --- \ call fzf#vim#grep( --- \ 'git grep --line-number '.shellescape(), 0, --- \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), 0) --- command! -bang FM call fzf#run(fzf#wrap({'source': 'cat ~/.fzf-marks | sed "s/.*: \(.*\)$/\1/" | sed "s#~#${HOME}#"', 'sink': 'lcd'}, 0)) ---]]) +local M = {} + +if not fzfLua then + return M +end + +local ok_fzfLua, actions = pcall(require, "fzf-lua") +if not ok_fzfLua then + return +end + +local ok_fzfLua, actions = pcall(require, "fzf-lua.actions") +if not ok_fzfLua then + return +end + + +local ok, fzfLua = pcall(require, "fzf-lua") +if not ok then + vim.notify("fzf-lua not found", vim.log.levels.WARN) + return M +end + +fzfLua.setup({ + defaults = { + file_icons = "mini", + }, + winopts = { + row = 0.5, + height = 0.7, + }, + files = { + previewer = false, + }, +}) + +vim.keymap.set("n", "fz", "FzfLua files", { desc = "Fuzzy find files" }) +vim.keymap.set("n", "fzg", "FzfLua live_grep", { desc = "Fuzzy grep files" }) +vim.keymap.set("n", "fzh", "FzfLua helptags", { desc = "Fuzzy grep tags in help files" }) +vim.keymap.set("n", "fzt", "FzfLua btags", { desc = "Fuzzy search buffer tags" }) +vim.keymap.set("n", "fzb", "FzfLua buffers", { desc = "Fuzzy search opened buffers" }) + +return M -- cgit v1.2.3