1*56994d21SBram Moolenaar" Vim syntax file 2*56994d21SBram Moolenaar" Language: Modula-3 Quake 3*56994d21SBram Moolenaar" Maintainer: Doug Kearns <[email protected]> 4*56994d21SBram Moolenaar" Last Change: 2021 April 15 5*56994d21SBram Moolenaar 6*56994d21SBram Moolenaarif exists("b:current_syntax") 7*56994d21SBram Moolenaar finish 8*56994d21SBram Moolenaarendif 9*56994d21SBram Moolenaar 10*56994d21SBram Moolenaar" Keywords 11*56994d21SBram Moolenaarsyn keyword m3quakeKeyword else end foreach if in is local or proc readonly 12*56994d21SBram Moolenaarsyn keyword m3quakeKeyword return 13*56994d21SBram Moolenaar 14*56994d21SBram Moolenaar" Builtin procedures {{{ 15*56994d21SBram Moolenaar" Generated from m3-sys/m3quake/src/QMachine.m3 16*56994d21SBram Moolenaarsyn keyword m3quakeProcedure arglist cp_if defined empty equal error escape 17*56994d21SBram Moolenaarsyn keyword m3quakeProcedure exec cm3_exec file format include make_dir 18*56994d21SBram Moolenaarsyn keyword m3quakeProcedure normalize path stale try_exec try_cm3_exec 19*56994d21SBram Moolenaarsyn keyword m3quakeProcedure unlink_file write datetime date datestamp 20*56994d21SBram Moolenaarsyn keyword m3quakeProcedure TRACE_INSTR eval_func hostname 21*56994d21SBram Moolenaar 22*56994d21SBram Moolenaarsyn keyword m3quakeProcedure pushd popd cd getwd 23*56994d21SBram Moolenaar 24*56994d21SBram Moolenaarsyn keyword m3quakeProcedure quake 25*56994d21SBram Moolenaar 26*56994d21SBram Moolenaarsyn keyword m3quakeProcedure q_exec q_exec_put q_exec_get 27*56994d21SBram Moolenaar 28*56994d21SBram Moolenaarsyn keyword m3quakeProcedure fs_exists fs_readable fs_writable fs_executable 29*56994d21SBram Moolenaarsyn keyword m3quakeProcedure fs_isdir fs_isfile fs_contents fs_putfile 30*56994d21SBram Moolenaarsyn keyword m3quakeProcedure fs_mkdir fs_touch fs_lsdirs fs_lsfiles fs_rmdir 31*56994d21SBram Moolenaarsyn keyword m3quakeProcedure fs_rmfile fs_rmrec fs_cp 32*56994d21SBram Moolenaar 33*56994d21SBram Moolenaarsyn keyword m3quakeProcedure pn_valid pn_decompose pn_compose pn_absolute 34*56994d21SBram Moolenaarsyn keyword m3quakeProcedure pn_prefix pn_last pn_base pn_lastbase pn_lastext 35*56994d21SBram Moolenaarsyn keyword m3quakeProcedure pn_join pn_join2 pn_replace_ext pn_parent 36*56994d21SBram Moolenaarsyn keyword m3quakeProcedure pn_current 37*56994d21SBram Moolenaar 38*56994d21SBram Moolenaarsyn keyword m3quakeProcedure len 39*56994d21SBram Moolenaar 40*56994d21SBram Moolenaarsyn keyword m3quakeProcedure split sub skipl skipr squeeze compress pos 41*56994d21SBram Moolenaarsyn keyword m3quakeProcedure tcontains bool encode decode subst_chars 42*56994d21SBram Moolenaarsyn keyword m3quakeProcedure del_chars subst subst_env add_prefix add_suffix 43*56994d21SBram Moolenaar" }}} 44*56994d21SBram Moolenaar 45*56994d21SBram Moolenaar" Identifiers 46*56994d21SBram Moolenaarsyn match m3quakeEnvVariable "$\h\w\+" 47*56994d21SBram Moolenaar 48*56994d21SBram Moolenaar" Operators 49*56994d21SBram Moolenaarsyn match m3quakeOperator "&" 50*56994d21SBram Moolenaarsyn match m3quakeOperator "\<\%(contains\|not\|and\|or\)\>" 51*56994d21SBram Moolenaar 52*56994d21SBram Moolenaar" Strings 53*56994d21SBram Moolenaarsyn match m3quakeEscape "\\[\\nrtbf"]" contained display 54*56994d21SBram Moolenaarsyn region m3quakeString start=+"+ end=+"+ contains=m3quakeEscape 55*56994d21SBram Moolenaar 56*56994d21SBram Moolenaar" Comments 57*56994d21SBram Moolenaarsyn keyword m3quakeTodo TODO FIXME XXX contained 58*56994d21SBram Moolenaarsyn region m3quakeComment start="%" end="$" contains=m3quakeTodo,@Spell 59*56994d21SBram Moolenaarsyn region m3quakeComment start="/\*" end="\*/" contains=m3quakeTodo,@Spell 60*56994d21SBram Moolenaar 61*56994d21SBram Moolenaar" Default highlighting 62*56994d21SBram Moolenaarhi def link m3quakeCommand Statement 63*56994d21SBram Moolenaarhi def link m3quakeComment Comment 64*56994d21SBram Moolenaarhi def link m3quakeEnvVariable Identifier 65*56994d21SBram Moolenaarhi def link m3quakeEscape Special 66*56994d21SBram Moolenaarhi def link m3quakeKeyword Keyword 67*56994d21SBram Moolenaarhi def link m3quakeOperator Operator 68*56994d21SBram Moolenaarhi def link m3quakeProcedure Function 69*56994d21SBram Moolenaarhi def link m3quakeString String 70*56994d21SBram Moolenaarhi def link m3quakeTodo Todo 71*56994d21SBram Moolenaar 72*56994d21SBram Moolenaarlet b:current_syntax = "m3quake" 73*56994d21SBram Moolenaar 74*56994d21SBram Moolenaar" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: 75