@@ -126,21 +126,32 @@ endfunc
126126" "after" is a list of commands to be executed after loading plugins.
127127" Plugins are not loaded, unless 'loadplugins' is set in "before".
128128" Return 1 if Vim could be executed.
129- func RunVim (before, after)
129+ func RunVim (before, after, arguments )
130130 if ! filereadable (' vimcmd' )
131131 return 0
132132 endif
133- call writefile (a: before , ' Xbefore.vim' )
134- call writefile (a: after , ' Xafter.vim' )
133+ let args = a: arguments
134+ if len (a: before ) > 0
135+ call writefile (a: before , ' Xbefore.vim' )
136+ let args .= ' --cmd "so Xbefore.vim"'
137+ endif
138+ if len (a: after ) > 0
139+ call writefile (a: after , ' Xafter.vim' )
140+ let args .= ' -S Xafter.vim'
141+ endif
135142
136143 let cmd = readfile (' vimcmd' )[0 ]
137144 let cmd = substitute (cmd, ' -u \f\+' , ' -u NONE' , ' ' )
138145 if cmd !~ ' -u NONE'
139146 let cmd = cmd . ' -u NONE'
140147 endif
141- exe " silent !" . cmd . " --cmd \" so Xbefore.vim \" -S Xafter.vim "
148+ exe " silent !" . cmd . ' ' . args
142149
143- call delete (' Xbefore.vim' )
144- call delete (' Xafter.vim' )
150+ if len (a: before ) > 0
151+ call delete (' Xbefore.vim' )
152+ endif
153+ if len (a: after ) > 0
154+ call delete (' Xafter.vim' )
155+ endif
145156 return 1
146157endfunc
0 commit comments