if &encoding ==# 'latin1' set encoding=utf-8 endif " Force English interface try language message C catch endtry set helplang=en let s:assert = themis#helper('assert') call themis#option('recursive', 1) call themis#option('reporter', 'dot') call themis#helper('command').with(s:assert) call themis#log(substitute(execute('version'), '^\%(\r\?\n\)*', '', '')) call themis#log('-----------------------------------------------------------') call themis#log('has("lua"): ' . has('lua')) call themis#log('has("python"): ' . has('python')) call themis#log('has("python3"): ' . has('python3')) call themis#log('$LANG: ' . $LANG) call themis#log('&encoding: ' . &encoding) call themis#log('&termencoding: ' . &termencoding) call themis#log('&fileencodings: ' . &fileencodings) call themis#log('&fileformats: ' . &fileformats) call themis#log('&shellslash: ' . (exists('&shellslash') ? &shellslash : 'DISABLED')) call themis#log('&hidden: ' . &hidden) call themis#log('&autoread: ' . &autoread) call themis#log('&autowrite: ' . &autowrite) call themis#log('&autowriteall: ' . &autowriteall) call themis#log('&runtimepath:') for s:runtimepath in split(&runtimepath, ',') call themis#log(' ' . s:runtimepath) endfor call themis#log('-----------------------------------------------------------') " Decrease timeout to speed-up tests let s:timeout = 5000 let g:gina#process#timeout = s:timeout " Synchronous Gina command for test function! s:GinaSync(bang, range, args, mods) abort call call('gina#command#call', [a:bang, a:range, a:args, a:mods]) if gina#process#wait(s:timeout) == -1 call themis#log(printf( \ 'WARNING: ":%s%sGina%s %s" did not finish within %d ms', \ empty(a:mods) ? '' : a:mods . ' ', \ join(a:range, ','), \ a:bang, \ a:args, \ s:timeout, \)) call themis#log('Remaining running process:') for [process, _] in gina#process#runnings() call themis#log(' ' . string(process)) endfor endif endfunction command! -nargs=* -range=% -bang \ -complete=customlist,gina#command#complete \ GinaSync \ call s:GinaSync(, [, ], , ) " Git ---------------------------------------------------------------------- let s:is_windows = has('win32') || has('win64') let s:scriptroot = expand(':p:h') let s:separator = s:is_windows ? '\' : '/' execute 'source' fnameescape(s:scriptroot . s:separator . 'slit.vim') call themis#log('git version: ' . g:git_version) call themis#log(' worktree: ' . g:git_support_worktree) call themis#log('git config:') for record in split(system('git config --list'), '\r\?\n') call themis#log(' ' . record) endfor call themis#log('***********************************************************')