"" " @section incsearch, layer-incsearch " @parentsection layers " This layer improved incremental searching for neovim/vim " " mappings " > " key mode description " / n/v incsearch forward " ? n/v incsearch backward " g/ n/v incsearch stay " n n nohlsearch n " N n nohlsearch N " * n nohlsearch * " g* n nohlsearch g* " # n nohlsearch # " g# n nohlsearch g# " z/ n incsearch fuzzy / " z? n incsearch fuzzy ? " zg? n incsearch fuzzy g? " / n incsearch easymotion " < function! SpaceVim#layers#incsearch#plugins() abort let plugins = [] call add(plugins, ['haya14busa/incsearch.vim', {'merged' : 0}]) call add(plugins, ['haya14busa/incsearch-fuzzy.vim', {'merged' : 0}]) call add(plugins, ['haya14busa/vim-asterisk', {'merged' : 0}]) call add(plugins, ['osyo-manga/vim-over', {'merged' : 0}]) call add(plugins, ['haya14busa/incsearch-easymotion.vim', {'merged' : 0}]) return plugins endfunction function! SpaceVim#layers#incsearch#config() abort map / (incsearch-forward) map ? (incsearch-backward) map g/ (incsearch-stay) set hlsearch let g:incsearch#auto_nohlsearch = get(g:, 'incsearch#auto_nohlsearch', 1) nnoremap n :call update_search_index('d') nnoremap N :call update_search_index('r') map * (incsearch-nohl-*) map # (incsearch-nohl-#) map g* (incsearch-nohl-g*) map g# (incsearch-nohl-g#) function! s:config_fuzzyall(...) abort return extend(copy({ \ 'converters': [ \ incsearch#config#fuzzy#converter(), \ incsearch#config#fuzzyspell#converter() \ ], \ }), get(a:, 1, {})) endfunction function! s:config_easyfuzzymotion(...) abort return extend(copy({ \ 'converters': [incsearch#config#fuzzy#converter()], \ 'modules': [incsearch#config#easymotion#module()], \ 'keymap': {"\": '(easymotion)'}, \ 'is_expr': 0, \ 'is_stay': 1 \ }), get(a:, 1, {})) endfunction endfunction let s:si_flag = 0 function! s:update_search_index(key) abort if a:key == 'd' if mapcheck("(incsearch-nohl-n)") !=# '' call feedkeys("\(incsearch-nohl-n)") else normal! n endif normal! ml elseif a:key == 'r' if mapcheck("(incsearch-nohl-N)") !=# '' call feedkeys("\(incsearch-nohl-N)") else normal! N endif normal! ml endif if s:si_flag == 0 call SpaceVim#layers#core#statusline#toggle_section('search status') let s:si_flag = 1 else let &l:statusline = SpaceVim#layers#core#statusline#get(1) endif normal! `l endfunction