Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 1 | vim9script |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 2 | |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 3 | # Language: ConTeXt typesetting engine |
| 4 | # Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com> |
| 5 | # Former Maintainers: Nikolai Weibull <now@bitwi.se> |
Enno | 18d730d | 2024-03-31 18:37:05 +0200 | [diff] [blame] | 6 | # Contributors: Enno Nagel |
| 7 | # Last Change: 2024 Mar 29 |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 8 | |
| 9 | if exists("g:current_compiler") |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 10 | finish |
| 11 | endif |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 12 | |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 13 | import autoload '../autoload/context.vim' |
| 14 | |
| 15 | if exists(":CompilerSet") != 2 # Older Vim always used :setlocal |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 16 | command -nargs=* CompilerSet setlocal <args> |
| 17 | endif |
| 18 | |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 19 | g:current_compiler = 'context' |
| 20 | |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 21 | if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) || |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 22 | (!filereadable('Makefile') && !filereadable('makefile')) |
Enno | 18d730d | 2024-03-31 18:37:05 +0200 | [diff] [blame] | 23 | var makeprg = join(context.ConTeXtCmd(shellescape(expand('%:p:t'))), ' ') |
| 24 | execute 'CompilerSet makeprg=' .. escape(makeprg, ' ') |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 25 | else |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 26 | g:current_compiler = 'make' |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 27 | endif |
| 28 | |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 29 | const context_errorformat = join([ |
| 30 | "%-Popen source%.%#> %f", |
| 31 | "%-Qclose source%.%#> %f", |
| 32 | "%-Popen source%.%#name '%f'", |
| 33 | "%-Qclose source%.%#name '%f'", |
| 34 | "tex %trror%.%#error on line %l in file %f: %m", |
| 35 | "%Elua %trror%.%#error on line %l in file %f:", |
| 36 | "%+Emetapost %#> error: %#", |
| 37 | "%Emetafun%.%#error: %m", |
| 38 | "! error: %#%m", |
| 39 | "%-C %#", |
| 40 | "%C! %m", |
| 41 | "%Z[ctxlua]%m", |
| 42 | "%+C<*> %.%#", |
| 43 | "%-C%.%#", |
| 44 | "%Z...%m", |
| 45 | "%-Zno-error", |
| 46 | "%-G%.%#"], ",") |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 47 | |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 48 | execute 'CompilerSet errorformat=' .. escape(context_errorformat, ' ') |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 49 | |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 50 | # vim: sw=2 fdm=marker |