1071d4279SBram Moolenaar" Vim compiler file 2071d4279SBram Moolenaar" Compiler: TeX 3071d4279SBram Moolenaar" Maintainer: Artem Chuprina <[email protected]> 49a7224b5SBram Moolenaar" Last Change: 2012 Apr 30 5071d4279SBram Moolenaar 6071d4279SBram Moolenaarif exists("current_compiler") 7071d4279SBram Moolenaar finish 8071d4279SBram Moolenaarendif 99a7224b5SBram Moolenaarlet s:keepcpo= &cpo 109a7224b5SBram Moolenaarset cpo&vim 11071d4279SBram Moolenaar 12071d4279SBram Moolenaarif exists(":CompilerSet") != 2 " older Vim always used :setlocal 13071d4279SBram Moolenaar command -nargs=* CompilerSet setlocal <args> 14071d4279SBram Moolenaarendif 15071d4279SBram Moolenaar 16071d4279SBram Moolenaar" If makefile exists and we are not asked to ignore it, we use standard make 17071d4279SBram Moolenaar" (do not redefine makeprg) 18071d4279SBram Moolenaarif exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') || 19071d4279SBram Moolenaar \(!filereadable('Makefile') && !filereadable('makefile')) 20071d4279SBram Moolenaar " If buffer-local variable 'tex_flavor' exists, it defines TeX flavor, 21*6c391a74SBram Moolenaar " otherwise the same for global variable with same name, else it will be 22071d4279SBram Moolenaar " LaTeX 23071d4279SBram Moolenaar if exists("b:tex_flavor") 24071d4279SBram Moolenaar let current_compiler = b:tex_flavor 25071d4279SBram Moolenaar elseif exists("g:tex_flavor") 26071d4279SBram Moolenaar let current_compiler = g:tex_flavor 27071d4279SBram Moolenaar else 28071d4279SBram Moolenaar let current_compiler = "latex" 29071d4279SBram Moolenaar endif 30071d4279SBram Moolenaar let &l:makeprg=current_compiler.' -interaction=nonstopmode' 31071d4279SBram Moolenaarelse 32071d4279SBram Moolenaar let current_compiler = 'make' 33071d4279SBram Moolenaarendif 34071d4279SBram Moolenaar 35071d4279SBram Moolenaar" Value errorformat are taken from vim help, see :help errorformat-LaTeX, with 36071d4279SBram Moolenaar" addition from Srinath Avadhanula <[email protected]> 37071d4279SBram MoolenaarCompilerSet errorformat=%E!\ LaTeX\ %trror:\ %m, 38071d4279SBram Moolenaar \%E!\ %m, 39071d4279SBram Moolenaar \%+WLaTeX\ %.%#Warning:\ %.%#line\ %l%.%#, 40071d4279SBram Moolenaar \%+W%.%#\ at\ lines\ %l--%*\\d, 41071d4279SBram Moolenaar \%WLaTeX\ %.%#Warning:\ %m, 42071d4279SBram Moolenaar \%Cl.%l\ %m, 43071d4279SBram Moolenaar \%+C\ \ %m., 44071d4279SBram Moolenaar \%+C%.%#-%.%#, 45071d4279SBram Moolenaar \%+C%.%#[]%.%#, 46071d4279SBram Moolenaar \%+C[]%.%#, 47071d4279SBram Moolenaar \%+C%.%#%[{}\\]%.%#, 48071d4279SBram Moolenaar \%+C<%.%#>%.%#, 49071d4279SBram Moolenaar \%C\ \ %m, 50071d4279SBram Moolenaar \%-GSee\ the\ LaTeX%m, 51071d4279SBram Moolenaar \%-GType\ \ H\ <return>%m, 52071d4279SBram Moolenaar \%-G\ ...%.%#, 53071d4279SBram Moolenaar \%-G%.%#\ (C)\ %.%#, 54071d4279SBram Moolenaar \%-G(see\ the\ transcript%.%#), 55071d4279SBram Moolenaar \%-G\\s%#, 56071d4279SBram Moolenaar \%+O(%*[^()])%r, 57071d4279SBram Moolenaar \%+O%*[^()](%*[^()])%r, 58071d4279SBram Moolenaar \%+P(%f%r, 59071d4279SBram Moolenaar \%+P\ %\\=(%f%r, 60071d4279SBram Moolenaar \%+P%*[^()](%f%r, 61071d4279SBram Moolenaar \%+P[%\\d%[^()]%#(%f%r, 62071d4279SBram Moolenaar \%+Q)%r, 63071d4279SBram Moolenaar \%+Q%*[^()])%r, 64071d4279SBram Moolenaar \%+Q[%\\d%*[^()])%r 65071d4279SBram Moolenaar 669a7224b5SBram Moolenaarlet &cpo = s:keepcpo 679a7224b5SBram Moolenaarunlet s:keepcpo 68