Files
vim-mirror/runtime/compiler/context.vim
Lifepillar cb7cbfcc12 runtime: Update files for ConTeXt, METAFONT, and MetaPost.
This update is meant to be included in the upcoming 9.2 release.

**New**

- Support ConTeXt's convention to optionally specify an output directory
  in a comment line at the beginning of a source file.
- If a log file is not found, Vim does not create a new buffer.
- Removed `syntax/shared` files for the following reasons:
  - they are not necessary for the plugin to work (they only improve
    over existing syntax highlighting);
  - they are relative large;
  - they can be automatically (re)generated by users at any time using
    ConTeXt (explained in the doc);
  - since ConTeXt is updated frequently, they quickly become obsolete.

**Minor**

- Prefer `var` to `const` inside functions.
- Prefer `$`-interpolation to `printf()`.
- All revision dates set to the same date for consistency.
- Updated the error format.
- Various tweaks to the documentation, but nothing disruptive or new.

closes: #19148

Signed-off-by: Lifepillar <lifepillar@lifepillar.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-11 18:45:42 +00:00

47 lines
1.2 KiB
VimL

vim9script
# Language: ConTeXt typesetting engine
# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
# Former Maintainers: Nikolai Weibull <now@bitwi.se>
# Contributors: Enno Nagel
# Last Change: 2026 Jan 10
if exists("g:current_compiler")
finish
endif
import autoload '../autoload/context.vim'
g:current_compiler = 'context'
if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) ||
(!filereadable('Makefile') && !filereadable('makefile'))
var makeprg = join(context.ConTeXtCmd(shellescape(expand('%:p:t'))), ' ')
execute 'CompilerSet makeprg=' .. escape(makeprg, ' ')
else
g:current_compiler = 'make'
endif
const context_errorformat = join([
"%-Popen source%.%#> %f",
"%-Qclose source%.%#> %f",
"%-Popen source%.%#name '%f'",
"%-Qclose source%.%#name '%f'",
"%E! %m",
"%Ztex %trror%.%#error on line %l in file %f",
"%Elua %trror%.%#error on line %l in file %f:",
"%+Emetapost %#> error: %#",
"%Emetafun%.%#error: %m",
"%-C %#",
"%C! %m",
"%Z%.%#[ctxlua]:%l:%m",
"%+C<*> %.%#",
"%-C%.%#",
"%Z...%m",
"%-Zno-error",
"%-G%.%#"], ",")
execute 'CompilerSet errorformat=' .. escape(context_errorformat, ' ')
# vim: sw=2 fdm=marker