diff runtime/compiler/context.vim @ 29756:2acb87ee55fc

Update runtime files Commit: https://github.com/vim/vim/commit/e1f3fd1d02e3f5fe6d2b6d82687c6846b8e500f8 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Aug 15 18:51:32 2022 +0100 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Mon, 15 Aug 2022 20:00:05 +0200
parents 07d2b5a3b7cc
children d81556766132
line wrap: on
line diff
--- 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
+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(b:context_errorformat, ' ')
+execute 'CompilerSet errorformat=' .. escape(context_errorformat, ' ')
 
-let &cpo = s:keepcpo
-unlet s:keepcpo
+# vim: sw=2 fdm=marker