summaryrefslogtreecommitdiff
path: root/runtime/compiler
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-08-15 18:51:32 +0100
committerBram Moolenaar <Bram@vim.org>2022-08-15 18:51:32 +0100
commite1f3fd1d02e3f5fe6d2b6d82687c6846b8e500f8 (patch)
treef00150bb6e9c2813a69adef48cea5d43c0680c32 /runtime/compiler
parent5a4fff4d948cd12a5cf5f637ad2c561815a77d8e (diff)
downloadvim-git-e1f3fd1d02e3f5fe6d2b6d82687c6846b8e500f8.tar.gz
Update runtime files
Diffstat (limited to 'runtime/compiler')
-rw-r--r--runtime/compiler/context.vim80
1 files changed, 37 insertions, 43 deletions
diff --git a/runtime/compiler/context.vim b/runtime/compiler/context.vim
index cb78c96df..4cabf145c 100644
--- a/runtime/compiler/context.vim
+++ b/runtime/compiler/context.vim
@@ -1,54 +1,48 @@
-" Vim compiler file
-" Compiler: ConTeXt typesetting engine
-" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
-" Last Change: 2016 Oct 21
+vim9script
-if exists("current_compiler")
+# Language: ConTeXt typesetting engine
+# Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
+# Former Maintainers: Nikolai Weibull <now@bitwi.se>
+# Latest Revision: 2022 Aug 12
+
+if exists("g:current_compiler")
finish
endif
-let s:keepcpo= &cpo
-set cpo&vim
-if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+import autoload '../autoload/context.vim'
+
+if exists(":CompilerSet") != 2 # Older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
-" If makefile exists and we are not asked to ignore it, we use standard make
-" (do not redefine makeprg)
+g:current_compiler = 'context'
+
if get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) ||
- \ (!filereadable('Makefile') && !filereadable('makefile'))
- let current_compiler = 'context'
- " The following assumes that the current working directory is set to the
- " directory of the file to be typeset
- let &l:makeprg = get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun'))
- \ . ' --script context --autogenerate --nonstopmode --synctex='
- \ . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0')
- \ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', ''))
- \ . ' ' . shellescape(expand('%:p:t'))
+ (!filereadable('Makefile') && !filereadable('makefile'))
+ &l:makeprg = join(context.ConTeXtCmd(shellescape(expand('%:p:t'))), ' ')
else
- let current_compiler = 'make'
+ g:current_compiler = 'make'
endif
-let b:context_errorformat = ''
- \ . '%-Popen source%.%#> %f,'
- \ . '%-Qclose source%.%#> %f,'
- \ . "%-Popen source%.%#name '%f',"
- \ . "%-Qclose source%.%#name '%f',"
- \ . '%Etex %trror%.%#mp error on line %l in file %f:%.%#,'
- \ . 'tex %trror%.%#error on line %l in file %f: %m,'
- \ . '%Elua %trror%.%#error on line %l in file %f:,'
- \ . '%+Emetapost %#> error: %#,'
- \ . '! error: %#%m,'
- \ . '%-C %#,'
- \ . '%C! %m,'
- \ . '%Z[ctxlua]%m,'
- \ . '%+C<*> %.%#,'
- \ . '%-C%.%#,'
- \ . '%Z...%m,'
- \ . '%-Zno-error,'
- \ . '%-G%.%#' " Skip remaining lines
-
-execute 'CompilerSet errorformat=' . escape(b:context_errorformat, ' ')
-
-let &cpo = s:keepcpo
-unlet s:keepcpo
+const context_errorformat = join([
+ "%-Popen source%.%#> %f",
+ "%-Qclose source%.%#> %f",
+ "%-Popen source%.%#name '%f'",
+ "%-Qclose source%.%#name '%f'",
+ "tex %trror%.%#error on line %l in file %f: %m",
+ "%Elua %trror%.%#error on line %l in file %f:",
+ "%+Emetapost %#> error: %#",
+ "%Emetafun%.%#error: %m",
+ "! error: %#%m",
+ "%-C %#",
+ "%C! %m",
+ "%Z[ctxlua]%m",
+ "%+C<*> %.%#",
+ "%-C%.%#",
+ "%Z...%m",
+ "%-Zno-error",
+ "%-G%.%#"], ",")
+
+execute 'CompilerSet errorformat=' .. escape(context_errorformat, ' ')
+
+# vim: sw=2 fdm=marker