xref: /vim-8.2.3635/runtime/compiler/tex.vim (revision 6c391a74)
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