neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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: