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