<commit_before>" facilitate lazy loading
augroup loadctrlsf
  autocmd!
  autocmd User LoadCtrlSF ++once packadd ctrlsf.vim
augroup END

" quick launch ctrlsf with Ctrl-F
command! -nargs=* CtrlSF :silent doautocmd User LoadCtrlSF | CtrlSF <args>
nnoremap <C-F> :CtrlSF<space>

" toggle ctrlsf with F1
nnoremap <silent> <F1> :silent doautocmd User LoadCtrlSF<CR>:CtrlSFToggle<CR>

" start searches without explicit search path from project VCS root
" gleaned from current file, or from cwd if project VCS root not found
let g:ctrlsf_default_root = 'project+fw'

" enter search regexes by default
let g:ctrlsf_regex_pattern = 1

" don't follow symlinks
let g:ctrlsf_follow_symlinks = 0

" point ctrlsf to xdg directory spec respecting search util config files
let g:ctrlsf_extra_backend_args = {
    \ 'ack': '--ackrc=' . $HOME . '/.config/ack/ackrc',
    \ 'ag': '--path-to-ignore ' . $HOME . '/.config/search/ignore',
    \ 'rg': '--ignore-file ' . $HOME . '/.config/search/ignore'
    \ }

" open ctrlsf on left at 70% of current vim window width
let g:ctrlsf_position = 'left'
let g:ctrlsf_winsize = '70%'

" don't use Ctrl-{J,K} for next/prev in ctrlsf buffer
let g:ctrlsf_mapping = {
    \ "next": "<C-N>",
    \ "prev": "<C-P>",
    \ }

" vim: set filetype=vim foldmethod=marker foldlevel=0 nowrap:
<commit_msg>lazy load dyng/ctrlsf.vim completion<commit_after>" facilitate lazy loading
augroup loadctrlsf
  autocmd!
  autocmd User LoadCtrlSF ++once packadd ctrlsf.vim
augroup END

function! s:LoadCtrlSFCompletion(arglead, cmdline, cursorpos) abort
  silent doautocmd User LoadCtrlSF
  return ctrlsf#comp#Completion(a:arglead, a:cmdline, a:cursorpos)
endfunction

" quick launch ctrlsf with Ctrl-F
command! -nargs=* -complete=customlist,<SID>LoadCtrlSFCompletion CtrlSF :silent doautocmd User LoadCtrlSF | CtrlSF <args>
nnoremap <C-F> :CtrlSF<space>

" toggle ctrlsf with F1
nnoremap <silent> <F1> :silent doautocmd User LoadCtrlSF<CR>:CtrlSFToggle<CR>

" start searches without explicit search path from project VCS root
" gleaned from current file, or from cwd if project VCS root not found
let g:ctrlsf_default_root = 'project+fw'

" enter search regexes by default
let g:ctrlsf_regex_pattern = 1

" don't follow symlinks
let g:ctrlsf_follow_symlinks = 0

" point ctrlsf to xdg directory spec respecting search util config files
let g:ctrlsf_extra_backend_args = {
    \ 'ack': '--ackrc=' . $HOME . '/.config/ack/ackrc',
    \ 'ag': '--path-to-ignore ' . $HOME . '/.config/search/ignore',
    \ 'rg': '--ignore-file ' . $HOME . '/.config/search/ignore'
    \ }

" open ctrlsf on left at 70% of current vim window width
let g:ctrlsf_position = 'left'
let g:ctrlsf_winsize = '70%'

" don't use Ctrl-{J,K} for next/prev in ctrlsf buffer
let g:ctrlsf_mapping = {
    \ "next": "<C-N>",
    \ "prev": "<C-P>",
    \ }

" vim: set filetype=vim foldmethod=marker foldlevel=0 nowrap:

{'fraction_non_alphanumeric': 0.11993067590987869, 'fraction_numerical': 0.006239168110918544, 'mean_word_length': 4.1813285457809695, 'pattern_counts': {'":': 4, '<': 22, '<?xml version=': 0, '>': 22, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3371654', 'n_tokens_mistral': 1072, 'n_tokens_neox': 1068, 'n_words': 308}