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