mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	closes: vim/vim#16854
4fa2dd2405
Co-authored-by: Konfekt <Konfekt@users.noreply.github.com>
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" 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 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 s: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'))
 | 
						|
  " CompilerSet makeprg=context
 | 
						|
  execute 'CompilerSet makeprg=' .. escape(s:makeprg, ' ')
 | 
						|
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
 |