" Based on https://github.com/tweekmonster/braceless.vim/blob/master/test/vim/vimrc " TODO: provide this by default in the Docker image already?! e.g. /vimrc?! set noloadplugins " Indicator for tests being run. let g:neomake_test_messages = [] " Shorter timeouts during tests. let g:neomake_action_queue_timeouts = {1: 10, 2: 20, 3: 30} " Remove some overhead by default, tested explicitly. let g:neomake_echo_current_error = 0 let s:slash = has('win32') ? '\' : '/' if exists('$NEOMAKE_TESTS_DEP_PLUGINS_DIR') let s:dep_plugins_base = $NEOMAKE_TESTS_DEP_PLUGINS_DIR else let s:dep_plugins_base = join( \ [expand(':p:h'), '..', '..', 'build', 'vim', 'plugins'], \ s:slash) endif if exists('$TESTS_VADER_DIR') let s:vader_dir = expand($TESTS_VADER_DIR) else let s:vader_dir = s:dep_plugins_base . s:slash . 'vader' endif let &runtimepath .= ','.s:vader_dir exe 'source' join([s:vader_dir, 'plugin', 'vader.vim'], s:slash) function! s:load_plugin_on_demand(name) abort Save &runtimepath " Restore/unset "loaded" var, to not skip loading on second invocation. let var_name = substitute(a:name, '^vim-', '', '') exe printf('Save g:loaded_%s', var_name) let dir = s:dep_plugins_base.'/'.a:name let &runtimepath .= ','.dir let funcs_before = map(split(neomake#utils#redir('function /\C^[A-Z]'), '\n'), \ "substitute(v:val, '\\v^function (.*)\\(.*$', '\\1', '')") exe 'source '.join([dir, 'plugin', '*.vim'], s:slash) let funcs_after = map(split(neomake#utils#redir('function /\C^[A-Z]'), '\n'), \ "substitute(v:val, '\\v^function (.*)\\(.*$', '\\1', '')") " Add new functions defined in the plugin to g:neomake_test_funcs_before, " e.g. FugitiveDetect. for f in funcs_after if index(funcs_before, f) == -1 call add(g:neomake_test_funcs_before, f) endif endfor endfunction command! -nargs=1 NeomakeTestsLoadPlugin call s:load_plugin_on_demand() let s:plugin_dir = expand(':p:h:h:h') let &runtimepath .= ','.s:plugin_dir exe 'source' join([s:plugin_dir, 'plugin', 'neomake.vim'], s:slash) filetype plugin indent on augroup ssshhhhhh autocmd VimEnter * set visualbell t_vb= autocmd GUIEnter * set visualbell t_vb= augroup END set noswapfile syntax on set number set background=dark set colorcolumn=80 set showcmd set lazyredraw set tabstop=4 set softtabstop=4 set shiftwidth=4 set expandtab set backspace=2 set nofoldenable set foldmethod=syntax set foldlevelstart=10 set foldnestmax=10 set ttimeoutlen=0 set cmdheight=5 set textwidth=79 set hidden set splitbelow " Easier for window numbers (incrementing). set complete=. " Just simple completion from the current buffer. let mapleader=',' " No '-- More --' prompt, which would hang Travis. set nomore if expand('$NEOMAKE_TEST_NO_COLORSCHEME') !=# '1' colorscheme default endif " Avoid system call and warning. let g:neomake_clippy_rustup_has_nightly = 0