diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-06-17 21:57:54 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-06-17 21:57:54 +1200 |
commit | e2e6288cf3680469d6f1b3f257876c6ca2f88ac0 (patch) | |
tree | 06ce87523cbe18d960838d1784943a49c226bc97 /vim/autoload/compiler.vim | |
parent | Merge branch 'release/v0.54.0' (diff) | |
parent | Bump VERSION (diff) | |
download | dotfiles-e2e6288cf3680469d6f1b3f257876c6ca2f88ac0.tar.gz dotfiles-e2e6288cf3680469d6f1b3f257876c6ca2f88ac0.zip |
Merge branch 'release/v0.55.0'v0.55.0
* release/v0.55.0:
Bump VERSION
Update auto_cache_dirs.vim
Update markdown_autoformat.vim
Update insert_suspend_hlsearch.vim
Use autoload function for tidy filters
Refine compiler#Make() function
Use autoload function for temp-makeprg :lmake
Add local copy of php.vim compiler
Diffstat (limited to 'vim/autoload/compiler.vim')
-rw-r--r-- | vim/autoload/compiler.vim | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/vim/autoload/compiler.vim b/vim/autoload/compiler.vim new file mode 100644 index 00000000..b4bf66b6 --- /dev/null +++ b/vim/autoload/compiler.vim @@ -0,0 +1,33 @@ +" Run a compiler check (:lmake, :lwindow) without trampling over previous +" settings, by temporarily loading the compiler with the given name +function! compiler#Make(compiler) abort + + " Save the given compiler or failing that the current 'makeprg' and + " 'errorformat' values + if exists('b:current_compiler') + let l:save_compiler = b:current_compiler + else + let l:save_makeprg = &makeprg + let l:save_errorformat = &errorformat + endif + + " Choose the compiler + execute 'compiler ' . a:compiler + + " Run the 'makeprg' with results in location list + lmake! + + " If we saved a compiler, switch back to it, otherwise restore the previous + " values for 'makeprg' and 'errorformat' + if exists('l:save_compiler') + execute 'compiler ' . l:save_compiler + else + unlet! b:current_compiler + let &l:makeprg = l:save_makeprg + let &l:errorformat = l:save_errorformat + endif + + " Show location list + lwindow + +endfunction |