xref: /vim-8.2.3635/runtime/compiler/tex.vim (revision 36e294c0)
1" Vim compiler file
2" Compiler:     TeX
3" Maintainer:   Artem Chuprina <[email protected]>
4" Last Change:  2012 Apr 30
5
6if exists("current_compiler")
7	finish
8endif
9let s:keepcpo= &cpo
10set cpo&vim
11
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,
21	" otherwize the same for global variable with same name, else it will be
22	" 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
35" Value errorformat are taken from vim help, see :help errorformat-LaTeX, with
36" addition from Srinath Avadhanula <[email protected]>
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
66let &cpo = s:keepcpo
67unlet s:keepcpo
68