view runtime/compiler/context.vim @ 22862:6d50182e7e24 v8.2.1978

patch 8.2.1978: making a mapping work in all modes is complicated Commit: https://github.com/vim/vim/commit/957cf67d50516ba98716f59c9e1cb6412ec1535d Author: Bram Moolenaar <Bram@vim.org> Date: Thu Nov 12 14:21:06 2020 +0100 patch 8.2.1978: making a mapping work in all modes is complicated Problem: Making a mapping work in all modes is complicated. Solution: Add the <Cmd> special key. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/7282, closes 4784, based on patch by Bjorn Linse)
author Bram Moolenaar <Bram@vim.org>
date Thu, 12 Nov 2020 14:30:04 +0100
parents 07d2b5a3b7cc
children 2acb87ee55fc
line wrap: on
line source

" Vim compiler file
" Compiler:     ConTeXt typesetting engine
" Maintainer:   Nicola Vitacolonna <nvitacolonna@gmail.com>
" Last Change:  2016 Oct 21

if exists("current_compiler")
  finish
endif
let s:keepcpo= &cpo
set cpo&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)
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'))
else
  let 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