1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Pascal 34c295027SBram Moolenaar" Maintainer: Doug Kearns <[email protected]> 44c295027SBram Moolenaar" Previous Maintainers: Xavier Crégut <[email protected]> 54c295027SBram Moolenaar" Mario Eusebio <[email protected]> 6*53f7fcccSBram Moolenaar" Last Change: 2021 May 20 7071d4279SBram Moolenaar 8009b2592SBram Moolenaar" Contributors: Tim Chase <[email protected]>, 9009b2592SBram Moolenaar" Stas Grabois <[email protected]>, 10071d4279SBram Moolenaar" Mazen NEIFER <[email protected]>, 11009b2592SBram Moolenaar" Klaus Hast <[email protected]>, 12009b2592SBram Moolenaar" Austin Ziegler <[email protected]>, 13009b2592SBram Moolenaar" Markus Koenig <[email protected]> 14071d4279SBram Moolenaar 1589bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1689bcfda6SBram Moolenaarif exists("b:current_syntax") 17071d4279SBram Moolenaar finish 18071d4279SBram Moolenaarendif 19071d4279SBram Moolenaar 20071d4279SBram Moolenaar 21071d4279SBram Moolenaarsyn case ignore 22071d4279SBram Moolenaarsyn sync lines=250 23071d4279SBram Moolenaar 24071d4279SBram Moolenaarsyn keyword pascalBoolean true false 25071d4279SBram Moolenaarsyn keyword pascalConditional if else then 26071d4279SBram Moolenaarsyn keyword pascalConstant nil maxint 27071d4279SBram Moolenaarsyn keyword pascalLabel case goto label 284c295027SBram Moolenaarsyn keyword pascalOperator and div downto in mod not of or packed 29071d4279SBram Moolenaarsyn keyword pascalRepeat do for do repeat while to until 30071d4279SBram Moolenaarsyn keyword pascalStatement procedure function 314c295027SBram Moolenaarsyn keyword pascalStatement program begin end const var type with 32071d4279SBram Moolenaarsyn keyword pascalStruct record 33071d4279SBram Moolenaarsyn keyword pascalType array boolean char integer file pointer real set 34071d4279SBram Moolenaarsyn keyword pascalType string text variant 35071d4279SBram Moolenaar 36071d4279SBram Moolenaar 37009b2592SBram Moolenaar " 20011222az: Added new items. 38009b2592SBram Moolenaarsyn keyword pascalTodo contained TODO FIXME XXX DEBUG NOTE 39009b2592SBram Moolenaar 40009b2592SBram Moolenaar " 20010723az: When wanted, highlight the trailing whitespace -- this is 41009b2592SBram Moolenaar " based on c_space_errors; to enable, use "pascal_space_errors". 42009b2592SBram Moolenaarif exists("pascal_space_errors") 43009b2592SBram Moolenaar if !exists("pascal_no_trail_space_error") 44009b2592SBram Moolenaar syn match pascalSpaceError "\s\+$" 45009b2592SBram Moolenaar endif 46009b2592SBram Moolenaar if !exists("pascal_no_tab_space_error") 47009b2592SBram Moolenaar syn match pascalSpaceError " \+\t"me=e-1 48009b2592SBram Moolenaar endif 49009b2592SBram Moolenaarendif 50009b2592SBram Moolenaar 51071d4279SBram Moolenaar 52071d4279SBram Moolenaar 53071d4279SBram Moolenaar" String 54071d4279SBram Moolenaarif !exists("pascal_one_line_string") 55071d4279SBram Moolenaar syn region pascalString matchgroup=pascalString start=+'+ end=+'+ contains=pascalStringEscape 56071d4279SBram Moolenaar if exists("pascal_gpc") 57071d4279SBram Moolenaar syn region pascalString matchgroup=pascalString start=+"+ end=+"+ contains=pascalStringEscapeGPC 58071d4279SBram Moolenaar else 59071d4279SBram Moolenaar syn region pascalStringError matchgroup=pascalStringError start=+"+ end=+"+ contains=pascalStringEscape 60071d4279SBram Moolenaar endif 61071d4279SBram Moolenaarelse 62071d4279SBram Moolenaar "wrong strings 63071d4279SBram Moolenaar syn region pascalStringError matchgroup=pascalStringError start=+'+ end=+'+ end=+$+ contains=pascalStringEscape 64071d4279SBram Moolenaar if exists("pascal_gpc") 65071d4279SBram Moolenaar syn region pascalStringError matchgroup=pascalStringError start=+"+ end=+"+ end=+$+ contains=pascalStringEscapeGPC 66071d4279SBram Moolenaar else 67071d4279SBram Moolenaar syn region pascalStringError matchgroup=pascalStringError start=+"+ end=+"+ end=+$+ contains=pascalStringEscape 68071d4279SBram Moolenaar endif 69071d4279SBram Moolenaar 70071d4279SBram Moolenaar "right strings 71071d4279SBram Moolenaar syn region pascalString matchgroup=pascalString start=+'+ end=+'+ oneline contains=pascalStringEscape 72071d4279SBram Moolenaar " To see the start and end of strings: 73071d4279SBram Moolenaar " syn region pascalString matchgroup=pascalStringError start=+'+ end=+'+ oneline contains=pascalStringEscape 74071d4279SBram Moolenaar if exists("pascal_gpc") 75071d4279SBram Moolenaar syn region pascalString matchgroup=pascalString start=+"+ end=+"+ oneline contains=pascalStringEscapeGPC 76071d4279SBram Moolenaar else 77071d4279SBram Moolenaar syn region pascalStringError matchgroup=pascalStringError start=+"+ end=+"+ oneline contains=pascalStringEscape 78071d4279SBram Moolenaar endif 79071d4279SBram Moolenaarend 80071d4279SBram Moolenaarsyn match pascalStringEscape contained "''" 81071d4279SBram Moolenaarsyn match pascalStringEscapeGPC contained '""' 82071d4279SBram Moolenaar 83071d4279SBram Moolenaar 84071d4279SBram Moolenaar" syn match pascalIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>" 85071d4279SBram Moolenaar 86071d4279SBram Moolenaar 87071d4279SBram Moolenaarif exists("pascal_symbol_operator") 88071d4279SBram Moolenaar syn match pascalSymbolOperator "[+\-/*=]" 89071d4279SBram Moolenaar syn match pascalSymbolOperator "[<>]=\=" 90071d4279SBram Moolenaar syn match pascalSymbolOperator "<>" 91071d4279SBram Moolenaar syn match pascalSymbolOperator ":=" 92071d4279SBram Moolenaar syn match pascalSymbolOperator "[()]" 93071d4279SBram Moolenaar syn match pascalSymbolOperator "\.\." 94071d4279SBram Moolenaar syn match pascalSymbolOperator "[\^.]" 95071d4279SBram Moolenaar syn match pascalMatrixDelimiter "[][]" 96071d4279SBram Moolenaar "if you prefer you can highlight the range 97071d4279SBram Moolenaar "syn match pascalMatrixDelimiter "[\d\+\.\.\d\+]" 98071d4279SBram Moolenaarendif 99071d4279SBram Moolenaar 100071d4279SBram Moolenaarsyn match pascalNumber "-\=\<\d\+\>" 1014c295027SBram Moolenaarif !exists("pascal_traditional") 1024c295027SBram Moolenaar syn match pascalHexNumber "\$\x\+\>" 1034c295027SBram Moolenaarendif 1044c295027SBram Moolenaarif exists("pascal_fpc") 1054c295027SBram Moolenaar syn match pascalOctNumber "&\o\+\>" 1064c295027SBram Moolenaar syn match pascalBinNumber "%[01]\+\>" 1074c295027SBram Moolenaarendif 1084c295027SBram Moolenaarif exists("pascal_gpc") 1094c295027SBram Moolenaar syn match pascalExtendedNumber "\%([2-9]\|[12]\d\|3[0-6]\)#[[:alnum:]]\+\>" 1104c295027SBram Moolenaarendif 1114c295027SBram Moolenaar 112071d4279SBram Moolenaarsyn match pascalFloat "-\=\<\d\+\.\d\+\>" 113071d4279SBram Moolenaarsyn match pascalFloat "-\=\<\d\+\.\d\+[eE]-\=\d\+\>" 1144c295027SBram Moolenaar 1154c295027SBram Moolenaarif !exists("pascal_traditional") 1164c295027SBram Moolenaar " allow leading zeros 1174c295027SBram Moolenaar syn match pascalControlCharacter "#\%([01]\=\d\=\d\|2[0-4]\d\|25[0-5]\)\>" 1184c295027SBram Moolenaarendif 119071d4279SBram Moolenaar 120071d4279SBram Moolenaarif exists("pascal_no_tabs") 121071d4279SBram Moolenaar syn match pascalShowTab "\t" 122071d4279SBram Moolenaarendif 123071d4279SBram Moolenaar 124009b2592SBram Moolenaarsyn region pascalComment start="(\*\|{" end="\*)\|}" contains=pascalTodo,pascalSpaceError 125071d4279SBram Moolenaar 126071d4279SBram Moolenaar 127071d4279SBram Moolenaarif !exists("pascal_no_functions") 128071d4279SBram Moolenaar " array functions 129071d4279SBram Moolenaar syn keyword pascalFunction pack unpack 130071d4279SBram Moolenaar 131071d4279SBram Moolenaar " memory function 132071d4279SBram Moolenaar syn keyword pascalFunction Dispose New 133071d4279SBram Moolenaar 134071d4279SBram Moolenaar " math functions 135071d4279SBram Moolenaar syn keyword pascalFunction Abs Arctan Cos Exp Ln Sin Sqr Sqrt 136071d4279SBram Moolenaar 137071d4279SBram Moolenaar " file functions 138071d4279SBram Moolenaar syn keyword pascalFunction Eof Eoln Write Writeln 139071d4279SBram Moolenaar syn keyword pascalPredefined Input Output 140071d4279SBram Moolenaar 141071d4279SBram Moolenaar if exists("pascal_traditional") 142071d4279SBram Moolenaar " These functions do not seem to be defined in Turbo Pascal 143071d4279SBram Moolenaar syn keyword pascalFunction Get Page Put 144071d4279SBram Moolenaar endif 145071d4279SBram Moolenaar 146071d4279SBram Moolenaar " ordinal functions 147071d4279SBram Moolenaar syn keyword pascalFunction Odd Pred Succ 148071d4279SBram Moolenaar 149071d4279SBram Moolenaar " transfert functions 150071d4279SBram Moolenaar syn keyword pascalFunction Chr Ord Round Trunc 151071d4279SBram Moolenaarendif 152071d4279SBram Moolenaar 153071d4279SBram Moolenaar 154071d4279SBram Moolenaarif !exists("pascal_traditional") 155071d4279SBram Moolenaar 156071d4279SBram Moolenaar syn keyword pascalStatement constructor destructor implementation inherited 157071d4279SBram Moolenaar syn keyword pascalStatement interface unit uses 158071d4279SBram Moolenaar syn keyword pascalModifier absolute assembler external far forward inline 159071d4279SBram Moolenaar syn keyword pascalModifier interrupt near virtual 1604c295027SBram Moolenaar syn keyword pascalAccess private public strict 161071d4279SBram Moolenaar syn keyword pascalStruct object 162071d4279SBram Moolenaar syn keyword pascalOperator shl shr xor 163071d4279SBram Moolenaar 164071d4279SBram Moolenaar syn region pascalPreProc start="(\*\$" end="\*)" contains=pascalTodo 165071d4279SBram Moolenaar syn region pascalPreProc start="{\$" end="}" 166071d4279SBram Moolenaar 167071d4279SBram Moolenaar syn region pascalAsm matchgroup=pascalAsmKey start="\<asm\>" end="\<end\>" contains=pascalComment,pascalPreProc 168071d4279SBram Moolenaar 169071d4279SBram Moolenaar syn keyword pascalType ShortInt LongInt Byte Word 170071d4279SBram Moolenaar syn keyword pascalType ByteBool WordBool LongBool 171071d4279SBram Moolenaar syn keyword pascalType Cardinal LongWord 172071d4279SBram Moolenaar syn keyword pascalType Single Double Extended Comp 173071d4279SBram Moolenaar syn keyword pascalType PChar 174071d4279SBram Moolenaar 1754c295027SBram Moolenaar syn keyword pascalPredefined self 176071d4279SBram Moolenaar 177071d4279SBram Moolenaar if !exists ("pascal_fpc") 178071d4279SBram Moolenaar syn keyword pascalPredefined Result 179071d4279SBram Moolenaar endif 180071d4279SBram Moolenaar 181071d4279SBram Moolenaar if exists("pascal_fpc") 182009b2592SBram Moolenaar syn region pascalComment start="//" end="$" contains=pascalTodo,pascalSpaceError 183071d4279SBram Moolenaar syn keyword pascalStatement fail otherwise operator 184071d4279SBram Moolenaar syn keyword pascalDirective popstack 185071d4279SBram Moolenaar syn keyword pascalType ShortString AnsiString WideString 186071d4279SBram Moolenaar endif 187071d4279SBram Moolenaar 188071d4279SBram Moolenaar if exists("pascal_gpc") 1894c295027SBram Moolenaar syn region pascalComment start="//" end="$" contains=pascalTodo,pascalSpaceError 190071d4279SBram Moolenaar syn keyword pascalType SmallInt 191071d4279SBram Moolenaar syn keyword pascalType AnsiChar 192071d4279SBram Moolenaar syn keyword pascalType PAnsiChar 193071d4279SBram Moolenaar endif 194071d4279SBram Moolenaar 195071d4279SBram Moolenaar if exists("pascal_delphi") 196009b2592SBram Moolenaar syn region pascalComment start="//" end="$" contains=pascalTodo,pascalSpaceError 1974c295027SBram Moolenaar syn region pascalDocumentation start="///" end="$" contains=pascalTodo,pascalSpaceError 1984c295027SBram Moolenaar syn region pascalDocumentation start="{!" end="}" contains=pascalTodo,pascalSpaceError 199071d4279SBram Moolenaar syn keyword pascalType SmallInt Int64 200071d4279SBram Moolenaar syn keyword pascalType Real48 Currency 201071d4279SBram Moolenaar syn keyword pascalType AnsiChar WideChar 202071d4279SBram Moolenaar syn keyword pascalType ShortString AnsiString WideString 203071d4279SBram Moolenaar syn keyword pascalType PAnsiChar PWideChar 204071d4279SBram Moolenaar syn match pascalFloat "-\=\<\d\+\.\d\+[dD]-\=\d\+\>" 205071d4279SBram Moolenaar syn match pascalStringEscape contained "#[12][0-9]\=[0-9]\=" 206071d4279SBram Moolenaar syn keyword pascalStruct class dispinterface 207071d4279SBram Moolenaar syn keyword pascalException try except raise at on finally 208071d4279SBram Moolenaar syn keyword pascalStatement out 209071d4279SBram Moolenaar syn keyword pascalStatement library package 210071d4279SBram Moolenaar syn keyword pascalStatement initialization finalization uses exports 211071d4279SBram Moolenaar syn keyword pascalStatement property out resourcestring threadvar 212071d4279SBram Moolenaar syn keyword pascalModifier contains 2134c295027SBram Moolenaar syn keyword pascalModifier overridden reintroduce abstract sealed 214071d4279SBram Moolenaar syn keyword pascalModifier override export dynamic name message 215071d4279SBram Moolenaar syn keyword pascalModifier dispid index stored default nodefault readonly 216071d4279SBram Moolenaar syn keyword pascalModifier writeonly implements overload requires resident 2174c295027SBram Moolenaar syn keyword pascalAccess protected published automated 218071d4279SBram Moolenaar syn keyword pascalDirective register pascal cvar cdecl stdcall safecall 219071d4279SBram Moolenaar syn keyword pascalOperator as is 220071d4279SBram Moolenaar endif 221071d4279SBram Moolenaar 222071d4279SBram Moolenaar if exists("pascal_no_functions") 223071d4279SBram Moolenaar "syn keyword pascalModifier read write 224071d4279SBram Moolenaar "may confuse with Read and Write functions. Not easy to handle. 225071d4279SBram Moolenaar else 226071d4279SBram Moolenaar " control flow functions 227071d4279SBram Moolenaar syn keyword pascalFunction Break Continue Exit Halt RunError 228071d4279SBram Moolenaar 229071d4279SBram Moolenaar " ordinal functions 230071d4279SBram Moolenaar syn keyword pascalFunction Dec Inc High Low 231071d4279SBram Moolenaar 232071d4279SBram Moolenaar " math functions 233071d4279SBram Moolenaar syn keyword pascalFunction Frac Int Pi 234071d4279SBram Moolenaar 235071d4279SBram Moolenaar " string functions 236071d4279SBram Moolenaar syn keyword pascalFunction Concat Copy Delete Insert Length Pos Str Val 237071d4279SBram Moolenaar 238071d4279SBram Moolenaar " memory function 239071d4279SBram Moolenaar syn keyword pascalFunction FreeMem GetMem MaxAvail MemAvail 240071d4279SBram Moolenaar 241071d4279SBram Moolenaar " pointer and address functions 242071d4279SBram Moolenaar syn keyword pascalFunction Addr Assigned CSeg DSeg Ofs Ptr Seg SPtr SSeg 243071d4279SBram Moolenaar 244071d4279SBram Moolenaar " misc functions 245071d4279SBram Moolenaar syn keyword pascalFunction Exclude FillChar Hi Include Lo Move ParamCount 246071d4279SBram Moolenaar syn keyword pascalFunction ParamStr Random Randomize SizeOf Swap TypeOf 247071d4279SBram Moolenaar syn keyword pascalFunction UpCase 248071d4279SBram Moolenaar 249071d4279SBram Moolenaar " predefined variables 250071d4279SBram Moolenaar syn keyword pascalPredefined ErrorAddr ExitCode ExitProc FileMode FreeList 251071d4279SBram Moolenaar syn keyword pascalPredefined FreeZero HeapEnd HeapError HeapOrg HeapPtr 252071d4279SBram Moolenaar syn keyword pascalPredefined InOutRes OvrCodeList OvrDebugPtr OvrDosHandle 253071d4279SBram Moolenaar syn keyword pascalPredefined OvrEmsHandle OvrHeapEnd OvrHeapOrg OvrHeapPtr 254071d4279SBram Moolenaar syn keyword pascalPredefined OvrHeapSize OvrLoadList PrefixSeg RandSeed 255071d4279SBram Moolenaar syn keyword pascalPredefined SaveInt00 SaveInt02 SaveInt1B SaveInt21 256071d4279SBram Moolenaar syn keyword pascalPredefined SaveInt23 SaveInt24 SaveInt34 SaveInt35 257071d4279SBram Moolenaar syn keyword pascalPredefined SaveInt36 SaveInt37 SaveInt38 SaveInt39 258071d4279SBram Moolenaar syn keyword pascalPredefined SaveInt3A SaveInt3B SaveInt3C SaveInt3D 259071d4279SBram Moolenaar syn keyword pascalPredefined SaveInt3E SaveInt3F SaveInt75 SegA000 SegB000 260071d4279SBram Moolenaar syn keyword pascalPredefined SegB800 SelectorInc StackLimit Test8087 261071d4279SBram Moolenaar 262071d4279SBram Moolenaar " file functions 263071d4279SBram Moolenaar syn keyword pascalFunction Append Assign BlockRead BlockWrite ChDir Close 264071d4279SBram Moolenaar syn keyword pascalFunction Erase FilePos FileSize Flush GetDir IOResult 265071d4279SBram Moolenaar syn keyword pascalFunction MkDir Read Readln Rename Reset Rewrite RmDir 266071d4279SBram Moolenaar syn keyword pascalFunction Seek SeekEof SeekEoln SetTextBuf Truncate 267071d4279SBram Moolenaar 268071d4279SBram Moolenaar " crt unit 269071d4279SBram Moolenaar syn keyword pascalFunction AssignCrt ClrEol ClrScr Delay DelLine GotoXY 270071d4279SBram Moolenaar syn keyword pascalFunction HighVideo InsLine KeyPressed LowVideo NormVideo 271071d4279SBram Moolenaar syn keyword pascalFunction NoSound ReadKey Sound TextBackground TextColor 272071d4279SBram Moolenaar syn keyword pascalFunction TextMode WhereX WhereY Window 273071d4279SBram Moolenaar syn keyword pascalPredefined CheckBreak CheckEOF CheckSnow DirectVideo 274071d4279SBram Moolenaar syn keyword pascalPredefined LastMode TextAttr WindMin WindMax 275071d4279SBram Moolenaar syn keyword pascalFunction BigCursor CursorOff CursorOn 276071d4279SBram Moolenaar syn keyword pascalConstant Black Blue Green Cyan Red Magenta Brown 277071d4279SBram Moolenaar syn keyword pascalConstant LightGray DarkGray LightBlue LightGreen 278071d4279SBram Moolenaar syn keyword pascalConstant LightCyan LightRed LightMagenta Yellow White 279071d4279SBram Moolenaar syn keyword pascalConstant Blink ScreenWidth ScreenHeight bw40 280071d4279SBram Moolenaar syn keyword pascalConstant co40 bw80 co80 mono 281071d4279SBram Moolenaar syn keyword pascalPredefined TextChar 282071d4279SBram Moolenaar 283071d4279SBram Moolenaar " DOS unit 284071d4279SBram Moolenaar syn keyword pascalFunction AddDisk DiskFree DiskSize DosExitCode DosVersion 285071d4279SBram Moolenaar syn keyword pascalFunction EnvCount EnvStr Exec Expand FindClose FindFirst 286071d4279SBram Moolenaar syn keyword pascalFunction FindNext FSearch FSplit GetCBreak GetDate 287071d4279SBram Moolenaar syn keyword pascalFunction GetEnv GetFAttr GetFTime GetIntVec GetTime 288071d4279SBram Moolenaar syn keyword pascalFunction GetVerify Intr Keep MSDos PackTime SetCBreak 289071d4279SBram Moolenaar syn keyword pascalFunction SetDate SetFAttr SetFTime SetIntVec SetTime 290071d4279SBram Moolenaar syn keyword pascalFunction SetVerify SwapVectors UnPackTime 291071d4279SBram Moolenaar syn keyword pascalConstant FCarry FParity FAuxiliary FZero FSign FOverflow 292071d4279SBram Moolenaar syn keyword pascalConstant Hidden Sysfile VolumeId Directory Archive 293071d4279SBram Moolenaar syn keyword pascalConstant AnyFile fmClosed fmInput fmOutput fmInout 294071d4279SBram Moolenaar syn keyword pascalConstant TextRecNameLength TextRecBufSize 295071d4279SBram Moolenaar syn keyword pascalType ComStr PathStr DirStr NameStr ExtStr SearchRec 296071d4279SBram Moolenaar syn keyword pascalType FileRec TextBuf TextRec Registers DateTime 297071d4279SBram Moolenaar syn keyword pascalPredefined DosError 298071d4279SBram Moolenaar 299071d4279SBram Moolenaar "Graph Unit 300071d4279SBram Moolenaar syn keyword pascalFunction Arc Bar Bar3D Circle ClearDevice ClearViewPort 301071d4279SBram Moolenaar syn keyword pascalFunction CloseGraph DetectGraph DrawPoly Ellipse 302071d4279SBram Moolenaar syn keyword pascalFunction FillEllipse FillPoly FloodFill GetArcCoords 303071d4279SBram Moolenaar syn keyword pascalFunction GetAspectRatio GetBkColor GetColor 304071d4279SBram Moolenaar syn keyword pascalFunction GetDefaultPalette GetDriverName GetFillPattern 305071d4279SBram Moolenaar syn keyword pascalFunction GetFillSettings GetGraphMode GetImage 306071d4279SBram Moolenaar syn keyword pascalFunction GetLineSettings GetMaxColor GetMaxMode GetMaxX 307071d4279SBram Moolenaar syn keyword pascalFunction GetMaxY GetModeName GetModeRange GetPalette 308071d4279SBram Moolenaar syn keyword pascalFunction GetPaletteSize GetPixel GetTextSettings 309071d4279SBram Moolenaar syn keyword pascalFunction GetViewSettings GetX GetY GraphDefaults 310071d4279SBram Moolenaar syn keyword pascalFunction GraphErrorMsg GraphResult ImageSize InitGraph 311071d4279SBram Moolenaar syn keyword pascalFunction InstallUserDriver InstallUserFont Line LineRel 312071d4279SBram Moolenaar syn keyword pascalFunction LineTo MoveRel MoveTo OutText OutTextXY 313071d4279SBram Moolenaar syn keyword pascalFunction PieSlice PutImage PutPixel Rectangle 314071d4279SBram Moolenaar syn keyword pascalFunction RegisterBGIDriver RegisterBGIFont 315071d4279SBram Moolenaar syn keyword pascalFunction RestoreCRTMode Sector SetActivePage 316071d4279SBram Moolenaar syn keyword pascalFunction SetAllPallette SetAspectRatio SetBkColor 317071d4279SBram Moolenaar syn keyword pascalFunction SetColor SetFillPattern SetFillStyle 318071d4279SBram Moolenaar syn keyword pascalFunction SetGraphBufSize SetGraphMode SetLineStyle 319071d4279SBram Moolenaar syn keyword pascalFunction SetPalette SetRGBPalette SetTextJustify 320071d4279SBram Moolenaar syn keyword pascalFunction SetTextStyle SetUserCharSize SetViewPort 321071d4279SBram Moolenaar syn keyword pascalFunction SetVisualPage SetWriteMode TextHeight TextWidth 322071d4279SBram Moolenaar syn keyword pascalType ArcCoordsType FillPatternType FillSettingsType 323071d4279SBram Moolenaar syn keyword pascalType LineSettingsType PaletteType PointType 324071d4279SBram Moolenaar syn keyword pascalType TextSettingsType ViewPortType 325071d4279SBram Moolenaar 326071d4279SBram Moolenaar " string functions 327071d4279SBram Moolenaar syn keyword pascalFunction StrAlloc StrBufSize StrCat StrComp StrCopy 328071d4279SBram Moolenaar syn keyword pascalFunction StrDispose StrECopy StrEnd StrFmt StrIComp 329071d4279SBram Moolenaar syn keyword pascalFunction StrLCat StrLComp StrLCopy StrLen StrLFmt 330071d4279SBram Moolenaar syn keyword pascalFunction StrLIComp StrLower StrMove StrNew StrPas 331071d4279SBram Moolenaar syn keyword pascalFunction StrPCopy StrPLCopy StrPos StrRScan StrScan 332071d4279SBram Moolenaar syn keyword pascalFunction StrUpper 333071d4279SBram Moolenaar endif 334071d4279SBram Moolenaar 335071d4279SBram Moolenaarendif 336071d4279SBram Moolenaar 337071d4279SBram Moolenaar" Define the default highlighting. 33889bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 339071d4279SBram Moolenaar 3404c295027SBram Moolenaarhi def link pascalAccess pascalStatement 341f37506f6SBram Moolenaarhi def link pascalBoolean Boolean 342f37506f6SBram Moolenaarhi def link pascalComment Comment 3434c295027SBram Moolenaarhi def link pascalDocumentation Comment 344f37506f6SBram Moolenaarhi def link pascalConditional Conditional 345f37506f6SBram Moolenaarhi def link pascalConstant Constant 3464c295027SBram Moolenaarhi def link pascalControlCharacter Character 347f37506f6SBram Moolenaarhi def link pascalDelimiter Identifier 348f37506f6SBram Moolenaarhi def link pascalDirective pascalStatement 349f37506f6SBram Moolenaarhi def link pascalException Exception 350f37506f6SBram Moolenaarhi def link pascalFloat Float 351f37506f6SBram Moolenaarhi def link pascalFunction Function 352f37506f6SBram Moolenaarhi def link pascalLabel Label 353f37506f6SBram Moolenaarhi def link pascalMatrixDelimiter Identifier 354f37506f6SBram Moolenaarhi def link pascalModifier Type 355f37506f6SBram Moolenaarhi def link pascalNumber Number 3564c295027SBram Moolenaarhi def link pascalExtendedNumber Number 3574c295027SBram Moolenaarhi def link pascalBinNumber pascalNumber 3584c295027SBram Moolenaarhi def link pascalHexNumber pascalNumber 3594c295027SBram Moolenaarhi def link pascalOctNumber pascalNumber 360f37506f6SBram Moolenaarhi def link pascalOperator Operator 361f37506f6SBram Moolenaarhi def link pascalPredefined pascalStatement 362f37506f6SBram Moolenaarhi def link pascalPreProc PreProc 363f37506f6SBram Moolenaarhi def link pascalRepeat Repeat 364f37506f6SBram Moolenaarhi def link pascalSpaceError Error 365f37506f6SBram Moolenaarhi def link pascalStatement Statement 366f37506f6SBram Moolenaarhi def link pascalString String 367f37506f6SBram Moolenaarhi def link pascalStringEscape Special 368f37506f6SBram Moolenaarhi def link pascalStringEscapeGPC Special 369f37506f6SBram Moolenaarhi def link pascalStringError Error 370f37506f6SBram Moolenaarhi def link pascalStruct pascalStatement 371f37506f6SBram Moolenaarhi def link pascalSymbolOperator pascalOperator 372f37506f6SBram Moolenaarhi def link pascalTodo Todo 373f37506f6SBram Moolenaarhi def link pascalType Type 374f37506f6SBram Moolenaarhi def link pascalUnclassified pascalStatement 375f37506f6SBram Moolenaar" hi def link pascalAsm Assembler 376f37506f6SBram Moolenaarhi def link pascalError Error 377f37506f6SBram Moolenaarhi def link pascalAsmKey pascalStatement 378f37506f6SBram Moolenaarhi def link pascalShowTab Error 379071d4279SBram Moolenaar 380071d4279SBram Moolenaar 381071d4279SBram Moolenaar 382071d4279SBram Moolenaarlet b:current_syntax = "pascal" 383071d4279SBram Moolenaar 3844c295027SBram Moolenaar" vim: nowrap sw=2 sts=2 ts=8 noet: 385