1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 04:50:04 +08:00
SpaceVim/bundle/incsearch.vim/autoload/incsearch/config.vim
Wang Shidong cd6ea298f2
fix java neoformat config
* Add incsearch.vim into bundle dir

* Fix java neoformat config

close #3573

* Use echom instead in pull.vim
2020-06-13 21:58:05 +08:00

100 lines
2.2 KiB
VimL

"=============================================================================
" FILE: autoload/incsearch/config.vim
" AUTHOR: haya14busa
" License: MIT license
"=============================================================================
scriptencoding utf-8
let s:save_cpo = &cpo
set cpo&vim
let s:TRUE = !0
let s:FALSE = 0
lockvar s:TRUE s:FALSE
let s:U = incsearch#util#import()
"" incsearch config
" TODO: more detail documentation
" @command is equivalent with base_key TODO: fix this inconsistence
" @count default: v:count secret
" @mode default: mode(1) secret
let s:config = {
\ 'command': '/',
\ 'is_stay': s:FALSE,
\ 'is_expr': s:FALSE,
\ 'pattern': '',
\ 'mode': 'n',
\ 'count': 0,
\ 'prompt': '',
\ 'modules': [],
\ 'converters': [],
\ 'keymap': {}
\ }
" @return config for lazy value
function! s:lazy_config() abort
let m = mode(1)
return {
\ 'count': v:count,
\ 'mode': m,
\ 'is_expr': (m is# 'no'),
\ 'keymap': s:keymap()
\ }
endfunction
" @return config with default value
function! incsearch#config#make(additional) abort
let default = extend(deepcopy(s:config), s:lazy_config())
let c = s:U.deepextend(default, a:additional)
if c.prompt is# ''
let c.prompt = c.command
endif
return c
endfunction
let s:default_keymappings = {
\ "\<Tab>" : {
\ 'key' : '<Over>(incsearch-next)',
\ 'noremap' : 1,
\ },
\ "\<S-Tab>" : {
\ 'key' : '<Over>(incsearch-prev)',
\ 'noremap' : 1,
\ },
\ "\<C-j>" : {
\ 'key' : '<Over>(incsearch-scroll-f)',
\ 'noremap' : 1,
\ },
\ "\<C-k>" : {
\ 'key' : '<Over>(incsearch-scroll-b)',
\ 'noremap' : 1,
\ },
\ "\<C-l>" : {
\ 'key' : '<Over>(buffer-complete)',
\ 'noremap' : 1,
\ },
\ "\<CR>" : {
\ 'key': "\<CR>",
\ 'noremap': 1
\ },
\ }
" https://github.com/haya14busa/incsearch.vim/issues/35
if has('mac')
call extend(s:default_keymappings, {
\ '"+gP' : {
\ 'key': "\<C-r>+",
\ 'noremap': 1
\ },
\ })
endif
function! s:keymap() abort
return extend(copy(s:default_keymappings), g:incsearch_cli_key_mappings)
endfunction
let &cpo = s:save_cpo
unlet s:save_cpo
" __END__
" vim: expandtab softtabstop=2 shiftwidth=2 foldmethod=marker