blob: 65e15cf6e290351cfdf69d6a7ec6bbe79c39974d [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim compiler file
2" Compiler: TeX
3" Maintainer: Artem Chuprina <ran@ran.pp.ru>
Bram Moolenaar9a7224b2012-04-30 15:56:52 +02004" Last Change: 2012 Apr 30
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
6if exists("current_compiler")
7 finish
8endif
Bram Moolenaar9a7224b2012-04-30 15:56:52 +02009let s:keepcpo= &cpo
10set cpo&vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000011
12if exists(":CompilerSet") != 2 " older Vim always used :setlocal
13 command -nargs=* CompilerSet setlocal <args>
14endif
15
16" If makefile exists and we are not asked to ignore it, we use standard make
17" (do not redefine makeprg)
18if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') ||
19 \(!filereadable('Makefile') && !filereadable('makefile'))
20 " If buffer-local variable 'tex_flavor' exists, it defines TeX flavor,
Bram Moolenaar6c391a72021-09-09 21:55:11 +020021 " otherwise the same for global variable with same name, else it will be
Bram Moolenaar071d4272004-06-13 20:20:40 +000022 " LaTeX
23 if exists("b:tex_flavor")
24 let current_compiler = b:tex_flavor
25 elseif exists("g:tex_flavor")
26 let current_compiler = g:tex_flavor
27 else
28 let current_compiler = "latex"
29 endif
30 let &l:makeprg=current_compiler.' -interaction=nonstopmode'
31else
32 let current_compiler = 'make'
33endif
34
Bram Moolenaar071d4272004-06-13 20:20:40 +000035" Value errorformat are taken from vim help, see :help errorformat-LaTeX, with
36" addition from Srinath Avadhanula <srinath@fastmail.fm>
37CompilerSet errorformat=%E!\ LaTeX\ %trror:\ %m,
38 \%E!\ %m,
39 \%+WLaTeX\ %.%#Warning:\ %.%#line\ %l%.%#,
40 \%+W%.%#\ at\ lines\ %l--%*\\d,
41 \%WLaTeX\ %.%#Warning:\ %m,
42 \%Cl.%l\ %m,
43 \%+C\ \ %m.,
44 \%+C%.%#-%.%#,
45 \%+C%.%#[]%.%#,
46 \%+C[]%.%#,
47 \%+C%.%#%[{}\\]%.%#,
48 \%+C<%.%#>%.%#,
49 \%C\ \ %m,
50 \%-GSee\ the\ LaTeX%m,
51 \%-GType\ \ H\ <return>%m,
52 \%-G\ ...%.%#,
53 \%-G%.%#\ (C)\ %.%#,
54 \%-G(see\ the\ transcript%.%#),
55 \%-G\\s%#,
56 \%+O(%*[^()])%r,
57 \%+O%*[^()](%*[^()])%r,
58 \%+P(%f%r,
59 \%+P\ %\\=(%f%r,
60 \%+P%*[^()](%f%r,
61 \%+P[%\\d%[^()]%#(%f%r,
62 \%+Q)%r,
63 \%+Q%*[^()])%r,
64 \%+Q[%\\d%*[^()])%r
65
Bram Moolenaar9a7224b2012-04-30 15:56:52 +020066let &cpo = s:keepcpo
67unlet s:keepcpo