2016-04-27 3 views
0

Ich versuche, meine eigene Erweiterung zu schreiben.extend ctrlp ohne Einstellung `g: ctrlp_extensions`

Die document zeigt, dass wir g:ctrlp_extensions wie folgt einstellen müssen, um unsere Erweiterung arbeiten zu lassen.

let g:ctrlp_extensions = ['extensionname'] 

Aber es scheint, diese beiden extension: ctrlp-funky, ctrlp-extensions.vim ohne g:ctrlp_extensions Einstellung noch arbeiten (I unter Verwendung grep -rn "g:ctrlp_extensions" * diese Variable in den Souce Dateien dieser beiden Erweiterung finden nicht).

Also meine Frage ist:

  1. können wir CtrlP erweitern, ohne g:ctrlp_extensions Einstellung
  2. wenn ja, wie können wir tun, dass

Antwort

1

Nachdem ich den Code carfully lesen, fand ich heraus, dass Ich muss g:ctrlp_ext_vars für diesen Zweck wie folgt ändern.

Zuerst definieren Sie besitzen ctrlp_extension_var:

let s:ctrlp_extension_var = { 
     \ 'init': 'xxx', 
     \ 'accept': 'xxx', 
     \ 'lname': 'xxx', 
     \ 'sname': 'xxx', 
     \ } 

Zweitens setzen oder fügen Sie Ihre ctrl_extension_var zu g:ctrlp_ext_vars:

if exists('g:ctrlp_ext_vars') && !empty(g:ctrlp_ext_vars) 
    let g:ctrlp_ext_vars = add(g:ctrlp_ext_vars, s:ctrlp_extension_var) 
else 
    let g:ctrlp_ext_vars = [s:ctrlp_extension_var] 
endif