Skip to content

Instantly share code, notes, and snippets.

@nst
Last active January 24, 2024 09:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nst/56744072a0f8c298f6426d7a98803e9f to your computer and use it in GitHub Desktop.
Save nst/56744072a0f8c298f6426d7a98803e9f to your computer and use it in GitHub Desktop.
BBEdit Language Module for PostScript
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<!--
Nicolas Seriot
2024-01-24
https://gist.github.com/nst/56744072a0f8c298f6426d7a98803e9f
-->
<dict>
<key>BBEditDocumentType</key>
<string>CodelessLanguageModule</string>
<key>BBLMLanguageDisplayName</key> <string>PostScript</string>
<key>BBLMLanguageCode</key> <string>PS</string>
<key>BBLMSupportsTextCompletion</key> <false/>
<key>BBLMLanguageSuffix</key> <string>.ps</string>
<key>BBLMPreferredFilenameExtension</key> <string>ps</string>
<key>BBLMColorsSyntax</key> <true/>
<key>BBLMScansFunctions</key> <true/>
<key>BBLMKeywordList</key>
<array>
<string></string>
<string>pop</string>
<string>copy</string>
<string>dup</string>
<string>index</string>
<string>roll</string>
<string>clear</string>
<string>count</string>
<string>mark</string>
<string>cleartomark</string>
<string>countomark</string>
<string>add</string>
<string>div</string>
<string>sub</string>
<string>idiv</string>
<string>mul</string>
<string>mod</string>
<string>abs</string>
<string>neg</string>
<string>ceiling</string>
<string>floor</string>
<string>round</string>
<string>truncate</string>
<string>sqrt</string>
<string>atan</string>
<string>cos</string>
<string>sin</string>
<string>exp</string>
<string>ln</string>
<string>log</string>
<string>rand</string>
<string>srand</string>
<string>rrand</string>
<string>array</string>
<string>[</string>
<string>]</string>
<string>length</string>
<string>get</string>
<string>put</string>
<string>getinterval</string>
<string>putinterval</string>
<string>aload</string>
<string>astore</string>
<string>copy</string>
<string>forall</string>
<string>dict</string>
<string>length</string>
<string>maxlength</string>
<string>begin </string>
<string>end</string>
<string>def</string>
<string>load</string>
<string>store</string>
<string>get</string>
<string>put</string>
<string>known</string>
<string>where</string>
<string>copy</string>
<string>forall</string>
<string>errordict</string>
<string>systemdict</string>
<string>userdict</string>
<string>currentdict</string>
<string>countdictstack</string>
<string>dictstack</string>
<string>string</string>
<string>length</string>
<string>get</string>
<string>put</string>
<string>getinterval</string>
<string>putinterval</string>
<string>copy</string>
<string>forall</string>
<string>anchorsearch</string>
<string>search</string>
<string>token</string>
<string>eq</string>
<string>ne</string>
<string>ge</string>
<string>gt</string>
<string>le</string>
<string>lt</string>
<string>and</string>
<string>not</string>
<string>or</string>
<string>xor</string>
<string>true</string>
<string>false</string>
<string>bitshift</string>
<string>exec</string>
<string>if</string>
<string>ifelse</string>
<string>for</string>
<string>repeat</string>
<string>loop</string>
<string>exit</string>
<string>stop</string>
<string>stopped</string>
<string>countexecstack</string>
<string>execstack</string>
<string>quit</string>
<string>start</string>
<string>type</string>
<string>cvlit</string>
<string>cvx</string>
<string>xcheck</string>
<string>executeonly</string>
<string>noaccess</string>
<string>readonly</string>
<string>rcheck</string>
<string>wcheck</string>
<string>cvi</string>
<string>cvn</string>
<string>cvr</string>
<string>cvrs</string>
<string>cvs</string>
<string>file</string>
<string>closefile</string>
<string>read</string>
<string>write</string>
<string>readhexstring</string>
<string>writehexstring</string>
<string>readstring</string>
<string>writestring</string>
<string>readline</string>
<string>token</string>
<string>bytesavailable</string>
<string>flush</string>
<string>flushfile</string>
<string>resetfile</string>
<string>status</string>
<string>run</string>
<string>currentfile</string>
<string>print</string>
<string>=</string>
<string>stack</string>
<string>==</string>
<string>pstack</string>
<string>prompt</string>
<string>echo</string>
<string>save</string>
<string>restore</string>
<string>vmstatus</string>
<string>bind</string>
<string>null</string>
<string>usertime</string>
<string>version</string>
<string>gsave</string>
<string>grestore</string>
<string>grestoreall</string>
<string>initgraphics</string>
<string>setlinewidth</string>
<string>currentlinewidth</string>
<string>setlinecap</string>
<string>currentlinecap</string>
<string>setlinejoin</string>
<string>currentlinejoin</string>
<string>setmiterlimit</string>
<string>currentmiterlimit</string>
<string>setdash</string>
<string>currentdash</string>
<string>setflat</string>
<string>currentflat</string>
<string>setgray</string>
<string>currentgray</string>
<string>sethsbcolor</string>
<string>currenthsbcolor</string>
<string>setrgbcolor</string>
<string>currentrgbcolor</string>
<string>setscreen</string>
<string>currentscreen</string>
<string>settransfer</string>
<string>currenttransfer</string>
<string>matrix</string>
<string>initmatrix</string>
<string>identmatrix</string>
<string>defaultmatrix</string>
<string>currentmatrix</string>
<string>setmatrix</string>
<string>translate</string>
<string>translate</string>
<string>scale</string>
<string>scale</string>
<string>rotate</string>
<string>rotate</string>
<string>concat</string>
<string>concatmatrix</string>
<string>transform</string>
<string>transform</string>
<string>dtransform</string>
<string>dtransform</string>
<string>itransform</string>
<string>itransform</string>
<string>idtransform</string>
<string>idtransform</string>
<string>invertmatrix</string>
<string>newpath</string>
<string>currentpoint</string>
<string>moveto</string>
<string>rmoveto</string>
<string>lineto</string>
<string>rlineto</string>
<string>arc</string>
<string>arcn</string>
<string>arcto</string>
<string>curveto</string>
<string>rcurveto</string>
<string>closepath</string>
<string>flattenpath</string>
<string>reversepath</string>
<string>strokepath</string>
<string>charpath</string>
<string>clippath</string>
<string>pathbbox</string>
<string>pathforall</string>
<string>initclip</string>
<string>clip</string>
<string>eoclip</string>
<string>erasepage</string>
<string>fill</string>
<string>eofill</string>
<string>stroke</string>
<string>image</string>
<string>imagemask</string>
<string>showpage</string>
<string>copypage</string>
<string>banddevice</string>
<string>framedevice</string>
<string>nulldevice</string>
<string>renderbands</string>
<string>definefont</string>
<string>findfont</string>
<string>scalefont</string>
<string>makefont</string>
<string>setfont</string>
<string>currentfont</string>
<string>show</string>
<string>ashow</string>
<string>widthshow</string>
<string>awidthshow</string>
<string>kshow</string>
<string>stringwidth</string>
<string>FontDirectory</string>
<string>StandardEncoding </string>
<string>cachestatus</string>
<string>setcachedevice</string>
<string>setcharwidth</string>
<string>setcachelimit</string>
<string>dictfull</string>
<string>dictstackoverflow</string>
<string>dictstackunderflow</string>
<string>execstackoverflow</string>
<string>handleerror</string>
<string>interrupt</string>
<string>invalidaccess</string>
<string>invalidexit</string>
<string>invalidfileaccess</string>
<string>invalidfont</string>
<string>invalidrestore</string>
<string>ioerror</string>
<string>limitcheck</string>
<string>nocurrentpoint</string>
<string>rangecheck</string>
<string>stackoverflow</string>
<string>stackunderflow</string>
<string>syntaxerror</string>
<string>timeout</string>
<string>typecheck</string>
<string>undefined</string>
<string>undefinedfilename</string>
<string>undefinedresult</string>
<string>unmatchedmark</string>
<string>unregistered</string>
<string>VMerror</string>
</array>
<key>Language Features</key>
<dict>
<key>Identifier and Keyword Character Class</key>
<string>A-Za-z0-9_</string>
<key>Function Pattern</key>
<string><![CDATA[
(?x:
(?P<function>
\n\/(?P<function_name>
[a-zA-Z0-9_!?]+
)
(?s:.+?)
)
)
]]>
</string>
<key>Comment Pattern</key>
<string><![CDATA[
(?x:
(%.*$) | (?# Line comment)
)
]]>
</string>
</dict>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment