annotate runtime/syntax/pascal.vim @ 7:3fc0f57ecb91 v7.0001

updated for version 7.0001
author vimboss
date Sun, 13 Jun 2004 20:20:40 +0000
parents
children f6033dcbaf31
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Language: Pascal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 " Version: 2.7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 " Last Change: 2003 May 11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 " Maintainer: Xavier Crégut <xavier.cregut@enseeiht.fr>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 " Previous Maintainer: Mario Eusebio <bio@dq.fct.unl.pt>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " Contributors: Tim Chase <tchase@csc.com>, Stas Grabois <stsi@vtrails.com>,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 " Mazen NEIFER <mazen.neifer.2001@supaero.fr>,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 " Klaus Hast <Klaus.Hast@arcor.net>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 " For version 5.x: Clear all syntax items
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 " For version 6.x: Quit when a syntax file was already loaded
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 if version < 600
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 syntax clear
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 elseif exists("b:current_syntax")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 syn case ignore
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 syn sync lines=250
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 syn keyword pascalBoolean true false
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 syn keyword pascalConditional if else then
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 syn keyword pascalConstant nil maxint
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 syn keyword pascalLabel case goto label
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 syn keyword pascalOperator and div downto in mod not of or packed with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 syn keyword pascalRepeat do for do repeat while to until
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 syn keyword pascalStatement procedure function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 syn keyword pascalStatement program begin end const var type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 syn keyword pascalStruct record
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 syn keyword pascalType array boolean char integer file pointer real set
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 syn keyword pascalType string text variant
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 syn keyword pascalTodo contained TODO
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 " String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 if !exists("pascal_one_line_string")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 syn region pascalString matchgroup=pascalString start=+'+ end=+'+ contains=pascalStringEscape
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 if exists("pascal_gpc")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 syn region pascalString matchgroup=pascalString start=+"+ end=+"+ contains=pascalStringEscapeGPC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 syn region pascalStringError matchgroup=pascalStringError start=+"+ end=+"+ contains=pascalStringEscape
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 "wrong strings
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 syn region pascalStringError matchgroup=pascalStringError start=+'+ end=+'+ end=+$+ contains=pascalStringEscape
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 if exists("pascal_gpc")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 syn region pascalStringError matchgroup=pascalStringError start=+"+ end=+"+ end=+$+ contains=pascalStringEscapeGPC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 syn region pascalStringError matchgroup=pascalStringError start=+"+ end=+"+ end=+$+ contains=pascalStringEscape
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 "right strings
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 syn region pascalString matchgroup=pascalString start=+'+ end=+'+ oneline contains=pascalStringEscape
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 " To see the start and end of strings:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 " syn region pascalString matchgroup=pascalStringError start=+'+ end=+'+ oneline contains=pascalStringEscape
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 if exists("pascal_gpc")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 syn region pascalString matchgroup=pascalString start=+"+ end=+"+ oneline contains=pascalStringEscapeGPC
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 syn region pascalStringError matchgroup=pascalStringError start=+"+ end=+"+ oneline contains=pascalStringEscape
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 end
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 syn match pascalStringEscape contained "''"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 syn match pascalStringEscapeGPC contained '""'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 " syn match pascalIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 if exists("pascal_symbol_operator")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 syn match pascalSymbolOperator "[+\-/*=]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 syn match pascalSymbolOperator "[<>]=\="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 syn match pascalSymbolOperator "<>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 syn match pascalSymbolOperator ":="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 syn match pascalSymbolOperator "[()]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 syn match pascalSymbolOperator "\.\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 syn match pascalSymbolOperator "[\^.]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 syn match pascalMatrixDelimiter "[][]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 "if you prefer you can highlight the range
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 "syn match pascalMatrixDelimiter "[\d\+\.\.\d\+]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 syn match pascalNumber "-\=\<\d\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 syn match pascalFloat "-\=\<\d\+\.\d\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 syn match pascalFloat "-\=\<\d\+\.\d\+[eE]-\=\d\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 syn match pascalHexNumber "\$[0-9a-fA-F]\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 if exists("pascal_no_tabs")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 syn match pascalShowTab "\t"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 syn region pascalComment start="(\*" end="\*)" contains=pascalTodo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 syn region pascalComment start="{" end="}" contains=pascalTodo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 if !exists("pascal_no_functions")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 " array functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 syn keyword pascalFunction pack unpack
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 " memory function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 syn keyword pascalFunction Dispose New
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 " math functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 syn keyword pascalFunction Abs Arctan Cos Exp Ln Sin Sqr Sqrt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 " file functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 syn keyword pascalFunction Eof Eoln Write Writeln
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 syn keyword pascalPredefined Input Output
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 if exists("pascal_traditional")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 " These functions do not seem to be defined in Turbo Pascal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 syn keyword pascalFunction Get Page Put
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 " ordinal functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 syn keyword pascalFunction Odd Pred Succ
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 " transfert functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 syn keyword pascalFunction Chr Ord Round Trunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 if !exists("pascal_traditional")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 syn keyword pascalStatement constructor destructor implementation inherited
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 syn keyword pascalStatement interface unit uses
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 syn keyword pascalModifier absolute assembler external far forward inline
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 syn keyword pascalModifier interrupt near virtual
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 syn keyword pascalAcces private public
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 syn keyword pascalStruct object
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 syn keyword pascalOperator shl shr xor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 syn region pascalPreProc start="(\*\$" end="\*)" contains=pascalTodo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 syn region pascalPreProc start="{\$" end="}"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 syn region pascalAsm matchgroup=pascalAsmKey start="\<asm\>" end="\<end\>" contains=pascalComment,pascalPreProc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 syn keyword pascalType ShortInt LongInt Byte Word
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 syn keyword pascalType ByteBool WordBool LongBool
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 syn keyword pascalType Cardinal LongWord
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 syn keyword pascalType Single Double Extended Comp
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 syn keyword pascalType PChar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 if !exists ("pascal_fpc")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 syn keyword pascalPredefined Result
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 if exists("pascal_fpc")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 syn region pascalComment start="//" end="$"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 syn keyword pascalStatement fail otherwise operator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 syn keyword pascalDirective popstack
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 syn keyword pascalPredefined self
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 syn keyword pascalType ShortString AnsiString WideString
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 if exists("pascal_gpc")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 syn keyword pascalType SmallInt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163 syn keyword pascalType AnsiChar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 syn keyword pascalType PAnsiChar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 if exists("pascal_delphi")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 syn region pascalComment start="//" end="$" contains=pascalTodo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 syn keyword pascalType SmallInt Int64
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 syn keyword pascalType Real48 Currency
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 syn keyword pascalType AnsiChar WideChar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 syn keyword pascalType ShortString AnsiString WideString
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 syn keyword pascalType PAnsiChar PWideChar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 syn match pascalFloat "-\=\<\d\+\.\d\+[dD]-\=\d\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 syn match pascalStringEscape contained "#[12][0-9]\=[0-9]\="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 syn keyword pascalStruct class dispinterface
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 syn keyword pascalException try except raise at on finally
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 syn keyword pascalStatement out
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179 syn keyword pascalStatement library package
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 syn keyword pascalStatement initialization finalization uses exports
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 syn keyword pascalStatement property out resourcestring threadvar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 syn keyword pascalModifier contains
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183 syn keyword pascalModifier overridden reintroduce abstract
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
184 syn keyword pascalModifier override export dynamic name message
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185 syn keyword pascalModifier dispid index stored default nodefault readonly
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 syn keyword pascalModifier writeonly implements overload requires resident
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 syn keyword pascalAcces protected published automated
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188 syn keyword pascalDirective register pascal cvar cdecl stdcall safecall
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 syn keyword pascalOperator as is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 if exists("pascal_no_functions")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 "syn keyword pascalModifier read write
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 "may confuse with Read and Write functions. Not easy to handle.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 " control flow functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 syn keyword pascalFunction Break Continue Exit Halt RunError
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 " ordinal functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 syn keyword pascalFunction Dec Inc High Low
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 " math functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 syn keyword pascalFunction Frac Int Pi
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 " string functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 syn keyword pascalFunction Concat Copy Delete Insert Length Pos Str Val
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 " memory function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 syn keyword pascalFunction FreeMem GetMem MaxAvail MemAvail
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 " pointer and address functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 syn keyword pascalFunction Addr Assigned CSeg DSeg Ofs Ptr Seg SPtr SSeg
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 " misc functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215 syn keyword pascalFunction Exclude FillChar Hi Include Lo Move ParamCount
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 syn keyword pascalFunction ParamStr Random Randomize SizeOf Swap TypeOf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 syn keyword pascalFunction UpCase
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 " predefined variables
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 syn keyword pascalPredefined ErrorAddr ExitCode ExitProc FileMode FreeList
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 syn keyword pascalPredefined FreeZero HeapEnd HeapError HeapOrg HeapPtr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 syn keyword pascalPredefined InOutRes OvrCodeList OvrDebugPtr OvrDosHandle
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 syn keyword pascalPredefined OvrEmsHandle OvrHeapEnd OvrHeapOrg OvrHeapPtr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224 syn keyword pascalPredefined OvrHeapSize OvrLoadList PrefixSeg RandSeed
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 syn keyword pascalPredefined SaveInt00 SaveInt02 SaveInt1B SaveInt21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226 syn keyword pascalPredefined SaveInt23 SaveInt24 SaveInt34 SaveInt35
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 syn keyword pascalPredefined SaveInt36 SaveInt37 SaveInt38 SaveInt39
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228 syn keyword pascalPredefined SaveInt3A SaveInt3B SaveInt3C SaveInt3D
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 syn keyword pascalPredefined SaveInt3E SaveInt3F SaveInt75 SegA000 SegB000
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 syn keyword pascalPredefined SegB800 SelectorInc StackLimit Test8087
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 " file functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 syn keyword pascalFunction Append Assign BlockRead BlockWrite ChDir Close
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234 syn keyword pascalFunction Erase FilePos FileSize Flush GetDir IOResult
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235 syn keyword pascalFunction MkDir Read Readln Rename Reset Rewrite RmDir
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 syn keyword pascalFunction Seek SeekEof SeekEoln SetTextBuf Truncate
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238 " crt unit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239 syn keyword pascalFunction AssignCrt ClrEol ClrScr Delay DelLine GotoXY
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240 syn keyword pascalFunction HighVideo InsLine KeyPressed LowVideo NormVideo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241 syn keyword pascalFunction NoSound ReadKey Sound TextBackground TextColor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 syn keyword pascalFunction TextMode WhereX WhereY Window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 syn keyword pascalPredefined CheckBreak CheckEOF CheckSnow DirectVideo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 syn keyword pascalPredefined LastMode TextAttr WindMin WindMax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245 syn keyword pascalFunction BigCursor CursorOff CursorOn
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 syn keyword pascalConstant Black Blue Green Cyan Red Magenta Brown
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 syn keyword pascalConstant LightGray DarkGray LightBlue LightGreen
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248 syn keyword pascalConstant LightCyan LightRed LightMagenta Yellow White
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249 syn keyword pascalConstant Blink ScreenWidth ScreenHeight bw40
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 syn keyword pascalConstant co40 bw80 co80 mono
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 syn keyword pascalPredefined TextChar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253 " DOS unit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 syn keyword pascalFunction AddDisk DiskFree DiskSize DosExitCode DosVersion
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 syn keyword pascalFunction EnvCount EnvStr Exec Expand FindClose FindFirst
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 syn keyword pascalFunction FindNext FSearch FSplit GetCBreak GetDate
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
257 syn keyword pascalFunction GetEnv GetFAttr GetFTime GetIntVec GetTime
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258 syn keyword pascalFunction GetVerify Intr Keep MSDos PackTime SetCBreak
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259 syn keyword pascalFunction SetDate SetFAttr SetFTime SetIntVec SetTime
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 syn keyword pascalFunction SetVerify SwapVectors UnPackTime
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261 syn keyword pascalConstant FCarry FParity FAuxiliary FZero FSign FOverflow
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262 syn keyword pascalConstant Hidden Sysfile VolumeId Directory Archive
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
263 syn keyword pascalConstant AnyFile fmClosed fmInput fmOutput fmInout
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
264 syn keyword pascalConstant TextRecNameLength TextRecBufSize
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
265 syn keyword pascalType ComStr PathStr DirStr NameStr ExtStr SearchRec
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266 syn keyword pascalType FileRec TextBuf TextRec Registers DateTime
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
267 syn keyword pascalPredefined DosError
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 "Graph Unit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
270 syn keyword pascalFunction Arc Bar Bar3D Circle ClearDevice ClearViewPort
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271 syn keyword pascalFunction CloseGraph DetectGraph DrawPoly Ellipse
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272 syn keyword pascalFunction FillEllipse FillPoly FloodFill GetArcCoords
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
273 syn keyword pascalFunction GetAspectRatio GetBkColor GetColor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
274 syn keyword pascalFunction GetDefaultPalette GetDriverName GetFillPattern
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
275 syn keyword pascalFunction GetFillSettings GetGraphMode GetImage
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276 syn keyword pascalFunction GetLineSettings GetMaxColor GetMaxMode GetMaxX
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
277 syn keyword pascalFunction GetMaxY GetModeName GetModeRange GetPalette
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 syn keyword pascalFunction GetPaletteSize GetPixel GetTextSettings
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
279 syn keyword pascalFunction GetViewSettings GetX GetY GraphDefaults
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
280 syn keyword pascalFunction GraphErrorMsg GraphResult ImageSize InitGraph
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281 syn keyword pascalFunction InstallUserDriver InstallUserFont Line LineRel
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282 syn keyword pascalFunction LineTo MoveRel MoveTo OutText OutTextXY
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
283 syn keyword pascalFunction PieSlice PutImage PutPixel Rectangle
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284 syn keyword pascalFunction RegisterBGIDriver RegisterBGIFont
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
285 syn keyword pascalFunction RestoreCRTMode Sector SetActivePage
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286 syn keyword pascalFunction SetAllPallette SetAspectRatio SetBkColor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287 syn keyword pascalFunction SetColor SetFillPattern SetFillStyle
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288 syn keyword pascalFunction SetGraphBufSize SetGraphMode SetLineStyle
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
289 syn keyword pascalFunction SetPalette SetRGBPalette SetTextJustify
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290 syn keyword pascalFunction SetTextStyle SetUserCharSize SetViewPort
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291 syn keyword pascalFunction SetVisualPage SetWriteMode TextHeight TextWidth
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292 syn keyword pascalType ArcCoordsType FillPatternType FillSettingsType
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293 syn keyword pascalType LineSettingsType PaletteType PointType
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 syn keyword pascalType TextSettingsType ViewPortType
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
295
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296 " string functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297 syn keyword pascalFunction StrAlloc StrBufSize StrCat StrComp StrCopy
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 syn keyword pascalFunction StrDispose StrECopy StrEnd StrFmt StrIComp
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
299 syn keyword pascalFunction StrLCat StrLComp StrLCopy StrLen StrLFmt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300 syn keyword pascalFunction StrLIComp StrLower StrMove StrNew StrPas
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
301 syn keyword pascalFunction StrPCopy StrPLCopy StrPos StrRScan StrScan
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302 syn keyword pascalFunction StrUpper
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307 " Define the default highlighting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308 " For version 5.7 and earlier: only when not done already
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309 " For version 5.8 and later: only when an item doesn't have highlighting yet
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310 if version >= 508 || !exists("did_pascal_syn_inits")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
311 if version < 508
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
312 let did_pascal_syn_inits = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313 command -nargs=+ HiLink hi link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
315 command -nargs=+ HiLink hi def link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
316 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
317
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
318 HiLink pascalAcces pascalStatement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
319 HiLink pascalBoolean Boolean
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
320 HiLink pascalComment Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
321 HiLink pascalConditional Conditional
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
322 HiLink pascalConstant Constant
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
323 HiLink pascalDelimiter Identifier
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
324 HiLink pascalDirective pascalStatement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
325 HiLink pascalException Exception
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
326 HiLink pascalFloat Float
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
327 HiLink pascalFunction Function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
328 HiLink pascalLabel Label
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
329 HiLink pascalMatrixDelimiter Identifier
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
330 HiLink pascalModifier Type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
331 HiLink pascalNumber Number
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
332 HiLink pascalOperator Operator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
333 HiLink pascalPredefined pascalStatement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
334 HiLink pascalPreProc PreProc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
335 HiLink pascalRepeat Repeat
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
336 HiLink pascalStatement Statement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
337 HiLink pascalString String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
338 HiLink pascalStringEscape Special
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
339 HiLink pascalStringEscapeGPC Special
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
340 HiLink pascalStringError Error
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
341 HiLink pascalStruct pascalStatement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
342 HiLink pascalSymbolOperator pascalOperator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
343 HiLink pascalTodo Todo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
344 HiLink pascalType Type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
345 HiLink pascalUnclassified pascalStatement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
346 " HiLink pascalAsm Assembler
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
347 HiLink pascalError Error
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
348 HiLink pascalAsmKey pascalStatement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
349 HiLink pascalShowTab Error
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
350
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
351 delcommand HiLink
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
352 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
353
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
354
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
355 let b:current_syntax = "pascal"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
356
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
357 " vim: ts=8 sw=2