summaryrefslogtreecommitdiffstats
path: root/src/testdir/shared.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir/shared.vim')
-rw-r--r--src/testdir/shared.vim21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/testdir/shared.vim b/src/testdir/shared.vim
index b28a26c0ba..d0be24166a 100644
--- a/src/testdir/shared.vim
+++ b/src/testdir/shared.vim
@@ -120,3 +120,24 @@ func WaitFor(expr)
sleep 10m
endfor
endfunc
+
+" Run Vim, using the "vimcmd" file and "-u NORC".
+" "before" is a list of commands to be executed before loading plugins.
+" "after" is a list of commands to be executed after loading plugins.
+" Plugins are not loaded, unless 'loadplugins' is set in "before".
+" Return 1 if Vim could be executed.
+func RunVim(before, after)
+ if !filereadable('vimcmd')
+ return 0
+ endif
+ call writefile(a:before, 'Xbefore.vim')
+ call writefile(a:after, 'Xafter.vim')
+
+ let cmd = readfile('vimcmd')[0]
+ let cmd = substitute(cmd, '-u \f\+', '-u NONE', '')
+ exe "silent !" . cmd . " --cmd 'so Xbefore.vim' -S Xafter.vim"
+
+ call delete('Xbefore.vim')
+ call delete('Xafter.vim')
+ return 1
+endfunc