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> |
Lifepillar | 0bca4a0 | 2023-12-27 18:49:50 +0100 | [diff] [blame] | 6 | # Latest Revision: 2023 Dec 26 |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 7 | |
| 8 | if exists("g:current_compiler") |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 9 | finish |
| 10 | endif |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 11 | |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 12 | import autoload '../autoload/context.vim' |
| 13 | |
| 14 | if exists(":CompilerSet") != 2 # Older Vim always used :setlocal |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 15 | command -nargs=* CompilerSet setlocal <args> |
| 16 | endif |
| 17 | |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 18 | g:current_compiler = 'context' |
| 19 | |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 20 | if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) || |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 21 | (!filereadable('Makefile') && !filereadable('makefile')) |
| 22 | &l:makeprg = join(context.ConTeXtCmd(shellescape(expand('%:p:t'))), ' ') |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 23 | else |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 24 | g:current_compiler = 'make' |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 25 | endif |
| 26 | |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 27 | const context_errorformat = join([ |
| 28 | "%-Popen source%.%#> %f", |
| 29 | "%-Qclose source%.%#> %f", |
| 30 | "%-Popen source%.%#name '%f'", |
| 31 | "%-Qclose source%.%#name '%f'", |
| 32 | "tex %trror%.%#error on line %l in file %f: %m", |
| 33 | "%Elua %trror%.%#error on line %l in file %f:", |
| 34 | "%+Emetapost %#> error: %#", |
| 35 | "%Emetafun%.%#error: %m", |
| 36 | "! error: %#%m", |
| 37 | "%-C %#", |
| 38 | "%C! %m", |
| 39 | "%Z[ctxlua]%m", |
| 40 | "%+C<*> %.%#", |
| 41 | "%-C%.%#", |
| 42 | "%Z...%m", |
| 43 | "%-Zno-error", |
| 44 | "%-G%.%#"], ",") |
Bram Moolenaar | 46fceaa | 2016-10-23 21:21:08 +0200 | [diff] [blame] | 45 | |
Bram Moolenaar | e1f3fd1 | 2022-08-15 18:51:32 +0100 | [diff] [blame] | 46 | execute 'CompilerSet errorformat=' .. escape(context_errorformat, ' ') |
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 | # vim: sw=2 fdm=marker |