1*46fceaaaSBram Moolenaar" Vim compiler file 2*46fceaaaSBram Moolenaar" Compiler: ConTeXt typesetting engine 3*46fceaaaSBram Moolenaar" Maintainer: Nicola Vitacolonna <[email protected]> 4*46fceaaaSBram Moolenaar" Last Change: 2016 Oct 21 5*46fceaaaSBram Moolenaar 6*46fceaaaSBram Moolenaarif exists("current_compiler") 7*46fceaaaSBram Moolenaar finish 8*46fceaaaSBram Moolenaarendif 9*46fceaaaSBram Moolenaarlet s:keepcpo= &cpo 10*46fceaaaSBram Moolenaarset cpo&vim 11*46fceaaaSBram Moolenaar 12*46fceaaaSBram Moolenaarif exists(":CompilerSet") != 2 " older Vim always used :setlocal 13*46fceaaaSBram Moolenaar command -nargs=* CompilerSet setlocal <args> 14*46fceaaaSBram Moolenaarendif 15*46fceaaaSBram Moolenaar 16*46fceaaaSBram Moolenaar" If makefile exists and we are not asked to ignore it, we use standard make 17*46fceaaaSBram Moolenaar" (do not redefine makeprg) 18*46fceaaaSBram Moolenaarif get(b:, 'context_ignore_makefile', get(g:, 'context_ignore_makefile', 0)) || 19*46fceaaaSBram Moolenaar \ (!filereadable('Makefile') && !filereadable('makefile')) 20*46fceaaaSBram Moolenaar let current_compiler = 'context' 21*46fceaaaSBram Moolenaar " The following assumes that the current working directory is set to the 22*46fceaaaSBram Moolenaar " directory of the file to be typeset 23*46fceaaaSBram Moolenaar let &l:makeprg = get(b:, 'context_mtxrun', get(g:, 'context_mtxrun', 'mtxrun')) 24*46fceaaaSBram Moolenaar \ . ' --script context --autogenerate --nonstopmode --synctex=' 25*46fceaaaSBram Moolenaar \ . (get(b:, 'context_synctex', get(g:, 'context_synctex', 0)) ? '1' : '0') 26*46fceaaaSBram Moolenaar \ . ' ' . get(b:, 'context_extra_options', get(g:, 'context_extra_options', '')) 27*46fceaaaSBram Moolenaar \ . ' ' . shellescape(expand('%:p:t')) 28*46fceaaaSBram Moolenaarelse 29*46fceaaaSBram Moolenaar let current_compiler = 'make' 30*46fceaaaSBram Moolenaarendif 31*46fceaaaSBram Moolenaar 32*46fceaaaSBram Moolenaarlet b:context_errorformat = '' 33*46fceaaaSBram Moolenaar \ . '%-Popen source%.%#> %f,' 34*46fceaaaSBram Moolenaar \ . '%-Qclose source%.%#> %f,' 35*46fceaaaSBram Moolenaar \ . "%-Popen source%.%#name '%f'," 36*46fceaaaSBram Moolenaar \ . "%-Qclose source%.%#name '%f'," 37*46fceaaaSBram Moolenaar \ . '%Etex %trror%.%#mp error on line %l in file %f:%.%#,' 38*46fceaaaSBram Moolenaar \ . 'tex %trror%.%#error on line %l in file %f: %m,' 39*46fceaaaSBram Moolenaar \ . '%Elua %trror%.%#error on line %l in file %f:,' 40*46fceaaaSBram Moolenaar \ . '%+Emetapost %#> error: %#,' 41*46fceaaaSBram Moolenaar \ . '! error: %#%m,' 42*46fceaaaSBram Moolenaar \ . '%-C %#,' 43*46fceaaaSBram Moolenaar \ . '%C! %m,' 44*46fceaaaSBram Moolenaar \ . '%Z[ctxlua]%m,' 45*46fceaaaSBram Moolenaar \ . '%+C<*> %.%#,' 46*46fceaaaSBram Moolenaar \ . '%-C%.%#,' 47*46fceaaaSBram Moolenaar \ . '%Z...%m,' 48*46fceaaaSBram Moolenaar \ . '%-Zno-error,' 49*46fceaaaSBram Moolenaar \ . '%-G%.%#' " Skip remaining lines 50*46fceaaaSBram Moolenaar 51*46fceaaaSBram Moolenaarexecute 'CompilerSet errorformat=' . escape(b:context_errorformat, ' ') 52*46fceaaaSBram Moolenaar 53*46fceaaaSBram Moolenaarlet &cpo = s:keepcpo 54*46fceaaaSBram Moolenaarunlet s:keepcpo 55