blob: b4bf66b6eca0004b77ed923b0ef73de963d89859 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
|