neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

postscr.vim (46173B)


      1 " Vim syntax file
      2 " Language:     PostScript - all Levels, selectable
      3 " Maintainer:   Mike Williams <mrmrdubya@gmail.com>
      4 " Filenames:    *.ps,*.eps
      5 " Last Change:  2nd July 2025
      6 " URL:          http://www.eandem.co.uk/mrw/vim
      7 "
      8 " Options Flags:
      9 " postscr_level                 - language level to use for highlighting (1, 2, or 3)
     10 " postscr_display               - include display PS operators
     11 " postscr_ghostscript           - include GS extensions
     12 " postscr_fonts                 - highlight standard font names (a lot for PS 3)
     13 " postscr_encodings             - highlight encoding names (there are a lot)
     14 " postscr_andornot_binary       - highlight and, or, and not as binary operators (not logical)
     15 "
     16 " quit when a syntax file was already loaded
     17 if exists("b:current_syntax")
     18  finish
     19 endif
     20 
     21 " PostScript is case sensitive
     22 syn case match
     23 
     24 " Keyword characters - all 7-bit ASCII bar PS delimiters and ws
     25 setlocal iskeyword=33-127,^(,^),^<,^>,^[,^],^{,^},^/,^%
     26 
     27 " Yer trusty old TODO highlghter!
     28 syn keyword postscrTodo contained  TODO
     29 
     30 " Comment
     31 syn match postscrComment        "%.*$" contains=postscrTodo,@Spell
     32 " DSC comment start line (NB: defines DSC level, not PS level!)
     33 syn match postscrDSCComment    	"^%!PS-Adobe-\d\+\.\d\+\s*.*$"
     34 " DSC comment line (no check on possible comments - another language!)
     35 syn match postscrDSCComment    	"^%%\u\+.*$" contains=@postscrString,@postscrNumber,@Spell
     36 " DSC continuation line (no check that previous line is DSC comment)
     37 syn match  postscrDSCComment    "^%%+ *.*$" contains=@postscrString,@postscrNumber,@Spell
     38 
     39 " Names
     40 syn match postscrName           "\k\+"
     41 
     42 " Identifiers
     43 syn match postscrIdentifierError "/\{1,2}[[:space:]\[\]{}]"me=e-1
     44 syn match postscrIdentifier     "/\{1,2}\k\+" contains=postscrConstant,postscrBoolean,postscrCustConstant
     45 
     46 " Numbers
     47 syn case ignore
     48 " In file hex data - usually complete lines
     49 syn match postscrHex            "^[[:xdigit:]][[:xdigit:][:space:]]*$"
     50 "syn match postscrHex            "\<\x\{2,}\>"
     51 " Integers
     52 syn match postscrInteger        "\<[+-]\=\d\+\>"
     53 " Radix
     54 syn match postscrRadix          "\d\+#\x\+\>"
     55 " Reals - upper and lower case e is allowed
     56 syn match postscrFloat          "[+-]\=\d\+\.\>"
     57 syn match postscrFloat          "[+-]\=\d\+\.\d*\(e[+-]\=\d\+\)\=\>"
     58 syn match postscrFloat          "[+-]\=\.\d\+\(e[+-]\=\d\+\)\=\>"
     59 syn match postscrFloat          "[+-]\=\d\+e[+-]\=\d\+\>"
     60 syn cluster postscrNumber       contains=postscrInteger,postscrRadix,postscrFloat
     61 syn case match
     62 
     63 " Escaped characters
     64 syn match postscrSpecialChar    contained "\\[nrtbf\\()]"
     65 syn match postscrSpecialCharError contained "\\[^nrtbf\\()]"he=e-1
     66 " Escaped octal characters
     67 syn match postscrSpecialChar    contained "\\\o\{1,3}"
     68 
     69 " Strings
     70 " ASCII strings
     71 syn region postscrASCIIString   start=+(+ end=+)+ skip=+([^)]*)+ contains=postscrSpecialChar,postscrSpecialCharError,@Spell
     72 syn match postscrASCIIStringError ")"
     73 " Hex strings
     74 syn match postscrHexCharError   contained "[^<>[:xdigit:][:space:]]"
     75 syn region postscrHexString     start=+<\($\|[^<]\)+ end=+>+ contains=postscrHexCharError
     76 syn match postscrHexString      "<>"
     77 " ASCII85 strings
     78 syn match postscrASCII85CharError contained "[^<>\~!-uz[:space:]]"
     79 syn region postscrASCII85String start=+<\~+ end=+\~>+ contains=postscrASCII85CharError
     80 syn cluster postscrString       contains=postscrASCIIString,postscrHexString,postscrASCII85String
     81 
     82 
     83 " Set default highlighting to level 2 - most common at the moment
     84 if !exists("postscr_level")
     85  let postscr_level = 2
     86 endif
     87 
     88 
     89 " PS level 1 operators - common to all levels (well ...)
     90 
     91 " Stack operators
     92 syn keyword postscrOperator     pop exch dup copy index roll clear count mark cleartomark counttomark
     93 
     94 " Math operators
     95 syn keyword postscrMathOperator add div idiv mod mul sub abs neg ceiling floor round truncate sqrt atan cos
     96 syn keyword postscrMathOperator sin exp ln log rand srand rrand
     97 
     98 " Array operators
     99 syn match postscrOperator       "[\[\]{}]"
    100 syn keyword postscrOperator     array length get put getinterval putinterval astore aload copy
    101 syn keyword postscrRepeat       forall
    102 
    103 " Dictionary operators
    104 syn keyword postscrOperator     dict maxlength begin end def load store known where currentdict
    105 syn keyword postscrOperator     countdictstack dictstack cleardictstack internaldict
    106 syn keyword postscrConstant     $error systemdict userdict statusdict errordict
    107 
    108 " String operators
    109 syn keyword postscrOperator     string anchorsearch search token
    110 
    111 " Logic operators
    112 syn keyword postscrLogicalOperator eq ne ge gt le lt and not or
    113 if exists("postscr_andornot_binaryop")
    114  syn keyword postscrBinaryOperator and or not
    115 else
    116  syn keyword postscrLogicalOperator and not or
    117 endif
    118 syn keyword postscrBinaryOperator xor bitshift
    119 syn keyword postscrBoolean      true false
    120 
    121 " PS Type names
    122 syn keyword postscrConstant     arraytype booleantype conditiontype dicttype filetype fonttype gstatetype
    123 syn keyword postscrConstant     integertype locktype marktype nametype nulltype operatortype
    124 syn keyword postscrConstant     packedarraytype realtype savetype stringtype
    125 
    126 " Control operators
    127 syn keyword postscrConditional  if ifelse
    128 syn keyword postscrRepeat       for repeat loop
    129 syn keyword postscrOperator     exec exit stop stopped countexecstack execstack quit
    130 syn keyword postscrProcedure    start
    131 
    132 " Object operators
    133 syn keyword postscrOperator     type cvlit cvx xcheck executeonly noaccess readonly rcheck wcheck cvi cvn cvr
    134 syn keyword postscrOperator     cvrs cvs
    135 
    136 " File operators
    137 syn keyword postscrOperator     file closefile read write readhexstring writehexstring readstring writestring
    138 syn keyword postscrOperator     bytesavailable flush flushfile resetfile status run currentfile print
    139 syn keyword postscrOperator     stack pstack readline deletefile setfileposition fileposition renamefile
    140 syn keyword postscrRepeat       filenameforall
    141 syn keyword postscrProcedure    = ==
    142 
    143 " VM operators
    144 syn keyword postscrOperator     save restore
    145 
    146 " Misc operators
    147 syn keyword postscrOperator     bind null usertime executive echo realtime
    148 syn keyword postscrConstant     product revision serialnumber version
    149 syn keyword postscrProcedure    prompt
    150 
    151 " GState operators
    152 syn keyword postscrOperator     gsave grestore grestoreall initgraphics setlinewidth setlinecap currentgray
    153 syn keyword postscrOperator     currentlinejoin setmiterlimit currentmiterlimit setdash currentdash setgray
    154 syn keyword postscrOperator     sethsbcolor currenthsbcolor setrgbcolor currentrgbcolor currentlinewidth
    155 syn keyword postscrOperator     currentlinecap setlinejoin setcmykcolor currentcmykcolor
    156 
    157 " Device gstate operators
    158 syn keyword postscrOperator     setscreen currentscreen settransfer currenttransfer setflat currentflat
    159 syn keyword postscrOperator     currentblackgeneration setblackgeneration setundercolorremoval
    160 syn keyword postscrOperator     setcolorscreen currentcolorscreen setcolortransfer currentcolortransfer
    161 syn keyword postscrOperator     currentundercolorremoval
    162 
    163 " Matrix operators
    164 syn keyword postscrOperator     matrix initmatrix identmatrix defaultmatrix currentmatrix setmatrix translate
    165 syn keyword postscrOperator     concat concatmatrix transform dtransform itransform idtransform invertmatrix
    166 syn keyword postscrOperator     scale rotate
    167 
    168 " Path operators
    169 syn keyword postscrOperator     newpath currentpoint moveto rmoveto lineto rlineto arc arcn arcto curveto
    170 syn keyword postscrOperator     closepath flattenpath reversepath strokepath charpath clippath pathbbox
    171 syn keyword postscrOperator     initclip clip eoclip rcurveto
    172 syn keyword postscrRepeat       pathforall
    173 
    174 " Painting operators
    175 syn keyword postscrOperator     erasepage fill eofill stroke image imagemask colorimage
    176 
    177 " Device operators
    178 syn keyword postscrOperator     showpage copypage nulldevice
    179 
    180 " Character operators
    181 syn keyword postscrProcedure    findfont
    182 syn keyword postscrConstant     FontDirectory ISOLatin1Encoding StandardEncoding
    183 syn keyword postscrOperator     definefont scalefont makefont setfont currentfont show ashow
    184 syn keyword postscrOperator     stringwidth kshow setcachedevice
    185 syn keyword postscrOperator     setcharwidth widthshow awidthshow findencoding cshow rootfont setcachedevice2
    186 
    187 " Interpreter operators
    188 syn keyword postscrOperator     vmstatus cachestatus setcachelimit
    189 
    190 " PS constants
    191 syn keyword postscrConstant     contained Gray Red Green Blue All None DeviceGray DeviceRGB
    192 
    193 " PS Filters
    194 syn keyword postscrConstant     contained ASCIIHexDecode ASCIIHexEncode ASCII85Decode ASCII85Encode LZWDecode
    195 syn keyword postscrConstant     contained RunLengthDecode RunLengthEncode SubFileDecode NullEncode
    196 syn keyword postscrConstant     contained GIFDecode PNGDecode LZWEncode
    197 
    198 " PS JPEG filter dictionary entries
    199 syn keyword postscrConstant     contained DCTEncode DCTDecode Colors HSamples VSamples QuantTables QFactor
    200 syn keyword postscrConstant     contained HuffTables ColorTransform
    201 
    202 " PS CCITT filter dictionary entries
    203 syn keyword postscrConstant     contained CCITTFaxEncode CCITTFaxDecode Uncompressed K EndOfLine
    204 syn keyword postscrConstant     contained Columns Rows EndOfBlock Blacks1 DamagedRowsBeforeError
    205 syn keyword postscrConstant     contained EncodedByteAlign
    206 
    207 " PS Form dictionary entries
    208 syn keyword postscrConstant     contained FormType XUID BBox Matrix PaintProc Implementation
    209 
    210 " PS Errors
    211 syn keyword postscrProcedure    handleerror
    212 syn keyword postscrConstant     contained  configurationerror dictfull dictstackunderflow dictstackoverflow
    213 syn keyword postscrConstant     contained  execstackoverflow interrupt invalidaccess
    214 syn keyword postscrConstant     contained  invalidcontext invalidexit invalidfileaccess invalidfont
    215 syn keyword postscrConstant     contained  invalidid invalidrestore ioerror limitcheck nocurrentpoint
    216 syn keyword postscrConstant     contained  rangecheck stackoverflow stackunderflow syntaxerror timeout
    217 syn keyword postscrConstant     contained  typecheck undefined undefinedfilename undefinedresource
    218 syn keyword postscrConstant     contained  undefinedresult unmatchedmark unregistered VMerror
    219 
    220 if exists("postscr_fonts")
    221 " Font names
    222  syn keyword postscrConstant   contained Symbol Times-Roman Times-Italic Times-Bold Times-BoldItalic
    223  syn keyword postscrConstant   contained Helvetica Helvetica-Oblique Helvetica-Bold Helvetica-BoldOblique
    224  syn keyword postscrConstant   contained Courier Courier-Oblique Courier-Bold Courier-BoldOblique
    225 endif
    226 
    227 
    228 if exists("postscr_display")
    229 " Display PS only operators
    230  syn keyword postscrOperator   currentcontext fork join detach lock monitor condition wait notify yield
    231  syn keyword postscrOperator   viewclip eoviewclip rectviewclip initviewclip viewclippath deviceinfo
    232  syn keyword postscrOperator   sethalftonephase currenthalftonephase wtranslation defineusername
    233 endif
    234 
    235 " PS Character encoding names
    236 if exists("postscr_encodings")
    237 " Common encoding names
    238  syn keyword postscrConstant   contained .notdef
    239 
    240 " Standard and ISO encoding names
    241  syn keyword postscrConstant   contained space exclam quotedbl numbersign dollar percent ampersand quoteright
    242  syn keyword postscrConstant   contained parenleft parenright asterisk plus comma hyphen period slash zero
    243  syn keyword postscrConstant   contained one two three four five six seven eight nine colon semicolon less
    244  syn keyword postscrConstant   contained equal greater question at
    245  syn keyword postscrConstant   contained bracketleft backslash bracketright asciicircum underscore quoteleft
    246  syn keyword postscrConstant   contained braceleft bar braceright asciitilde
    247  syn keyword postscrConstant   contained exclamdown cent sterling fraction yen florin section currency
    248  syn keyword postscrConstant   contained quotesingle quotedblleft guillemotleft guilsinglleft guilsinglright
    249  syn keyword postscrConstant   contained fi fl endash dagger daggerdbl periodcentered paragraph bullet
    250  syn keyword postscrConstant   contained quotesinglbase quotedblbase quotedblright guillemotright ellipsis
    251  syn keyword postscrConstant   contained perthousand questiondown grave acute circumflex tilde macron breve
    252  syn keyword postscrConstant   contained dotaccent dieresis ring cedilla hungarumlaut ogonek caron emdash
    253  syn keyword postscrConstant   contained AE ordfeminine Lslash Oslash OE ordmasculine ae dotlessi lslash
    254  syn keyword postscrConstant   contained oslash oe germandbls
    255 " The following are valid names, but are used as short procedure names in generated PS!
    256 " a b c d e f g h i j k l m n o p q r s t u v w x y z
    257 " A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    258 
    259 " Symbol encoding names
    260  syn keyword postscrConstant   contained universal existential suchthat asteriskmath minus
    261  syn keyword postscrConstant   contained congruent Alpha Beta Chi Delta Epsilon Phi Gamma Eta Iota theta1
    262  syn keyword postscrConstant   contained Kappa Lambda Mu Nu Omicron Pi Theta Rho Sigma Tau Upsilon sigma1
    263  syn keyword postscrConstant   contained Omega Xi Psi Zeta therefore perpendicular
    264  syn keyword postscrConstant   contained radicalex alpha beta chi delta epsilon phi gamma eta iota phi1
    265  syn keyword postscrConstant   contained kappa lambda mu nu omicron pi theta rho sigma tau upsilon omega1
    266  syn keyword postscrConstant   contained Upsilon1 minute lessequal infinity club diamond heart spade
    267  syn keyword postscrConstant   contained arrowboth arrowleft arrowup arrowright arrowdown degree plusminus
    268  syn keyword postscrConstant   contained second greaterequal multiply proportional partialdiff divide
    269  syn keyword postscrConstant   contained notequal equivalence approxequal arrowvertex arrowhorizex
    270  syn keyword postscrConstant   contained aleph Ifraktur Rfraktur weierstrass circlemultiply circleplus
    271  syn keyword postscrConstant   contained emptyset intersection union propersuperset reflexsuperset notsubset
    272  syn keyword postscrConstant   contained propersubset reflexsubset element notelement angle gradient
    273  syn keyword postscrConstant   contained registerserif copyrightserif trademarkserif radical dotmath
    274  syn keyword postscrConstant   contained logicalnot logicaland logicalor arrowdblboth arrowdblleft arrowdblup
    275  syn keyword postscrConstant   contained arrowdblright arrowdbldown omega xi psi zeta similar carriagereturn
    276  syn keyword postscrConstant   contained lozenge angleleft registersans copyrightsans trademarksans summation
    277  syn keyword postscrConstant   contained parenlefttp parenleftex parenleftbt bracketlefttp bracketleftex
    278  syn keyword postscrConstant   contained bracketleftbt bracelefttp braceleftmid braceleftbt braceex euro
    279  syn keyword postscrConstant   contained angleright integral integraltp integralex integralbt parenrighttp
    280  syn keyword postscrConstant   contained parenrightex parenrightbt bracketrighttp bracketrightex
    281  syn keyword postscrConstant   contained bracketrightbt bracerighttp bracerightmid bracerightbt
    282 
    283 " ISO Latin1 encoding names
    284  syn keyword postscrConstant   contained brokenbar copyright registered twosuperior threesuperior
    285  syn keyword postscrConstant   contained onesuperior onequarter onehalf threequarters
    286  syn keyword postscrConstant   contained Agrave Aacute Acircumflex Atilde Adieresis Aring Ccedilla Egrave
    287  syn keyword postscrConstant   contained Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis
    288  syn keyword postscrConstant   contained Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis Ugrave Uacute
    289  syn keyword postscrConstant   contained Ucircumflex Udieresis Yacute Thorn
    290  syn keyword postscrConstant   contained agrave aacute acircumflex atilde adieresis aring ccedilla egrave
    291  syn keyword postscrConstant   contained eacute ecircumflex edieresis igrave iacute icircumflex idieresis
    292  syn keyword postscrConstant   contained eth ntilde ograve oacute ocircumflex otilde odieresis ugrave uacute
    293  syn keyword postscrConstant   contained ucircumflex udieresis yacute thorn ydieresis
    294  syn keyword postscrConstant   contained zcaron exclamsmall Hungarumlautsmall dollaroldstyle dollarsuperior
    295  syn keyword postscrConstant   contained ampersandsmall Acutesmall parenleftsuperior parenrightsuperior
    296  syn keyword postscrConstant   contained twodotenleader onedotenleader zerooldstyle oneoldstyle twooldstyle
    297  syn keyword postscrConstant   contained threeoldstyle fouroldstyle fiveoldstyle sixoldstyle sevenoldstyle
    298  syn keyword postscrConstant   contained eightoldstyle nineoldstyle commasuperior
    299  syn keyword postscrConstant   contained threequartersemdash periodsuperior questionsmall asuperior bsuperior
    300  syn keyword postscrConstant   contained centsuperior dsuperior esuperior isuperior lsuperior msuperior
    301  syn keyword postscrConstant   contained nsuperior osuperior rsuperior ssuperior tsuperior ff ffi ffl
    302  syn keyword postscrConstant   contained parenleftinferior parenrightinferior Circumflexsmall hyphensuperior
    303  syn keyword postscrConstant   contained Gravesmall Asmall Bsmall Csmall Dsmall Esmall Fsmall Gsmall Hsmall
    304  syn keyword postscrConstant   contained Ismall Jsmall Ksmall Lsmall Msmall Nsmall Osmall Psmall Qsmall
    305  syn keyword postscrConstant   contained Rsmall Ssmall Tsmall Usmall Vsmall Wsmall Xsmall Ysmall Zsmall
    306  syn keyword postscrConstant   contained colonmonetary onefitted rupiah Tildesmall exclamdownsmall
    307  syn keyword postscrConstant   contained centoldstyle Lslashsmall Scaronsmall Zcaronsmall Dieresissmall
    308  syn keyword postscrConstant   contained Brevesmall Caronsmall Dotaccentsmall Macronsmall figuredash
    309  syn keyword postscrConstant   contained hypheninferior Ogoneksmall Ringsmall Cedillasmall questiondownsmall
    310  syn keyword postscrConstant   contained oneeighth threeeighths fiveeighths seveneighths onethird twothirds
    311  syn keyword postscrConstant   contained zerosuperior foursuperior fivesuperior sixsuperior sevensuperior
    312  syn keyword postscrConstant   contained eightsuperior ninesuperior zeroinferior oneinferior twoinferior
    313  syn keyword postscrConstant   contained threeinferior fourinferior fiveinferior sixinferior seveninferior
    314  syn keyword postscrConstant   contained eightinferior nineinferior centinferior dollarinferior periodinferior
    315  syn keyword postscrConstant   contained commainferior Agravesmall Aacutesmall Acircumflexsmall
    316  syn keyword postscrConstant   contained Atildesmall Adieresissmall Aringsmall AEsmall Ccedillasmall
    317  syn keyword postscrConstant   contained Egravesmall Eacutesmall Ecircumflexsmall Edieresissmall Igravesmall
    318  syn keyword postscrConstant   contained Iacutesmall Icircumflexsmall Idieresissmall Ethsmall Ntildesmall
    319  syn keyword postscrConstant   contained Ogravesmall Oacutesmall Ocircumflexsmall Otildesmall Odieresissmall
    320  syn keyword postscrConstant   contained OEsmall Oslashsmall Ugravesmall Uacutesmall Ucircumflexsmall
    321  syn keyword postscrConstant   contained Udieresissmall Yacutesmall Thornsmall Ydieresissmall Black Bold Book
    322  syn keyword postscrConstant   contained Light Medium Regular Roman Semibold
    323 
    324 " Sundry standard and expert encoding names
    325  syn keyword postscrConstant   contained trademark Scaron Ydieresis Zcaron scaron softhyphen overscore
    326  syn keyword postscrConstant   contained graybox Sacute Tcaron Zacute sacute tcaron zacute Aogonek Scedilla
    327  syn keyword postscrConstant   contained Zdotaccent aogonek scedilla Lcaron lcaron zdotaccent Racute Abreve
    328  syn keyword postscrConstant   contained Lacute Cacute Ccaron Eogonek Ecaron Dcaron Dcroat Nacute Ncaron
    329  syn keyword postscrConstant   contained Ohungarumlaut Rcaron Uring Uhungarumlaut Tcommaaccent racute abreve
    330  syn keyword postscrConstant   contained lacute cacute ccaron eogonek ecaron dcaron dcroat nacute ncaron
    331  syn keyword postscrConstant   contained ohungarumlaut rcaron uring uhungarumlaut tcommaaccent Gbreve
    332  syn keyword postscrConstant   contained Idotaccent gbreve blank apple
    333 endif
    334 
    335 
    336 " By default level 3 includes all level 2 operators
    337 if postscr_level == 2 || postscr_level == 3
    338 " Dictionary operators
    339  syn match postscrL2Operator     "\(<<\|>>\)"
    340  syn keyword postscrL2Operator   undef
    341  syn keyword postscrConstant   globaldict shareddict
    342 
    343 " Device operators
    344  syn keyword postscrL2Operator   setpagedevice currentpagedevice
    345 
    346 " Path operators
    347  syn keyword postscrL2Operator   rectclip setbbox uappend ucache upath ustrokepath arct
    348 
    349 " Painting operators
    350  syn keyword postscrL2Operator   rectfill rectstroke ufill ueofill ustroke
    351 
    352 " Array operators
    353  syn keyword postscrL2Operator   currentpacking setpacking packedarray
    354 
    355 " Misc operators
    356  syn keyword postscrL2Operator   languagelevel
    357 
    358 " Insideness operators
    359  syn keyword postscrL2Operator   infill ineofill instroke inufill inueofill inustroke
    360 
    361 " GState operators
    362  syn keyword postscrL2Operator   gstate setgstate currentgstate setcolor
    363  syn keyword postscrL2Operator   setcolorspace currentcolorspace setstrokeadjust currentstrokeadjust
    364  syn keyword postscrL2Operator   currentcolor
    365 
    366 " Device gstate operators
    367  syn keyword postscrL2Operator   sethalftone currenthalftone setoverprint currentoverprint
    368  syn keyword postscrL2Operator   setcolorrendering currentcolorrendering
    369 
    370 " Character operators
    371  syn keyword postscrL2Constant   GlobalFontDirectory SharedFontDirectory
    372  syn keyword postscrL2Operator   glyphshow selectfont
    373  syn keyword postscrL2Operator   addglyph undefinefont xshow xyshow yshow
    374 
    375 " Pattern operators
    376  syn keyword postscrL2Operator   makepattern setpattern execform
    377 
    378 " Resource operators
    379  syn keyword postscrL2Operator   defineresource undefineresource findresource resourcestatus
    380  syn keyword postscrL2Repeat     resourceforall
    381 
    382 " File operators
    383  syn keyword postscrL2Operator   filter printobject writeobject setobjectformat currentobjectformat
    384 
    385 " VM operators
    386  syn keyword postscrL2Operator   currentshared setshared defineuserobject execuserobject undefineuserobject
    387  syn keyword postscrL2Operator   gcheck scheck startjob currentglobal setglobal
    388  syn keyword postscrConstant   UserObjects
    389 
    390 " Interpreter operators
    391  syn keyword postscrL2Operator   setucacheparams setvmthreshold ucachestatus setsystemparams
    392  syn keyword postscrL2Operator   setuserparams currentuserparams setcacheparams currentcacheparams
    393  syn keyword postscrL2Operator   currentdevparams setdevparams vmreclaim currentsystemparams
    394 
    395 " PS2 constants
    396  syn keyword postscrConstant   contained DeviceCMYK Pattern Indexed Separation Cyan Magenta Yellow Black
    397  syn keyword postscrConstant   contained CIEBasedA CIEBasedABC CIEBasedDEF CIEBasedDEFG
    398 
    399 " PS2 $error dictionary entries
    400  syn keyword postscrConstant   contained newerror errorname command errorinfo ostack estack dstack
    401  syn keyword postscrConstant   contained recordstacks binary
    402 
    403 " PS2 Category dictionary
    404  syn keyword postscrConstant   contained DefineResource UndefineResource FindResource ResourceStatus
    405  syn keyword postscrConstant   contained ResourceForAll Category InstanceType ResourceFileName
    406 
    407 " PS2 Category names
    408  syn keyword postscrConstant   contained Font Encoding Form Pattern ProcSet ColorSpace Halftone
    409  syn keyword postscrConstant   contained ColorRendering Filter ColorSpaceFamily Emulator IODevice
    410  syn keyword postscrConstant   contained ColorRenderingType FMapType FontType FormType HalftoneType
    411  syn keyword postscrConstant   contained ImageType PatternType Category Generic
    412 
    413 " PS2 pagedevice dictionary entries
    414  syn keyword postscrConstant   contained PageSize MediaColor MediaWeight MediaType InputAttributes ManualFeed
    415  syn keyword postscrConstant   contained OutputType OutputAttributes NumCopies Collate Duplex Tumble
    416  syn keyword postscrConstant   contained Separations HWResolution Margins NegativePrint MirrorPrint
    417  syn keyword postscrConstant   contained CutMedia AdvanceMedia AdvanceDistance ImagingBBox
    418  syn keyword postscrConstant   contained Policies Install BeginPage EndPage PolicyNotFound PolicyReport
    419  syn keyword postscrConstant   contained ManualSize OutputFaceUp Jog
    420  syn keyword postscrConstant   contained Bind BindDetails Booklet BookletDetails CollateDetails
    421  syn keyword postscrConstant   contained DeviceRenderingInfo ExitJamRecovery Fold FoldDetails Laminate
    422  syn keyword postscrConstant   contained ManualFeedTimeout Orientation OutputPage
    423  syn keyword postscrConstant   contained PostRenderingEnhance PostRenderingEnhanceDetails
    424  syn keyword postscrConstant   contained PreRenderingEnhance PreRenderingEnhanceDetails
    425  syn keyword postscrConstant   contained Signature SlipSheet Staple StapleDetails Trim
    426  syn keyword postscrConstant   contained ProofSet REValue PrintQuality ValuesPerColorComponent AntiAlias
    427 
    428 " PS2 PDL resource entries
    429  syn keyword postscrConstant   contained Selector LanguageFamily LanguageVersion
    430 
    431 " PS2 halftone dictionary entries
    432  syn keyword postscrConstant   contained HalftoneType HalftoneName
    433  syn keyword postscrConstant   contained AccurateScreens ActualAngle Xsquare Ysquare AccurateFrequency
    434  syn keyword postscrConstant   contained Frequency SpotFunction Angle Width Height Thresholds
    435  syn keyword postscrConstant   contained RedFrequency RedSpotFunction RedAngle RedWidth RedHeight
    436  syn keyword postscrConstant   contained GreenFrequency GreenSpotFunction GreenAngle GreenWidth GreenHeight
    437  syn keyword postscrConstant   contained BlueFrequency BlueSpotFunction BlueAngle BlueWidth BlueHeight
    438  syn keyword postscrConstant   contained GrayFrequency GrayAngle GraySpotFunction GrayWidth GrayHeight
    439  syn keyword postscrConstant   contained GrayThresholds BlueThresholds GreenThresholds RedThresholds
    440  syn keyword postscrConstant   contained TransferFunction
    441 
    442 " PS2 CSR dictionaries
    443  syn keyword postscrConstant   contained RangeA DecodeA MatrixA RangeABC DecodeABC MatrixABC BlackPoint
    444  syn keyword postscrConstant   contained RangeLMN DecodeLMN MatrixLMN WhitePoint RangeDEF DecodeDEF RangeHIJ
    445  syn keyword postscrConstant   contained RangeDEFG DecodeDEFG RangeHIJK Table
    446 
    447 " PS2 CRD dictionaries
    448  syn keyword postscrConstant   contained ColorRenderingType EncodeLMB EncodeABC RangePQR MatrixPQR
    449  syn keyword postscrConstant   contained AbsoluteColorimetric RelativeColorimetric Saturation Perceptual
    450  syn keyword postscrConstant   contained TransformPQR RenderTable
    451 
    452 " PS2 Pattern dictionary
    453  syn keyword postscrConstant   contained PatternType PaintType TilingType XStep YStep
    454 
    455 " PS2 Image dictionary
    456  syn keyword postscrConstant   contained ImageType ImageMatrix MultipleDataSources DataSource
    457  syn keyword postscrConstant   contained BitsPerComponent Decode Interpolate
    458 
    459 " PS2 Font dictionaries
    460  syn keyword postscrConstant   contained FontType FontMatrix FontName FontInfo LanguageLevel WMode Encoding
    461  syn keyword postscrConstant   contained UniqueID StrokeWidth Metrics Metrics2 CDevProc CharStrings Private
    462  syn keyword postscrConstant   contained FullName Notice version ItalicAngle isFixedPitch UnderlinePosition
    463  syn keyword postscrConstant   contained FMapType Encoding FDepVector PrefEnc EscChar ShiftOut ShiftIn
    464  syn keyword postscrConstant   contained WeightVector Blend $Blend CIDFontType sfnts CIDSystemInfo CodeMap
    465  syn keyword postscrConstant   contained CMap CIDFontName CIDSystemInfo UIDBase CIDDevProc CIDCount
    466  syn keyword postscrConstant   contained CIDMapOffset FDArray FDBytes GDBytes GlyphData GlyphDictionary
    467  syn keyword postscrConstant   contained SDBytes SubrMapOffset SubrCount BuildGlyph CIDMap FID MIDVector
    468  syn keyword postscrConstant   contained Ordering Registry Supplement CMapName CMapVersion UIDOffset
    469  syn keyword postscrConstant   contained SubsVector UnderlineThickness FamilyName FontBBox CurMID
    470  syn keyword postscrConstant   contained Weight
    471 
    472 " PS2 User parameters
    473  syn keyword postscrConstant   contained MaxFontItem MinFontCompress MaxUPathItem MaxFormItem MaxPatternItem
    474  syn keyword postscrConstant   contained MaxScreenItem MaxOpStack MaxDictStack MaxExecStack MaxLocalVM
    475  syn keyword postscrConstant   contained VMReclaim VMThreshold
    476 
    477 " PS2 System parameters
    478  syn keyword postscrConstant   contained SystemParamsPassword StartJobPassword BuildTime ByteOrder RealFormat
    479  syn keyword postscrConstant   contained MaxFontCache CurFontCache MaxOutlineCache CurOutlineCache
    480  syn keyword postscrConstant   contained MaxUPathCache CurUPathCache MaxFormCache CurFormCache
    481  syn keyword postscrConstant   contained MaxPatternCache CurPatternCache MaxScreenStorage CurScreenStorage
    482  syn keyword postscrConstant   contained MaxDisplayList CurDisplayList
    483 
    484 " PS2 LZW Filters
    485  syn keyword postscrConstant   contained Predictor
    486 
    487 " Paper Size operators
    488  syn keyword postscrL2Operator   letter lettersmall legal ledger 11x17 a4 a3 a4small b5 note
    489 
    490 " Paper Tray operators
    491  syn keyword postscrL2Operator   lettertray legaltray ledgertray a3tray a4tray b5tray 11x17tray
    492 
    493 " SCC compatibility operators
    494  syn keyword postscrL2Operator   sccbatch sccinteractive setsccbatch setsccinteractive
    495 
    496 " Page duplexing operators
    497  syn keyword postscrL2Operator   duplexmode firstside newsheet setduplexmode settumble tumble
    498 
    499 " Device compatibility operators
    500  syn keyword postscrL2Operator   devdismount devformat devmount devstatus
    501  syn keyword postscrL2Repeat     devforall
    502 
    503 " Imagesetter compatibility operators
    504  syn keyword postscrL2Operator   accuratescreens checkscreen pagemargin pageparams setaccuratescreens setpage
    505  syn keyword postscrL2Operator   setpagemargin setpageparams
    506 
    507 " Misc compatibility operators
    508  syn keyword postscrL2Operator   appletalktype buildtime byteorder checkpassword defaulttimeouts diskonline
    509  syn keyword postscrL2Operator   diskstatus manualfeed manualfeedtimeout margins mirrorprint pagecount
    510  syn keyword postscrL2Operator   pagestackorder printername processcolors sethardwareiomode setjobtimeout
    511  syn keyword postscrL2Operator   setpagestockorder setprintername setresolution doprinterrors dostartpage
    512  syn keyword postscrL2Operator   hardwareiomode initializedisk jobname jobtimeout ramsize realformat resolution
    513  syn keyword postscrL2Operator   setdefaulttimeouts setdoprinterrors setdostartpage setdosysstart
    514  syn keyword postscrL2Operator   setuserdiskpercent softwareiomode userdiskpercent waittimeout
    515  syn keyword postscrL2Operator   setsoftwareiomode dosysstart emulate setmargins setmirrorprint
    516 
    517 endif " PS2 highlighting
    518 
    519 if postscr_level == 3
    520 " Shading operators
    521  syn keyword postscrL3Operator setsmoothness currentsmoothness shfill
    522 
    523 " Clip operators
    524  syn keyword postscrL3Operator clipsave cliprestore
    525 
    526 " Pagedevive operators
    527  syn keyword postscrL3Operator setpage setpageparams
    528 
    529 " Device gstate operators
    530  syn keyword postscrL3Operator findcolorrendering
    531 
    532 " Font operators
    533  syn keyword postscrL3Operator composefont
    534 
    535 " PS LL3 Output device resource entries
    536  syn keyword postscrConstant   contained DeviceN TrappingDetailsType
    537 
    538 " PS LL3 pagdevice dictionary entries
    539  syn keyword postscrConstant   contained DeferredMediaSelection ImageShift InsertSheet LeadingEdge MaxSeparations
    540  syn keyword postscrConstant   contained MediaClass MediaPosition OutputDevice PageDeviceName PageOffset ProcessColorModel
    541  syn keyword postscrConstant   contained RollFedMedia SeparationColorNames SeparationOrder Trapping TrappingDetails
    542  syn keyword postscrConstant   contained TraySwitch UseCIEColor
    543  syn keyword postscrConstant   contained ColorantDetails ColorantName ColorantType NeutralDensity TrappingOrder
    544  syn keyword postscrConstant   contained ColorantSetName
    545 
    546 " PS LL3 trapping dictionary entries
    547  syn keyword postscrConstant   contained BlackColorLimit BlackDensityLimit BlackWidth ColorantZoneDetails
    548  syn keyword postscrConstant   contained SlidingTrapLimit StepLimit TrapColorScaling TrapSetName TrapWidth
    549  syn keyword postscrConstant   contained ImageResolution ImageToObjectTrapping ImageTrapPlacement
    550  syn keyword postscrConstant   contained StepLimit TrapColorScaling Enabled ImageInternalTrapping
    551 
    552 " PS LL3 filters and entries
    553  syn keyword postscrConstant   contained ReusableStreamDecode CloseSource CloseTarget UnitSize LowBitFirst
    554  syn keyword postscrConstant   contained FlateEncode FlateDecode DecodeParams Intent AsyncRead
    555 
    556 " PS LL3 halftone dictionary entries
    557  syn keyword postscrConstant   contained Height2 Width2
    558 
    559 " PS LL3 function dictionary entries
    560  syn keyword postscrConstant   contained FunctionType Domain Range Order BitsPerSample Encode Size C0 C1 N
    561  syn keyword postscrConstant   contained Functions Bounds
    562 
    563 " PS LL3 image dictionary entries
    564  syn keyword postscrConstant   contained InterleaveType MaskDict DataDict MaskColor
    565 
    566 " PS LL3 Pattern and shading dictionary entries
    567  syn keyword postscrConstant   contained Shading ShadingType Background ColorSpace Coords Extend Function
    568  syn keyword postscrConstant   contained VerticesPerRow BitsPerCoordinate BitsPerFlag
    569 
    570 " PS LL3 image dictionary entries
    571  syn keyword postscrConstant   contained XOrigin YOrigin UnpaintedPath PixelCopy
    572 
    573 " PS LL3 colorrendering procedures
    574  syn keyword postscrProcedure  GetHalftoneName GetPageDeviceName GetSubstituteCRD
    575 
    576 " PS LL3 CIDInit procedures
    577  syn keyword postscrProcedure  beginbfchar beginbfrange begincidchar begincidrange begincmap begincodespacerange
    578  syn keyword postscrProcedure  beginnotdefchar beginnotdefrange beginrearrangedfont beginusematrix
    579  syn keyword postscrProcedure  endbfchar endbfrange endcidchar endcidrange endcmap endcodespacerange
    580  syn keyword postscrProcedure  endnotdefchar endnotdefrange endrearrangedfont endusematrix
    581  syn keyword postscrProcedure  StartData usefont usecmp
    582 
    583 " PS LL3 Trapping procedures
    584  syn keyword postscrProcedure  settrapparams currenttrapparams settrapzone
    585 
    586 " PS LL3 BitmapFontInit procedures
    587  syn keyword postscrProcedure  removeall removeglyphs
    588 
    589 " PS LL3 Font names
    590  if exists("postscr_fonts")
    591    syn keyword postscrConstant contained AlbertusMT AlbertusMT-Italic AlbertusMT-Light Apple-Chancery Apple-ChanceryCE
    592    syn keyword postscrConstant contained AntiqueOlive-Roman AntiqueOlive-Italic AntiqueOlive-Bold AntiqueOlive-Compact
    593    syn keyword postscrConstant contained AntiqueOliveCE-Roman AntiqueOliveCE-Italic AntiqueOliveCE-Bold AntiqueOliveCE-Compact
    594    syn keyword postscrConstant contained ArialMT Arial-ItalicMT Arial-LightMT Arial-BoldMT Arial-BoldItalicMT
    595    syn keyword postscrConstant contained ArialCE ArialCE-Italic ArialCE-Light ArialCE-Bold ArialCE-BoldItalic
    596    syn keyword postscrConstant contained AvantGarde-Book AvantGarde-BookOblique AvantGarde-Demi AvantGarde-DemiOblique
    597    syn keyword postscrConstant contained AvantGardeCE-Book AvantGardeCE-BookOblique AvantGardeCE-Demi AvantGardeCE-DemiOblique
    598    syn keyword postscrConstant contained Bodoni Bodoni-Italic Bodoni-Bold Bodoni-BoldItalic Bodoni-Poster Bodoni-PosterCompressed
    599    syn keyword postscrConstant contained BodoniCE BodoniCE-Italic BodoniCE-Bold BodoniCE-BoldItalic BodoniCE-Poster BodoniCE-PosterCompressed
    600    syn keyword postscrConstant contained Bookman-Light Bookman-LightItalic Bookman-Demi Bookman-DemiItalic
    601    syn keyword postscrConstant contained BookmanCE-Light BookmanCE-LightItalic BookmanCE-Demi BookmanCE-DemiItalic
    602    syn keyword postscrConstant contained Carta Chicago ChicagoCE Clarendon Clarendon-Light Clarendon-Bold
    603    syn keyword postscrConstant contained ClarendonCE ClarendonCE-Light ClarendonCE-Bold CooperBlack CooperBlack-Italic
    604    syn keyword postscrConstant contained Copperplate-ThirtyTwoBC Copperplate-ThirtyThreeBC Coronet-Regular CoronetCE-Regular
    605    syn keyword postscrConstant contained CourierCE CourierCE-Oblique CourierCE-Bold CourierCE-BoldOblique
    606    syn keyword postscrConstant contained Eurostile Eurostile-Bold Eurostile-ExtendedTwo Eurostile-BoldExtendedTwo
    607    syn keyword postscrConstant contained Eurostile EurostileCE-Bold EurostileCE-ExtendedTwo EurostileCE-BoldExtendedTwo
    608    syn keyword postscrConstant contained Geneva GenevaCE GillSans GillSans-Italic GillSans-Bold GillSans-BoldItalic GillSans-Condensed GillSans-BoldCondensed
    609    syn keyword postscrConstant contained GillSans-Light GillSans-LightItalic GillSans-ExtraBold
    610    syn keyword postscrConstant contained GillSansCE-Roman GillSansCE-Italic GillSansCE-Bold GillSansCE-BoldItalic GillSansCE-Condensed GillSansCE-BoldCondensed
    611    syn keyword postscrConstant contained GillSansCE-Light GillSansCE-LightItalic GillSansCE-ExtraBold
    612    syn keyword postscrConstant contained Goudy Goudy-Italic Goudy-Bold Goudy-BoldItalic Goudy-ExtraBold
    613    syn keyword postscrConstant contained HelveticaCE HelveticaCE-Oblique HelveticaCE-Bold HelveticaCE-BoldOblique
    614    syn keyword postscrConstant contained Helvetica-Condensed Helvetica-Condensed-Oblique Helvetica-Condensed-Bold Helvetica-Condensed-BoldObl
    615    syn keyword postscrConstant contained HelveticaCE-Condensed HelveticaCE-Condensed-Oblique HelveticaCE-Condensed-Bold
    616    syn keyword postscrConstant contained HelveticaCE-Condensed-BoldObl Helvetica-Narrow Helvetica-Narrow-Oblique Helvetica-Narrow-Bold
    617    syn keyword postscrConstant contained Helvetica-Narrow-BoldOblique HelveticaCE-Narrow HelveticaCE-Narrow-Oblique HelveticaCE-Narrow-Bold
    618    syn keyword postscrConstant contained HelveticaCE-Narrow-BoldOblique HoeflerText-Regular HoeflerText-Italic HoeflerText-Black
    619    syn keyword postscrConstant contained HoeflerText-BlackItalic HoeflerText-Ornaments HoeflerTextCE-Regular HoeflerTextCE-Italic
    620    syn keyword postscrConstant contained HoeflerTextCE-Black HoeflerTextCE-BlackItalic
    621    syn keyword postscrConstant contained JoannaMT JoannaMT-Italic JoannaMT-Bold JoannaMT-BoldItalic
    622    syn keyword postscrConstant contained JoannaMTCE JoannaMTCE-Italic JoannaMTCE-Bold JoannaMTCE-BoldItalic
    623    syn keyword postscrConstant contained LetterGothic LetterGothic-Slanted LetterGothic-Bold LetterGothic-BoldSlanted
    624    syn keyword postscrConstant contained LetterGothicCE LetterGothicCE-Slanted LetterGothicCE-Bold LetterGothicCE-BoldSlanted
    625    syn keyword postscrConstant contained LubalinGraph-Book LubalinGraph-BookOblique LubalinGraph-Demi LubalinGraph-DemiOblique
    626    syn keyword postscrConstant contained LubalinGraphCE-Book LubalinGraphCE-BookOblique LubalinGraphCE-Demi LubalinGraphCE-DemiOblique
    627    syn keyword postscrConstant contained Marigold Monaco MonacoCE MonaLisa-Recut Oxford Symbol Tekton
    628    syn keyword postscrConstant contained NewCenturySchlbk-Roman NewCenturySchlbk-Italic NewCenturySchlbk-Bold NewCenturySchlbk-BoldItalic
    629    syn keyword postscrConstant contained NewCenturySchlbkCE-Roman NewCenturySchlbkCE-Italic NewCenturySchlbkCE-Bold
    630    syn keyword postscrConstant contained NewCenturySchlbkCE-BoldItalic NewYork NewYorkCE
    631    syn keyword postscrConstant contained Optima Optima-Italic Optima-Bold Optima-BoldItalic
    632    syn keyword postscrConstant contained OptimaCE OptimaCE-Italic OptimaCE-Bold OptimaCE-BoldItalic
    633    syn keyword postscrConstant contained Palatino-Roman Palatino-Italic Palatino-Bold Palatino-BoldItalic
    634    syn keyword postscrConstant contained PalatinoCE-Roman PalatinoCE-Italic PalatinoCE-Bold PalatinoCE-BoldItalic
    635    syn keyword postscrConstant contained StempelGaramond-Roman StempelGaramond-Italic StempelGaramond-Bold StempelGaramond-BoldItalic
    636    syn keyword postscrConstant contained StempelGaramondCE-Roman StempelGaramondCE-Italic StempelGaramondCE-Bold StempelGaramondCE-BoldItalic
    637    syn keyword postscrConstant contained TimesCE-Roman TimesCE-Italic TimesCE-Bold TimesCE-BoldItalic
    638    syn keyword postscrConstant contained TimesNewRomanPSMT TimesNewRomanPS-ItalicMT TimesNewRomanPS-BoldMT TimesNewRomanPS-BoldItalicMT
    639    syn keyword postscrConstant contained TimesNewRomanCE TimesNewRomanCE-Italic TimesNewRomanCE-Bold TimesNewRomanCE-BoldItalic
    640    syn keyword postscrConstant contained Univers Univers-Oblique Univers-Bold Univers-BoldOblique
    641    syn keyword postscrConstant contained UniversCE-Medium UniversCE-Oblique UniversCE-Bold UniversCE-BoldOblique
    642    syn keyword postscrConstant contained Univers-Light Univers-LightOblique UniversCE-Light UniversCE-LightOblique
    643    syn keyword postscrConstant contained Univers-Condensed Univers-CondensedOblique Univers-CondensedBold Univers-CondensedBoldOblique
    644    syn keyword postscrConstant contained UniversCE-Condensed UniversCE-CondensedOblique UniversCE-CondensedBold UniversCE-CondensedBoldOblique
    645    syn keyword postscrConstant contained Univers-Extended Univers-ExtendedObl Univers-BoldExt Univers-BoldExtObl
    646    syn keyword postscrConstant contained UniversCE-Extended UniversCE-ExtendedObl UniversCE-BoldExt UniversCE-BoldExtObl
    647    syn keyword postscrConstant contained Wingdings-Regular ZapfChancery-MediumItalic ZapfChanceryCE-MediumItalic ZapfDingbats
    648  endif " Font names
    649 
    650 endif " PS LL3 highlighting
    651 
    652 
    653 if exists("postscr_ghostscript")
    654  " GS gstate operators
    655  syn keyword postscrGSOperator   .setaccuratecurves .currentaccuratecurves .setclipoutside
    656  syn keyword postscrGSOperator   .setdashadapt .currentdashadapt .setdefaultmatrix .setdotlength
    657  syn keyword postscrGSOperator   .currentdotlength .setfilladjust2 .currentfilladjust2
    658  syn keyword postscrGSOperator   .currentclipoutside .setcurvejoin .currentcurvejoin
    659  syn keyword postscrGSOperator   .setblendmode .currentblendmode .setopacityalpha .currentopacityalpha .setshapealpha .currentshapealpha
    660  syn keyword postscrGSOperator   .setlimitclamp .currentlimitclamp .setoverprintmode .currentoverprintmode
    661 
    662  " GS path operators
    663  syn keyword postscrGSOperator   .dashpath .rectappend
    664 
    665  " GS painting operators
    666  syn keyword postscrGSOperator   .setrasterop .currentrasterop .setsourcetransparent
    667  syn keyword postscrGSOperator   .settexturetransparent .currenttexturetransparent
    668  syn keyword postscrGSOperator   .currentsourcetransparent
    669 
    670  " GS character operators
    671  syn keyword postscrGSOperator   .charboxpath .type1execchar %Type1BuildChar %Type1BuildGlyph
    672 
    673  " GS mathematical operators
    674  syn keyword postscrGSMathOperator arccos arcsin
    675 
    676  " GS dictionary operators
    677  syn keyword postscrGSOperator   .dicttomark .forceput .forceundef .knownget .setmaxlength
    678 
    679  " GS byte and string operators
    680  syn keyword postscrGSOperator   .type1encrypt .type1decrypt
    681  syn keyword postscrGSOperator   .bytestring .namestring .stringmatch
    682 
    683  " GS relational operators (seem like math ones to me!)
    684  syn keyword postscrGSMathOperator max min
    685 
    686  " GS file operators
    687  syn keyword postscrGSOperator   findlibfile unread writeppmfile
    688  syn keyword postscrGSOperator   .filename .fileposition .peekstring .unread
    689 
    690  " GS vm operators
    691  syn keyword postscrGSOperator   .forgetsave
    692 
    693  " GS device operators
    694  syn keyword postscrGSOperator   copydevice .getdevice makeimagedevice makewordimagedevice copyscanlines
    695  syn keyword postscrGSOperator   setdevice currentdevice getdeviceprops putdeviceprops flushpage
    696  syn keyword postscrGSOperator   finddevice findprotodevice .getbitsrect
    697 
    698  " GS misc operators
    699  syn keyword postscrGSOperator   getenv .makeoperator .setdebug .oserrno .oserror .execn
    700 
    701  " GS rendering stack operators
    702  syn keyword postscrGSOperator   .begintransparencygroup .discardtransparencygroup .endtransparencygroup
    703  syn keyword postscrGSOperator   .begintransparencymask .discardtransparencymask .endtransparencymask .inittransparencymask
    704  syn keyword postscrGSOperator   .settextknockout .currenttextknockout
    705 
    706  " GS filters
    707  syn keyword postscrConstant   contained BCPEncode BCPDecode eexecEncode eexecDecode PCXDecode
    708  syn keyword postscrConstant   contained PixelDifferenceEncode PixelDifferenceDecode
    709  syn keyword postscrConstant   contained PNGPredictorDecode TBCPEncode TBCPDecode zlibEncode
    710  syn keyword postscrConstant   contained zlibDecode PNGPredictorEncode PFBDecode
    711  syn keyword postscrConstant   contained MD5Encode
    712 
    713  " GS filter keys
    714  syn keyword postscrConstant   contained InitialCodeLength FirstBitLowOrder BlockData DecodedByteAlign
    715 
    716  " GS device parameters
    717  syn keyword postscrConstant   contained BitsPerPixel .HWMargins HWSize Name GrayValues
    718  syn keyword postscrConstant   contained ColorValues TextAlphaBits GraphicsAlphaBits BufferSpace
    719  syn keyword postscrConstant   contained OpenOutputFile PageCount BandHeight BandWidth BandBufferSpace
    720  syn keyword postscrConstant   contained ViewerPreProcess GreenValues BlueValues OutputFile
    721  syn keyword postscrConstant   contained MaxBitmap RedValues
    722 
    723 endif " GhostScript highlighting
    724 
    725 " Define the default highlighting.
    726 " Only when an item doesn't have highlighting yet
    727 
    728 hi def link postscrComment         Comment
    729 
    730 hi def link postscrConstant        Constant
    731 hi def link postscrString          String
    732 hi def link postscrASCIIString     postscrString
    733 hi def link postscrHexString       postscrString
    734 hi def link postscrASCII85String   postscrString
    735 hi def link postscrNumber          Number
    736 hi def link postscrInteger         postscrNumber
    737 hi def link postscrHex             postscrNumber
    738 hi def link postscrRadix           postscrNumber
    739 hi def link postscrFloat           Float
    740 hi def link postscrBoolean         Boolean
    741 
    742 hi def link postscrIdentifier      Identifier
    743 hi def link postscrProcedure       Function
    744 
    745 hi def link postscrName            Statement
    746 hi def link postscrConditional     Conditional
    747 hi def link postscrRepeat          Repeat
    748 hi def link postscrL2Repeat        postscrRepeat
    749 hi def link postscrOperator        Operator
    750 hi def link postscrL1Operator      postscrOperator
    751 hi def link postscrL2Operator      postscrOperator
    752 hi def link postscrL3Operator      postscrOperator
    753 hi def link postscrMathOperator    postscrOperator
    754 hi def link postscrLogicalOperator postscrOperator
    755 hi def link postscrBinaryOperator  postscrOperator
    756 
    757 hi def link postscrDSCComment      SpecialComment
    758 hi def link postscrSpecialChar     SpecialChar
    759 
    760 hi def link postscrTodo            Todo
    761 
    762 hi def link postscrError           Error
    763 hi def link postscrSpecialCharError postscrError
    764 hi def link postscrASCII85CharError postscrError
    765 hi def link postscrHexCharError    postscrError
    766 hi def link postscrASCIIStringError postscrError
    767 hi def link postscrIdentifierError postscrError
    768 
    769 if exists("postscr_ghostscript")
    770 hi def link postscrGSOperator      postscrOperator
    771 hi def link postscrGSMathOperator  postscrMathOperator
    772 else
    773 hi def link postscrGSOperator      postscrError
    774 hi def link postscrGSMathOperator  postscrError
    775 endif
    776 
    777 
    778 let b:current_syntax = "postscr"
    779 
    780 " vim: ts=8