1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-04 02:50:05 +08:00
SpaceVim/bundle/incsearch.vim/autoload/vital/_incsearch/Over/Commandline/Maker.vim

98 lines
2.6 KiB
VimL
Raw Normal View History

" ___vital___
" NOTE: lines between '" ___vital___' is generated by :Vitalize.
" Do not mofidify the code nor insert new lines before '" ___vital___'
function! s:_SID() abort
return matchstr(expand('<sfile>'), '<SNR>\zs\d\+\ze__SID$')
endfunction
execute join(['function! vital#_incsearch#Over#Commandline#Maker#import() abort', printf("return map({'plain': '', '_vital_depends': '', 'standard_search': '', 'standard': '', 'standard_search_back': '', 'default': '', '_vital_loaded': ''}, \"vital#_incsearch#function('<SNR>%s_' . v:key)\")", s:_SID()), 'endfunction'], "\n")
delfunction s:_SID
" ___vital___
scriptencoding utf-8
let s:save_cpo = &cpo
set cpo&vim
let s:modules = [
\ "Scroll",
\ "CursorMove",
\ "Delete",
\ "HistAdd",
\ "History",
\ "Cancel",
\ "Execute",
\ "NoInsert",
\ "InsertRegister",
\ "Redraw",
\ "DrawCommandline",
\ "ExceptionExit",
\ "ExceptionMessage",
\]
function! s:_vital_loaded(V)
let s:V = a:V
let s:Cmdline = s:V.import("Over.Commandline.Base")
let s:Modules = s:V.import("Over.Commandline.Modules")
endfunction
function! s:_vital_depends()
return [
\ "Over.Commandline.Base",
\ "Over.Commandline.Modules",
\ ] + map(copy(s:modules), "'Over.Commandline.Modules.' . v:val")
endfunction
function! s:default(...)
return call(s:Cmdline.make, a:000, s:Cmdline)
endfunction
function! s:plain()
return s:Cmdline.plain()
endfunction
function! s:standard(...)
let result = call(s:Cmdline.make, a:000, s:Cmdline)
call result.connect("Execute")
call result.connect("Cancel")
call result.connect("Delete")
call result.connect("CursorMove")
call result.connect("HistAdd")
call result.connect("History")
call result.connect("InsertRegister")
call result.connect(s:Modules.get("NoInsert").make_special_chars())
call result.connect("Redraw")
call result.connect("DrawCommandline")
call result.connect("ExceptionExit")
call result.connect("ExceptionMessage")
call result.connect(s:Modules.get("KeyMapping").make_vim_cmdline_mapping())
call result.connect("Digraphs")
call result.connect("LiteralInsert")
return result
endfunction
function! s:standard_search(...)
let result = s:standard(get(a:, 1, "/"))
call result.connect(s:Modules.get("Execute").make_search("/"))
call result.connect(s:Modules.make("HistAdd", "/"))
call result.connect(s:Modules.make("History", "/"))
return result
endfunction
function! s:standard_search_back(...)
let result = s:standard(get(a:, 1, "?"))
call result.connect(s:Modules.get("Execute").make_search("?"))
call result.connect(s:Modules.make("HistAdd", "/"))
call result.connect(s:Modules.make("History", "/"))
return result
endfunction
let &cpo = s:save_cpo
unlet s:save_cpo