mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
	
	
		
			75 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			75 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	Modula-3 Quake | ||
|  | " Maintainer:	Doug Kearns <dougkearns@gmail.com> | ||
|  | " Last Change:	2021 April 15 | ||
|  | 
 | ||
|  | if exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | " Keywords | ||
|  | syn keyword m3quakeKeyword else end foreach if in is local or proc readonly | ||
|  | syn keyword m3quakeKeyword return | ||
|  | 
 | ||
|  | " Builtin procedures {{{ | ||
|  | " Generated from m3-sys/m3quake/src/QMachine.m3 | ||
|  | syn keyword m3quakeProcedure arglist cp_if defined empty equal error escape | ||
|  | syn keyword m3quakeProcedure exec cm3_exec file format include make_dir | ||
|  | syn keyword m3quakeProcedure normalize path stale try_exec try_cm3_exec | ||
|  | syn keyword m3quakeProcedure unlink_file write datetime date datestamp | ||
|  | syn keyword m3quakeProcedure TRACE_INSTR eval_func hostname | ||
|  | 
 | ||
|  | syn keyword m3quakeProcedure pushd popd cd getwd | ||
|  | 
 | ||
|  | syn keyword m3quakeProcedure quake | ||
|  | 
 | ||
|  | syn keyword m3quakeProcedure q_exec q_exec_put q_exec_get | ||
|  | 
 | ||
|  | syn keyword m3quakeProcedure fs_exists fs_readable fs_writable fs_executable | ||
|  | syn keyword m3quakeProcedure fs_isdir fs_isfile fs_contents fs_putfile | ||
|  | syn keyword m3quakeProcedure fs_mkdir fs_touch fs_lsdirs fs_lsfiles fs_rmdir | ||
|  | syn keyword m3quakeProcedure fs_rmfile fs_rmrec fs_cp | ||
|  | 
 | ||
|  | syn keyword m3quakeProcedure pn_valid pn_decompose pn_compose pn_absolute | ||
|  | syn keyword m3quakeProcedure pn_prefix pn_last pn_base pn_lastbase pn_lastext | ||
|  | syn keyword m3quakeProcedure pn_join pn_join2 pn_replace_ext pn_parent | ||
|  | syn keyword m3quakeProcedure pn_current | ||
|  | 
 | ||
|  | syn keyword m3quakeProcedure len | ||
|  | 
 | ||
|  | syn keyword m3quakeProcedure split sub skipl skipr squeeze compress pos | ||
|  | syn keyword m3quakeProcedure tcontains bool encode decode subst_chars | ||
|  | syn keyword m3quakeProcedure del_chars subst subst_env add_prefix add_suffix | ||
|  | " }}} | ||
|  | 
 | ||
|  | " Identifiers | ||
|  | syn match   m3quakeEnvVariable "$\h\w\+" | ||
|  | 
 | ||
|  | " Operators | ||
|  | syn match m3quakeOperator "&" | ||
|  | syn match m3quakeOperator "\<\%(contains\|not\|and\|or\)\>" | ||
|  | 
 | ||
|  | " Strings | ||
|  | syn match  m3quakeEscape "\\[\\nrtbf"]" contained display | ||
|  | syn region m3quakeString start=+"+ end=+"+ contains=m3quakeEscape | ||
|  | 
 | ||
|  | " Comments | ||
|  | syn keyword m3quakeTodo	 TODO FIXME XXX contained | ||
|  | syn region  m3quakeComment start="%"   end="$"	 contains=m3quakeTodo,@Spell | ||
|  | syn region  m3quakeComment start="/\*" end="\*/" contains=m3quakeTodo,@Spell | ||
|  | 
 | ||
|  | " Default highlighting | ||
|  | hi def link m3quakeCommand     Statement | ||
|  | hi def link m3quakeComment     Comment | ||
|  | hi def link m3quakeEnvVariable Identifier | ||
|  | hi def link m3quakeEscape      Special | ||
|  | hi def link m3quakeKeyword     Keyword | ||
|  | hi def link m3quakeOperator    Operator | ||
|  | hi def link m3quakeProcedure   Function | ||
|  | hi def link m3quakeString      String | ||
|  | hi def link m3quakeTodo	       Todo | ||
|  | 
 | ||
|  | let b:current_syntax = "m3quake" | ||
|  | 
 | ||
|  | " vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: |