for different
shells and OSes and also does not allow to use other available TeX options,
if any. If your TeX doesn't support "-interaction=nonstopmode", please
report it with different means to express \nonstopmode from the command line.
TSC COMPILER *compiler-tsc*
The executable and compiler options can be added to 'makeprg' by setting the
b/g:tsc_makeprg variable. For example: >
let b:tsc_makeprg = "npx tsc --noEmit"
TYPST COMPILER *compiler-typst*
Vim includes a compiler plugin for Typst files. This compiler is enabled
automatically in Typst buffers by the Typst filetype plugin |ft-typst-plugin|.
Run |:make| to compile the current Typst file.
*g:typst_cmd*
By default Vim will use "typst" as the command to run the Typst compiler. This
can be changed by setting the |g:typst_cmd| variable: >
let g:typst_cmd = "/path/to/other/command"
=============================================================================
7. The error format *error-file-format*
*errorformat* *E372* *E373* *E374*
*E375* *E376* *E377* *E378*
The 'errorformat' option specifies a list of formats that are recognized. The
first format that matches with an error message is used. You can add several
formats for different messages your compiler produces, or even entries for
multiple compilers. See |efm-entries|.
Each entry in 'errorformat' is a scanf-like string that describes the format.
First, you need to know how scanf works. Look in the documentation of your
C compiler. Below you find the % items that Vim understands. Others are
invalid.
Special characters in 'errorformat' are comma and backslash. See
|efm-entries| for how to deal with them. Note that a literal "%" is matched
by "%%", thus it is not escaped with a backslash.
Keep in mind that in the `:make` and `:grep` output all NUL characters are
replaced with SOH (0x01).
Note: By default the difference between upper and lowercase is ignored. If
you want to match case, add "\C" to the pattern |/\C|.
Vim will read lines of any length, but only the first 4095 bytes are used, the
rest is ignored. Items can only be 1023 bytes long.
Basic items
%f file name (finds a string)
%b buffer number (finds a number)
%o module name (finds a string)
%l line number (finds a number)
%e end line number (finds a number)
%c column number (finds a number representing character
column of the error, byte index, a <tab> is 1
character column)
%v virtual column number (finds a number representing
screen column of the error (1 <tab> == 8 screen
columns))
%k end column number (finds a number representing
the character column of the error, byte index, or a
number representing screen end column of the error if
it's used with %v)
%t error type (finds a single character):
e - error message
w - warning message
i - info message
n - note message
%n error number (finds a number)
%m error message (finds a string)
%r matches the "rest" of a single-line file message %O/P/Q
%p pointer line (finds a sequence of '-', '.', ' ' or
tabs and uses the length for the column number)
%*{conv} any scanf non-assignable conversion
%% the single '%' character
%s search text (finds a string)
The "%f" conversion may depend on the current 'isfname' setting. "~/" is
expanded to the home directory and environment variables are expanded.
The "%f" and "%m" conversions have to detect the end of the string. This
normally happens by matching following characters and items. When nothing is
following the rest of the line is matched. If "%f" is followed by a '%' or a
backslash, it will look for a sequence of 'isfname' characters.
On Windows a leading "C:" will be included in "%f", even when using "%f:".
This means that a file name which is a single alphabetical letter will not be
detected.
The "%b" conversion is used to parse a buffer number. This is useful for
referring to lines in a scratch buffer or a buffer with no name.