Expose extension commands
This commit is contained in:
parent
7c67b3bde6
commit
49e7018a61
@ -59,7 +59,6 @@ fu! s:opts()
|
|||||||
let s:glob = s:dotfiles ? '.*\|*' : '*'
|
let s:glob = s:dotfiles ? '.*\|*' : '*'
|
||||||
let s:igntype = empty(s:usrign) ? -1 : type(s:usrign)
|
let s:igntype = empty(s:usrign) ? -1 : type(s:usrign)
|
||||||
" Extensions
|
" Extensions
|
||||||
let g:ctrlp_builtins = 2
|
|
||||||
for each in s:extensions
|
for each in s:extensions
|
||||||
exe 'ru autoload/ctrlp/'.each.'.vim'
|
exe 'ru autoload/ctrlp/'.each.'.vim'
|
||||||
endfo
|
endfo
|
||||||
@ -174,7 +173,7 @@ let s:hlgrps = {
|
|||||||
fu! s:Open()
|
fu! s:Open()
|
||||||
cal s:log(1)
|
cal s:log(1)
|
||||||
cal s:getenv()
|
cal s:getenv()
|
||||||
cal s:extvar('enter')
|
cal s:execextvar('enter')
|
||||||
sil! exe 'noa keepa' ( s:mwbottom ? 'bo' : 'to' ) '1new ControlP'
|
sil! exe 'noa keepa' ( s:mwbottom ? 'bo' : 'to' ) '1new ControlP'
|
||||||
let [s:bufnr, s:prompt, s:winw] = [bufnr('%'), ['', '', ''], winwidth(0)]
|
let [s:bufnr, s:prompt, s:winw] = [bufnr('%'), ['', '', ''], winwidth(0)]
|
||||||
abc <buffer>
|
abc <buffer>
|
||||||
@ -206,7 +205,7 @@ fu! s:Close()
|
|||||||
unl! s:focus s:hisidx s:hstgot s:marked s:statypes s:cline s:init s:savestr
|
unl! s:focus s:hisidx s:hstgot s:marked s:statypes s:cline s:init s:savestr
|
||||||
\ g:ctrlp_nolimit
|
\ g:ctrlp_nolimit
|
||||||
cal ctrlp#recordhist()
|
cal ctrlp#recordhist()
|
||||||
cal s:extvar('exit')
|
cal s:execextvar('exit')
|
||||||
cal s:log(0)
|
cal s:log(0)
|
||||||
ec
|
ec
|
||||||
endf
|
endf
|
||||||
@ -230,7 +229,7 @@ fu! ctrlp#reset()
|
|||||||
cal s:autocmds()
|
cal s:autocmds()
|
||||||
cal ctrlp#utils#opts()
|
cal ctrlp#utils#opts()
|
||||||
cal ctrlp#mrufiles#opts()
|
cal ctrlp#mrufiles#opts()
|
||||||
cal s:extvar('opts')
|
cal s:execextvar('opts')
|
||||||
endf
|
endf
|
||||||
" * Files {{{1
|
" * Files {{{1
|
||||||
fu! ctrlp#files()
|
fu! ctrlp#files()
|
||||||
@ -1548,7 +1547,7 @@ fu! s:type(...)
|
|||||||
\ ? g:ctrlp_ext_vars[s:itemtype - 3][a:0 ? 'type' : 'sname'] : s:itemtype
|
\ ? g:ctrlp_ext_vars[s:itemtype - 3][a:0 ? 'type' : 'sname'] : s:itemtype
|
||||||
endf
|
endf
|
||||||
|
|
||||||
fu! s:extvar(key)
|
fu! s:execextvar(key)
|
||||||
if exists('g:ctrlp_ext_vars')
|
if exists('g:ctrlp_ext_vars')
|
||||||
cal map(filter(copy(g:ctrlp_ext_vars),
|
cal map(filter(copy(g:ctrlp_ext_vars),
|
||||||
\ 'has_key(v:val, a:key)'), 'eval(v:val[a:key])')
|
\ 'has_key(v:val, a:key)'), 'eval(v:val[a:key])')
|
||||||
|
@ -8,7 +8,10 @@
|
|||||||
if ( exists('g:loaded_ctrlp') && g:loaded_ctrlp ) || v:version < 700 || &cp
|
if ( exists('g:loaded_ctrlp') && g:loaded_ctrlp ) || v:version < 700 || &cp
|
||||||
fini
|
fini
|
||||||
en
|
en
|
||||||
let [g:loaded_ctrlp, g:ctrlp_lines, g:ctrlp_allfiles] = [1, [], []]
|
let g:loaded_ctrlp = 1
|
||||||
|
|
||||||
|
let [g:ctrlp_lines, g:ctrlp_allfiles, g:ctrlp_alltags, g:ctrlp_alldirs,
|
||||||
|
\ g:ctrlp_buftags, g:ctrlp_builtins] = [[], [], [], [], {}, 2]
|
||||||
|
|
||||||
if !exists('g:ctrlp_map') | let g:ctrlp_map = '<c-p>' | en
|
if !exists('g:ctrlp_map') | let g:ctrlp_map = '<c-p>' | en
|
||||||
if !exists('g:ctrlp_cmd') | let g:ctrlp_cmd = 'CtrlP' | en
|
if !exists('g:ctrlp_cmd') | let g:ctrlp_cmd = 'CtrlP' | en
|
||||||
@ -36,47 +39,22 @@ en
|
|||||||
|
|
||||||
cal ctrlp#mrufiles#init()
|
cal ctrlp#mrufiles#init()
|
||||||
|
|
||||||
if !exists('g:ctrlp_extensions') | fini | en
|
com! CtrlPTag cal ctrlp#init(ctrlp#tag#id())
|
||||||
|
|
||||||
let s:ext = g:ctrlp_extensions
|
com! CtrlPQuickfix cal ctrlp#init(ctrlp#quickfix#id())
|
||||||
|
|
||||||
if index(s:ext, 'tag') >= 0
|
com! -n=? -com=dir CtrlPDir cal ctrlp#init(ctrlp#dir#id(), <q-args>)
|
||||||
let g:ctrlp_alltags = []
|
|
||||||
com! CtrlPTag cal ctrlp#init(ctrlp#tag#id())
|
|
||||||
en
|
|
||||||
|
|
||||||
if index(s:ext, 'quickfix') >= 0
|
com! -n=? -com=buffer CtrlPBufTag
|
||||||
com! CtrlPQuickfix cal ctrlp#init(ctrlp#quickfix#id())
|
\ cal ctrlp#init(ctrlp#buffertag#cmd(0, <q-args>))
|
||||||
en
|
com! CtrlPBufTagAll cal ctrlp#init(ctrlp#buffertag#cmd(1))
|
||||||
|
|
||||||
if index(s:ext, 'dir') >= 0
|
com! CtrlPRTS cal ctrlp#init(ctrlp#rtscript#id())
|
||||||
let g:ctrlp_alldirs = []
|
|
||||||
com! -n=? -com=dir CtrlPDir cal ctrlp#init(ctrlp#dir#id(), <q-args>)
|
|
||||||
en
|
|
||||||
|
|
||||||
if index(s:ext, 'buffertag') >= 0
|
com! CtrlPUndo cal ctrlp#init(ctrlp#undo#id())
|
||||||
let g:ctrlp_buftags = {}
|
|
||||||
com! -n=? -com=buffer CtrlPBufTag
|
|
||||||
\ cal ctrlp#init(ctrlp#buffertag#cmd(0, <q-args>))
|
|
||||||
com! CtrlPBufTagAll cal ctrlp#init(ctrlp#buffertag#cmd(1))
|
|
||||||
en
|
|
||||||
|
|
||||||
if index(s:ext, 'rtscript') >= 0
|
com! CtrlPLine cal ctrlp#init(ctrlp#line#id())
|
||||||
com! CtrlPRTS cal ctrlp#init(ctrlp#rtscript#id())
|
|
||||||
en
|
|
||||||
|
|
||||||
if index(s:ext, 'undo') >= 0
|
com! -n=? -com=buffer CtrlPChange
|
||||||
com! CtrlPUndo cal ctrlp#init(ctrlp#undo#id())
|
\ cal ctrlp#init(ctrlp#changes#cmd(0, <q-args>))
|
||||||
en
|
com! CtrlPChangeAll cal ctrlp#init(ctrlp#changes#cmd(1))
|
||||||
|
|
||||||
if index(s:ext, 'line') >= 0
|
|
||||||
com! CtrlPLine cal ctrlp#init(ctrlp#line#id())
|
|
||||||
en
|
|
||||||
|
|
||||||
if index(s:ext, 'changes') >= 0
|
|
||||||
com! -n=? -com=buffer CtrlPChange
|
|
||||||
\ cal ctrlp#init(ctrlp#changes#cmd(0, <q-args>))
|
|
||||||
com! CtrlPChangeAll cal ctrlp#init(ctrlp#changes#cmd(1))
|
|
||||||
en
|
|
||||||
|
|
||||||
unl s:ext
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user