blob: 4fd718e05b82b44eb4858fda22e5b9d338d674f0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
" Vim syntax file
" Language: MGL
" Version: 1.0
" Last Change: 2006 Feb 21
" Maintainer: Gero Kuhlmann <gero@gkminix.han.de>
"
" $Id: mgl.vim,v 1.1 2006/02/21 22:08:20 vimboss Exp $
"
" quit when a syntax file was already loaded
if 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.
" Only when an item doesn't have highlighting yet
command -nargs=+ HiLink hi def link <args>
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
let b:current_syntax = "mgl"
" vim: ts=8 sw=2
|