diff runtime/syntax/mgl.vim @ 680:5b101ff9d4c4 v7.0203

updated for version 7.0203
author vimboss
date Tue, 21 Feb 2006 22:12:05 +0000
parents
children 7bc41231fbc7
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/mgl.vim
@@ -0,0 +1,128 @@
+" Vim syntax file
+" Language:	MGL
+" Version: 1.0
+" Last Change:	2006 Feb 21
+" Maintainer:  Gero Kuhlmann <gero@gkminix.han.de>
+"
+" $Id$
+"
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+
+syn sync lines=250
+
+syn keyword mglBoolean		true false
+syn keyword mglConditional	if else then
+syn keyword mglConstant		nil
+syn keyword mglPredefined	maxint
+syn keyword mglLabel		case goto label
+syn keyword mglOperator		to downto in of with
+syn keyword mglOperator		and not or xor div mod
+syn keyword mglRepeat		do for repeat while to until
+syn keyword mglStatement	procedure function break continue return restart
+syn keyword mglStatement	program begin end const var type
+syn keyword mglStruct		record
+syn keyword mglType		integer string char boolean char ipaddr array
+
+
+" String
+if !exists("mgl_one_line_string")
+  syn region  mglString matchgroup=mglString start=+'+ end=+'+ contains=mglStringEscape
+  syn region  mglString matchgroup=mglString start=+"+ end=+"+ contains=mglStringEscapeGPC
+else
+  "wrong strings
+  syn region  mglStringError matchgroup=mglStringError start=+'+ end=+'+ end=+$+ contains=mglStringEscape
+  syn region  mglStringError matchgroup=mglStringError start=+"+ end=+"+ end=+$+ contains=mglStringEscapeGPC
+  "right strings
+  syn region  mglString matchgroup=mglString start=+'+ end=+'+ oneline contains=mglStringEscape
+  syn region  mglString matchgroup=mglString start=+"+ end=+"+ oneline contains=mglStringEscapeGPC
+end
+syn match   mglStringEscape	contained "''"
+syn match   mglStringEscapeGPC	contained '""'
+
+
+if exists("mgl_symbol_operator")
+  syn match   mglSymbolOperator		"[+\-/*=\%]"
+  syn match   mglSymbolOperator		"[<>]=\="
+  syn match   mglSymbolOperator		"<>"
+  syn match   mglSymbolOperator		":="
+  syn match   mglSymbolOperator		"[()]"
+  syn match   mglSymbolOperator		"\.\."
+  syn match   mglMatrixDelimiter	"(."
+  syn match   mglMatrixDelimiter	".)"
+  syn match   mglMatrixDelimiter	"[][]"
+endif
+
+syn match  mglNumber	"-\=\<\d\+\>"
+syn match  mglHexNumber	"\$[0-9a-fA-F]\+\>"
+syn match  mglCharacter	"\#[0-9]\+\>"
+syn match  mglIpAddr	"[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\>"
+
+syn region mglComment	start="(\*"  end="\*)"
+syn region mglComment	start="{"  end="}"
+syn region mglComment	start="//"  end="$"
+
+if !exists("mgl_no_functions")
+  syn keyword mglFunction	dispose new
+  syn keyword mglFunction	get load print select
+  syn keyword mglFunction	odd pred succ
+  syn keyword mglFunction	chr ord abs sqr
+  syn keyword mglFunction	exit
+  syn keyword mglOperator	at timeout
+endif
+
+
+syn region mglPreProc	start="(\*\$"  end="\*)"
+syn region mglPreProc	start="{\$"  end="}"
+
+syn keyword mglException	try except raise
+syn keyword mglPredefined	exception
+
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_mgl_syn_inits")
+  if version < 508
+    let did_mgl_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink mglBoolean		Boolean
+  HiLink mglComment		Comment
+  HiLink mglConditional		Conditional
+  HiLink mglConstant		Constant
+  HiLink mglException		Exception
+  HiLink mglFunction		Function
+  HiLink mglLabel		Label
+  HiLink mglMatrixDelimiter	Identifier
+  HiLink mglNumber		Number
+  HiLink mglHexNumber		Number
+  HiLink mglCharacter		Number
+  HiLink mglIpAddr		Number
+  HiLink mglOperator		Operator
+  HiLink mglPredefined		mglFunction
+  HiLink mglPreProc		PreProc
+  HiLink mglRepeat		Repeat
+  HiLink mglStatement		Statement
+  HiLink mglString		String
+  HiLink mglStringEscape	Special
+  HiLink mglStringEscapeGPC	Special
+  HiLink mglStringError		Error
+  HiLink mglStruct		mglStatement
+  HiLink mglSymbolOperator	mglOperator
+  HiLink mglType		Type
+
+  delcommand HiLink
+endif
+
+
+let b:current_syntax = "mgl"
+
+" vim: ts=8 sw=2