1" Command to check for the presence of a feature. 2command -nargs=1 CheckFeature call CheckFeature(<f-args>) 3func CheckFeature(name) 4 if !has(a:name) 5 throw 'Skipped: ' .. a:name .. ' feature missing' 6 endif 7endfunc 8 9" Command to check for the presence of a working option. 10command -nargs=1 CheckOption call CheckOption(<f-args>) 11func CheckOption(name) 12 if !exists('+' .. a:name) 13 throw 'Skipped: ' .. a:name .. ' option not supported' 14 endif 15endfunc 16 17" Command to check for the presence of a function. 18command -nargs=1 CheckFunction call CheckFunction(<f-args>) 19func CheckFunction(name) 20 if !exists('*' .. a:name) 21 throw 'Skipped: ' .. a:name .. ' function missing' 22 endif 23endfunc 24 25" Command to check for running on MS-Windows 26command CheckMSWindows call CheckMSWindows() 27func CheckMSWindows() 28 if !has('win32') 29 throw 'Skipped: only works on MS-Windows' 30 endif 31endfunc 32 33" Command to check for running on Unix 34command CheckUnix call CheckUnix() 35func CheckUnix() 36 if !has('unix') 37 throw 'Skipped: only works on Unix' 38 endif 39endfunc 40 41" Command to check that making screendumps is supported. 42" Caller must source screendump.vim 43command CheckScreendump call CheckScreendump() 44func CheckScreendump() 45 if !CanRunVimInTerminal() 46 throw 'Skipped: cannot make screendumps' 47 endif 48endfunc 49 50" Command to check that we can Run Vim in a terminal window 51command CheckRunVimInTerminal call CheckRunVimInTerminal() 52func CheckRunVimInTerminal() 53 if !CanRunVimInTerminal() 54 throw 'Skipped: cannot run Vim in a terminal window' 55 endif 56endfunc 57