xref: /vim-8.2.3635/runtime/syntax/mgl.vim (revision f37506f6)
1238a5649SBram Moolenaar" Vim syntax file
2238a5649SBram Moolenaar" Language:	MGL
3238a5649SBram Moolenaar" Version: 1.0
4238a5649SBram Moolenaar" Last Change:	2006 Feb 21
5238a5649SBram Moolenaar" Maintainer:  Gero Kuhlmann <[email protected]>
6238a5649SBram Moolenaar"
75c73622aSBram Moolenaar" $Id: mgl.vim,v 1.1 2006/02/21 22:08:20 vimboss Exp $
8238a5649SBram Moolenaar"
989bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1089bcfda6SBram Moolenaarif exists("b:current_syntax")
11238a5649SBram Moolenaar  finish
12238a5649SBram Moolenaarendif
13238a5649SBram Moolenaar
14238a5649SBram Moolenaar
15238a5649SBram Moolenaarsyn sync lines=250
16238a5649SBram Moolenaar
17238a5649SBram Moolenaarsyn keyword mglBoolean		true false
18238a5649SBram Moolenaarsyn keyword mglConditional	if else then
19238a5649SBram Moolenaarsyn keyword mglConstant		nil
20238a5649SBram Moolenaarsyn keyword mglPredefined	maxint
21238a5649SBram Moolenaarsyn keyword mglLabel		case goto label
22238a5649SBram Moolenaarsyn keyword mglOperator		to downto in of with
23238a5649SBram Moolenaarsyn keyword mglOperator		and not or xor div mod
24238a5649SBram Moolenaarsyn keyword mglRepeat		do for repeat while to until
25238a5649SBram Moolenaarsyn keyword mglStatement	procedure function break continue return restart
26238a5649SBram Moolenaarsyn keyword mglStatement	program begin end const var type
27238a5649SBram Moolenaarsyn keyword mglStruct		record
28238a5649SBram Moolenaarsyn keyword mglType		integer string char boolean char ipaddr array
29238a5649SBram Moolenaar
30238a5649SBram Moolenaar
31238a5649SBram Moolenaar" String
32238a5649SBram Moolenaarif !exists("mgl_one_line_string")
33238a5649SBram Moolenaar  syn region  mglString matchgroup=mglString start=+'+ end=+'+ contains=mglStringEscape
34238a5649SBram Moolenaar  syn region  mglString matchgroup=mglString start=+"+ end=+"+ contains=mglStringEscapeGPC
35238a5649SBram Moolenaarelse
36238a5649SBram Moolenaar  "wrong strings
37238a5649SBram Moolenaar  syn region  mglStringError matchgroup=mglStringError start=+'+ end=+'+ end=+$+ contains=mglStringEscape
38238a5649SBram Moolenaar  syn region  mglStringError matchgroup=mglStringError start=+"+ end=+"+ end=+$+ contains=mglStringEscapeGPC
39238a5649SBram Moolenaar  "right strings
40238a5649SBram Moolenaar  syn region  mglString matchgroup=mglString start=+'+ end=+'+ oneline contains=mglStringEscape
41238a5649SBram Moolenaar  syn region  mglString matchgroup=mglString start=+"+ end=+"+ oneline contains=mglStringEscapeGPC
42238a5649SBram Moolenaarend
43238a5649SBram Moolenaarsyn match   mglStringEscape	contained "''"
44238a5649SBram Moolenaarsyn match   mglStringEscapeGPC	contained '""'
45238a5649SBram Moolenaar
46238a5649SBram Moolenaar
47238a5649SBram Moolenaarif exists("mgl_symbol_operator")
48238a5649SBram Moolenaar  syn match   mglSymbolOperator		"[+\-/*=\%]"
49238a5649SBram Moolenaar  syn match   mglSymbolOperator		"[<>]=\="
50238a5649SBram Moolenaar  syn match   mglSymbolOperator		"<>"
51238a5649SBram Moolenaar  syn match   mglSymbolOperator		":="
52238a5649SBram Moolenaar  syn match   mglSymbolOperator		"[()]"
53238a5649SBram Moolenaar  syn match   mglSymbolOperator		"\.\."
54238a5649SBram Moolenaar  syn match   mglMatrixDelimiter	"(."
55238a5649SBram Moolenaar  syn match   mglMatrixDelimiter	".)"
56238a5649SBram Moolenaar  syn match   mglMatrixDelimiter	"[][]"
57238a5649SBram Moolenaarendif
58238a5649SBram Moolenaar
59238a5649SBram Moolenaarsyn match  mglNumber	"-\=\<\d\+\>"
60238a5649SBram Moolenaarsyn match  mglHexNumber	"\$[0-9a-fA-F]\+\>"
61238a5649SBram Moolenaarsyn match  mglCharacter	"\#[0-9]\+\>"
62238a5649SBram Moolenaarsyn match  mglIpAddr	"[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\>"
63238a5649SBram Moolenaar
64238a5649SBram Moolenaarsyn region mglComment	start="(\*"  end="\*)"
65238a5649SBram Moolenaarsyn region mglComment	start="{"  end="}"
66238a5649SBram Moolenaarsyn region mglComment	start="//"  end="$"
67238a5649SBram Moolenaar
68238a5649SBram Moolenaarif !exists("mgl_no_functions")
69238a5649SBram Moolenaar  syn keyword mglFunction	dispose new
70238a5649SBram Moolenaar  syn keyword mglFunction	get load print select
71238a5649SBram Moolenaar  syn keyword mglFunction	odd pred succ
72238a5649SBram Moolenaar  syn keyword mglFunction	chr ord abs sqr
73238a5649SBram Moolenaar  syn keyword mglFunction	exit
74238a5649SBram Moolenaar  syn keyword mglOperator	at timeout
75238a5649SBram Moolenaarendif
76238a5649SBram Moolenaar
77238a5649SBram Moolenaar
78238a5649SBram Moolenaarsyn region mglPreProc	start="(\*\$"  end="\*)"
79238a5649SBram Moolenaarsyn region mglPreProc	start="{\$"  end="}"
80238a5649SBram Moolenaar
81238a5649SBram Moolenaarsyn keyword mglException	try except raise
82238a5649SBram Moolenaarsyn keyword mglPredefined	exception
83238a5649SBram Moolenaar
84238a5649SBram Moolenaar
85238a5649SBram Moolenaar" Define the default highlighting.
8689bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
87238a5649SBram Moolenaar
88*f37506f6SBram Moolenaarhi def link mglBoolean		Boolean
89*f37506f6SBram Moolenaarhi def link mglComment		Comment
90*f37506f6SBram Moolenaarhi def link mglConditional		Conditional
91*f37506f6SBram Moolenaarhi def link mglConstant		Constant
92*f37506f6SBram Moolenaarhi def link mglException		Exception
93*f37506f6SBram Moolenaarhi def link mglFunction		Function
94*f37506f6SBram Moolenaarhi def link mglLabel		Label
95*f37506f6SBram Moolenaarhi def link mglMatrixDelimiter	Identifier
96*f37506f6SBram Moolenaarhi def link mglNumber		Number
97*f37506f6SBram Moolenaarhi def link mglHexNumber		Number
98*f37506f6SBram Moolenaarhi def link mglCharacter		Number
99*f37506f6SBram Moolenaarhi def link mglIpAddr		Number
100*f37506f6SBram Moolenaarhi def link mglOperator		Operator
101*f37506f6SBram Moolenaarhi def link mglPredefined		mglFunction
102*f37506f6SBram Moolenaarhi def link mglPreProc		PreProc
103*f37506f6SBram Moolenaarhi def link mglRepeat		Repeat
104*f37506f6SBram Moolenaarhi def link mglStatement		Statement
105*f37506f6SBram Moolenaarhi def link mglString		String
106*f37506f6SBram Moolenaarhi def link mglStringEscape	Special
107*f37506f6SBram Moolenaarhi def link mglStringEscapeGPC	Special
108*f37506f6SBram Moolenaarhi def link mglStringError		Error
109*f37506f6SBram Moolenaarhi def link mglStruct		mglStatement
110*f37506f6SBram Moolenaarhi def link mglSymbolOperator	mglOperator
111*f37506f6SBram Moolenaarhi def link mglType		Type
112238a5649SBram Moolenaar
113238a5649SBram Moolenaar
114238a5649SBram Moolenaar
115238a5649SBram Moolenaarlet b:current_syntax = "mgl"
116238a5649SBram Moolenaar
117238a5649SBram Moolenaar" vim: ts=8 sw=2
118