diff --git a/.vimrc b/.vimrc index 164644541536d1a441bf76294ed310a66fe0bdac..fc5a5e08d220d263216acbb4acaccb53db0a7ae4 100644 --- a/.vimrc +++ b/.vimrc @@ -1136,7 +1136,7 @@ let $FZF_DEFAULT_COMMAND='rg --vimgrep --no-heading --color=never --smart-case - " Ripgrep advanced function! RipgrepFzf(query, fullscreen) - let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case --hidden %s || true' + let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case --hidden -g\!.git -g\!.pijul -g\!.ccls-cache %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]} @@ -1145,12 +1145,29 @@ endfunction command! -nargs=* -bang RG call RipgrepFzf(<q-args>, <bang>0) +" Pijul +function! RipgrepPijulFzf(query, fullscreen) + let command_fmt = 'pijul log || %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 PJ call RipgrepPijulFzf(<q-args>, <bang>0) + " Git grep command! -bang -nargs=* GGrep \ call fzf#vim#grep( \ 'git grep --line-number '.shellescape(<q-args>), 0, \ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), <bang>0) +" Pijul grep +command! -bang -nargs=* PGrep + \ call fzf#vim#grep( + \ 'pijul log'.shellescape(<q-args>), 0, + \ fzf#vim#with_preview(), <bang>0) + " Enable Ag and Rg for fzf plugin "command! -bang -nargs=* Ag call fzf#vim#ag_interactive(<q-args>, fzf#vim#with_preview('right:50%:hidden', 'alt-h')) @@ -1162,18 +1179,18 @@ command! -bang -nargs=* GGrep let g:rg_command = ' \ rg --files --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --color "always" \ -g "*.{js,json,php,md,styl,jade,html,config,py,cpp,c,go,hs,rb,conf,robot,rs}" - \ -g "!{.git,node_modules,vendor}/*" ' + \ -g "!{.git,.pijul,node_modules,vendor}/*" ' "command! -bang -nargs=* F call fzf#vim#grep(g:rg_command .shellescape(<q-args>), 1, <bang>0) command! -bang -nargs=* Rgrust \ call fzf#vim#grep( - \ 'rg -g!target -g!book -g!docs --column --line-number --no-heading --smart-case -- '.shellescape(<q-args>), 1, + \ 'rg -g!target -g!book -g!docs --column --line-number --no-heading --smart-case --hidden -g\!.git -g\!.pijul -g\!.ccls-cache -- '.shellescape(<q-args>), 1, \ fzf#vim#with_preview(), <bang>0) command! -bang -nargs=* Rgg \ call fzf#vim#grep( - \ 'rg --column --line-number --no-heading --color=always '.shellescape(<q-args>), 1, + \ 'rg --column --line-number --no-heading --color=always --hidden -g\!.git -g\!.pijul -g\!.ccls-cache '.shellescape(<q-args>), 1, \ <bang>0 ? fzf#vim#with_preview('up:60%') \ : fzf#vim#with_preview('up:50%', '?'), \ <bang>0)