📄 postscr.vim
字号:
" Vim syntax file" Language: PostScript - all Levels, selectable" Maintainer: Mike Williams <mrw@netcomuk.co.uk>" Filenames: *.ps,*.eps" Last Change: 6th June 2000" URL: http://www.netcomuk.co.uk/~mrw/vim"" Options Flags:" postscr_level - language level to use for highligting (1, 2, or 3)" postscr_display - include display PS operators" postscr_ghostscript - include GS extensions" postscr_fonts - highlight standard font names (a lot for PS 3)" postscr_encodings - highlight encoding names (there are a lot)" postscr_andornot_binary - highlight and, or, and not as binary operators (not logical)"" For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600 syntax clearelseif exists("b:current_syntax") finishendif" PostScript is case sensitivesyn case match" Keyword characters - all 7-bit ASCII bar PS delimiters and wsif version < 600 set iskeyword=33-127,^(,^),^<,^>,^[,^],^{,^},^/,^%else setlocal iskeyword=33-127,^(,^),^<,^>,^[,^],^{,^},^/,^%endif" Yer trusty old TODO highlghter!syn keyword postscrTodo contained TODO" Commentsyn match postscrComment "%.*$" contains=postscrTodo" DSC comment start line (NB: defines DSC level, not PS level!)syn match postscrDSCComment "^%!PS-Adobe-\d\+\.\d\+\s*.*$"" DSC comment line (no check on possible comments - another language!)syn match postscrDSCComment "^%%\u\+.*$" contains=@postscrString,@postscrNumber" DSC continuation line (no check that previous line is DSC comment)syn match postscrDSCComment "^%%+ *.*$" contains=@postscrString,@postscrNumber" Namessyn match postscrName "\k\+"" Identifierssyn match postscrIdentifierError "/\{1,2}[[:space:]\[\]{}]"me=e-1syn match postscrIdentifier "/\{1,2}\k\+" contains=postscrConstant,postscrBoolean,postscrCustConstant" Numberssyn case ignore" In file hex data - usually complete linessyn match postscrHex "^[[:xdigit:]][[:xdigit:][:space:]]*$"syn match postscrHex "\<\x\{2,}\>"" Integerssyn match postscrInteger "\<[+-]\=\d\+\>"" Radixsyn match postscrRadix "\d\+#\x\+\>"" Reals - upper and lower case e is allowedsyn match postscrFloat "[+-]\=\d\+\.\>"syn match postscrFloat "[+-]\=\d\+\.\d*\(e[+-]\=\d\+\)\=\>"syn match postscrFloat "[+-]\=\.\d\+\(e[+-]\=\d\+\)\=\>"syn match postscrFloat "[+-]\=\d\+e[+-]\=\d\+\>"syn cluster postscrNumber contains=postscrInteger,postscrRadix,postscrFloatsyn case match" Escaped characterssyn match postscrSpecialChar contained "\\[nrtbf\\()]"syn match postscrSpecialCharError contained "\\[^nrtbf\\()]"he=e-1" Escaped octal characterssyn match postscrSpecialChar contained "\\\o\{1,3}"" Strings" ASCII stringssyn region postscrASCIIString start=+(+ end=+)+ skip=+([^)]*)+ contains=postscrSpecialChar,postscrSpecialCharError" Hex stringssyn match postscrHexCharError contained "[^<>[:xdigit:][:space:]]"syn region postscrHexString start=+<\($\|[^<]\)+ end=+>+ contains=postscrHexCharErrorsyn match postscrHexString "<>"" ASCII85 stringssyn match postscrASCII85CharError contained "[^<>\~!-uz[:space:]]"syn region postscrASCII85String start=+<\~+ end=+\~>+ contains=postscrASCII85CharErrorsyn cluster postscrString contains=postscrASCIIString,postscrHexString,postscrASCII85String" Set default highlighting to level 2 - most common at the momentif !exists("postscr_level") let postscr_level = 2endif" PS level 1 operators - common to all levels (well ...)" Stack operatorssyn keyword postscrOperator pop exch dup copy index roll clear count mark cleartomark counttomark" Math operatorssyn keyword postscrMathOperator add div idiv mod mul sub abs neg ceiling floor round truncate sqrt atan cossyn keyword postscrMathOperator sin exp ln log rand srand rrand" Array operatorssyn match postscrOperator "[\[\]{}]"syn keyword postscrOperator array length get put getinterval putinterval astore aload copysyn keyword postscrRepeat forall" Dictionary operatorssyn keyword postscrOperator dict maxlength begin end def load store known where currentdictsyn keyword postscrOperator countdictstack dictstack cleardictstack internaldictsyn keyword postscrConstant $error systemdict userdict statusdict errordict" String operatorssyn keyword postscrOperator string anchorsearch search token" Logic operatorssyn keyword postscrLogicalOperator eq ne ge gt le lt and not orif exists("postscr_andornot_binaryop") syn keyword postscrBinaryOperator and or notelse syn keyword postscrLogicalOperator and not orendifsyn keyword postscrBinaryOperator xor bitshiftsyn keyword postscrBoolean true false" PS Type namessyn keyword postscrConstant arraytype booleantype conditiontype dicttype filetype fonttype gstatetypesyn keyword postscrConstant integertype locktype marktype nametype nulltype operatortypesyn keyword postscrConstant packedarraytype realtype savetype stringtype" Control operatorssyn keyword postscrConditional if ifelsesyn keyword postscrRepeat for repeat loopsyn keyword postscrOperator exec exit stop stopped countexecstack execstack quitsyn keyword postscrProcedure start" Object operatorssyn keyword postscrOperator type cvlit cvx xcheck executeonly noaccess readonly rcheck wcheck cvi cvn cvrsyn keyword postscrOperator cvrs cvs" File operatorssyn keyword postscrOperator file closefile read write readhexstring writehexstring readstring writestringsyn keyword postscrOperator bytesavailable flush flushfile resetfile status run currentfile printsyn keyword postscrOperator stack pstack readline deletefile setfileposition fileposition renamefilesyn keyword postscrRepeat filenameforallsyn keyword postscrProcedure = ==" VM operatorssyn keyword postscrOperator save restore" Misc operatorssyn keyword postscrOperator bind null usertime executive echo realtimesyn keyword postscrConstant product revision serialnumber versionsyn keyword postscrProcedure prompt" GState operatorssyn keyword postscrOperator gsave grestore grestoreall initgraphics setlinewidth setlinecap currentgraysyn keyword postscrOperator currentlinejoin setmiterlimit currentmiterlimit setdash currentdash setgraysyn keyword postscrOperator sethsbcolor currenthsbcolor setrgbcolor currentrgbcolor currentlinewidthsyn keyword postscrOperator currentlinecap setlinejoin setcmykcolor currentcmykcolor" Device gstate operatorssyn keyword postscrOperator setscreen currentscreen settransfer currenttransfer setflat currentflatsyn keyword postscrOperator currentblackgeneration setblackgeneration setundercolorremovalsyn keyword postscrOperator setcolorscreen currentcolorscreen setcolortransfer currentcolortransfersyn keyword postscrOperator currentundercolorremoval" Matrix operatorssyn keyword postscrOperator matrix initmatrix identmatrix defaultmatrix currentmatrix setmatrix translatesyn keyword postscrOperator concat concatmatrix transform dtransform itransform idtransform invertmatrixsyn keyword postscrOperator scale rotate" Path operatorssyn keyword postscrOperator newpath currentpoint moveto rmoveto lineto rlineto arc arcn arcto curvetosyn keyword postscrOperator closepath flattenpath reversepath strokepath charpath clippath pathbboxsyn keyword postscrOperator initclip clip eoclip rcurvetosyn keyword postscrRepeat pathforall" Painting operatorssyn keyword postscrOperator erasepage fill eofill stroke image imagemask colorimage" Device operatorssyn keyword postscrOperator showpage copypage nulldevice" Character operatorssyn keyword postscrProcedure findfontsyn keyword postscrConstant FontDirectory ISOLatin1Encoding StandardEncodingsyn keyword postscrOperator definefont scalefont makefont setfont currentfont show ashowsyn keyword postscrOperator stringwidth kshow setcachedevicesyn keyword postscrOperator setcharwidth widthshow awidthshow findencoding cshow rootfont setcachedevice2" Interpreter operatorssyn keyword postscrOperator vmstatus cachestatus setcachelimit" PS constantssyn keyword postscrConstant contained Gray Red Green Blue All None DeviceGray DeviceRGB" PS Filterssyn keyword postscrConstant contained ASCIIHexDecode ASCIIHexEncode ASCII85Decode ASCII85Encode LZWDecodesyn keyword postscrConstant contained RunLengthDecode RunLengthEncode SubFileDecode NullEncodesyn keyword postscrConstant contained GIFDecode PNGDecode LZWEncode" PS JPEG filter dictionary entriessyn keyword postscrConstant contained DCTEncode DCTDecode Colors HSamples VSamples QuantTables QFactorsyn keyword postscrConstant contained HuffTables ColorTransform" PS CCITT filter dictionary entriessyn keyword postscrConstant contained CCITTFaxEncode CCITTFaxDecode Uncompressed K EndOfLinesyn keyword postscrConstant contained Columns Rows EndOfBlock Blacks1 DamagedRowsBeforeErrorsyn keyword postscrConstant contained EncodedByteAlign" PS Form dictionary entriessyn keyword postscrConstant contained FormType XUID BBox Matrix PaintProc Implementation" PS Errorssyn keyword postscrProcedure handleerrorsyn keyword postscrConstant contained configurationerror dictfull dictstackunderflow dictstackoverflowsyn keyword postscrConstant contained execstackoverflow interrupt invalidaccesssyn keyword postscrConstant contained invalidcontext invalidexit invalidfileaccess invalidfontsyn keyword postscrConstant contained invalidid invalidrestore ioerror limitcheck nocurrentpointsyn keyword postscrConstant contained rangecheck stackoverflow stackunderflow syntaxerror timeoutsyn keyword postscrConstant contained typecheck undefined undefinedfilename undefinedresourcesyn keyword postscrConstant contained undefinedresult unmatchedmark unregistered VMerrorif exists("postscr_fonts")" Font names syn keyword postscrConstant contained Symbol Times-Roman Times-Italic Times-Bold Times-BoldItalic syn keyword postscrConstant contained Helvetica Helvetica-Oblique Helvetica-Bold Helvetica-BoldOblique syn keyword postscrConstant contained Courier Courier-Oblique Courier-Bold Courier-BoldObliqueendifif exists("postscr_display")" Display PS only operators syn keyword postscrOperator currentcontext fork join detach lock monitor condition wait notify yield syn keyword postscrOperator viewclip eoviewclip rectviewclip initviewclip viewclippath deviceinfo syn keyword postscrOperator sethalftonephase currenthalftonephase wtranslation defineusernameendif" PS Character encoding namesif exists("postscr_encodings")" Common encoding names syn keyword postscrConstant contained .notdef" Standard and ISO encoding names syn keyword postscrConstant contained space exclam quotedbl numbersign dollar percent ampersand quoteright syn keyword postscrConstant contained parenleft parenright asterisk plus comma hyphen period slash zero syn keyword postscrConstant contained one two three four five six seven eight nine colon semicolon less syn keyword postscrConstant contained equal greater question at syn keyword postscrConstant contained bracketleft backslash bracketright asciicircum underscore quoteleft syn keyword postscrConstant contained braceleft bar braceright asciitilde syn keyword postscrConstant contained exclamdown cent sterling fraction yen florin section currency syn keyword postscrConstant contained quotesingle quotedblleft guillemotleft guilsinglleft guilsinglright syn keyword postscrConstant contained fi fl endash dagger daggerdbl periodcentered paragraph bullet syn keyword postscrConstant contained quotesinglbase quotedblbase quotedblright guillemotright ellipsis syn keyword postscrConstant contained perthousand questiondown grave acute circumflex tilde macron breve
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -