Re: postscript style for source-hightlight

Lorenzo Bettini <[email protected]> Sun, 25 Mar 2007 10:29:01 +0000
Newsgroups gmane.comp.gnu.source-highlight.general
Message-ID <[email protected]>
Hi

this is my attempt, I attach the new postscript.lang definition

The only modification is this one:

environment string delim "(" ")" multiline nested begin
  specialchar = '\\.'
end

and an example of output (by the way, emacs does not highlight it
correctly ;-)

hope to hear from you soon
cheers
	Lorenzo

-- 
Lorenzo Bettini, PhD in Computer Science, DSI, Univ. di Firenze
ICQ# lbetto, 16080134     (GNU/Linux User # 158233)
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
BLOGS: http://tronprog.blogspot.com  http://longlivemusic.blogspot.com
http://www.gnu.org/software/src-highlite
http://www.gnu.org/software/gengetopt
http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net

_______________________________________________
Help-source-highlight mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-source-highlight
postscript.lang (text/plain, 4.2 KB)
# by Dirk Jagdmann, http://cubic.org/~doj

vardef ID = '[[:word:]]+'
variable = '/' + $ID

keyword = "abs|add|aload|anchorsearch|and|arc|arcn|arct|arcto|array|ashow|astore|atan|awidthshow",
	"begin|bind|bitshift|bytesavailable",
	"cachestatus|ceiling|charpath|clear|cleartomark|cleardictstack|clip|clippath|closefile|closepath|colorimage|concat|concatmatrix|condition|configurationerror|copy|copypage|cos|count|countdictstack|countexecstack|counttomark|cshow|currentblackgeneration|currentcacheparams|currentcmykcolor|currentcolor|currentcolorrendering|currentcolorscreen|currentcolorspace|currentcolortransfer|currentcontext|currentdash|currentdevparams|currentdict|currentfile|currentflat|currentfont|currentglobal|currentgray|currentgstate|currenthalftone|currenthalftonephase|currenthsbcolor|currentlinecap|currentlinejoin|currentlinewidth|currentmatrix|currentmiterlimit|currentobjectformat|currentpacking|currentpagedevice|currentpoint|currentrgbcolor|currentscreen|currentshared|currentstrokeadjust|currentsystemparams|currenttransfer|currentundercolorremoval|currentuserparams|curveto|cvi|cvlit|cvn|cvr|cvrs|cvs|cvx",
	"def|defaultmatrix|definefont|defineresource|defineusername|defineuserobject|deletefile|detach|deviceinfo|dict|dictfull|dictstack|dictstackoverflow|dictstackunderflow|div|dtransform|dup",
	"echo|eexec|end|eoclip|eofill|eoviewclip|eq|erasepage|errordict|exch|exec|execform|execstack|execstackoverflow|execuserobject|executeonly|executive|exit|exp",
	"false|file|filenameforall|fileposition|fill|filter|findencoding|findfont|findresource|flattenpath|floor|flush|flushfile|FontDirectory|for|forall|fork",
	"ge|get|getinterval|globaldict|GlobalFontDirectory|glyphshow|grestore|grestoreall|gsave|gstate|gt",
	"handleerror",
	"identmatrix|idiv|idtransform|if|ifelse|image|imagemask|index|ineofill|infill|initclip|initgraphics|initmatrix|initviewclip|instroke|internaldict|interrupt|inueofill|inufill|inustroke|invalidaccess|invalidcontext|invalidexit|invalidfileaccess|invalidfont|invalidid|invalidrestore|invertmatrix|ioerror|ISOLatin1Encoding|itransform",
	"join",
	"kshow|known",
	"languagelevel|le|length|limitcheck|lineto|ln|load|lock|log|loop|lt",
	"makefont|makepattern|mark|matrix|maxlength|mod|monitor|moveto|mul",
	"ne|neg|newpath|noaccess|nocurrentpoint|not|notify|null|nulldevice",
	"or",
	"packedarray|pathbbox|pathforall|pop|print|printobject|product|prompt|pstack|put|putinterval",
	"quit",
	"rand|rangecheck|rcurveto|read|readhexstring|readline|readonly|readstring|realtime|rectclip|rectfill|rectstroke|rectviewclip|renamefile|repeat|resetfile|resourceforall|resourcestatus|restore|reversepath|revision|rlineto|rmoveto|roll|rootfont|rotate|round|rrand|run",
	"save|scale|scalefont|scheck|search|selectfont|serialnumber|setbbox|setblackgeneration|setcachedevice|setcachedevice2|setcachelimit|setcacheparams|setcharwidth|setcmykcolor|setcolor|setcolorrendering|setcolorscreen|setcolorspace|setcolortransfer|setdash|setdevparams|setfileposition|setflat|setfont|setglobal|setgray|setgstate|sethalftone|sethalftonephase|sethsbcolor|setlinecap|setlinejoin|setlinewidth|setmatrix|setmiterlimit|setobjectformat|setoverprint|setpacking|setpagedevice|setpattern|setrgbcolor|setscreen|setshared|setstrokeadjust|setsystemparams|settransfer|setucacheparams|setundercolorremoval|setuserparams|setvmthreshold|shareddict|show|showpage|sin|sqrt|srand|stack|stackoverflow|stackunderflow|StandardEncoding|start|startjob|status|statusdict|stop|stopped|store|string|stringwidth|stroke|strokepath|sub|syntaxerror|systemdict",
	"timeout|transform|translate|true|truncate|type|typecheck|token",
	"uappend|ucache|ucachestatus|ueofill|ufill|undef|undefined|undefinedfilename|undefineresource|undefinedresult|undefinefont|undefineresource|undefinedresource|undefineuserobject|unmatchedmark|unregistered|upath|userdict|UserObjects|usertime|ustroke|ustrokepath",
	"version|viewclip|viewclippath|VMerror|vmreclaim|vmstatus",
	"wait|wcheck|where|widthshow|write|writehexstring|writeobject|writestring|wtranslation",
	"xcheck|xor|xshow|xyshow",
	"yield|yshow"

variable = $ID

environment string delim "(" ")" multiline nested begin
  specialchar = '\\.'
end

comment start "%"

include "number.lang"

symbol = "[","]","=","==","{","}","<<",">>"
test.html (text/html, 4.7 KB)
<!-- Generator: GNU source-highlight 2.6
by Lorenzo Bettini
http://www.lorenzobettini.it
http://www.gnu.org/software/src-highlite -->
<pre><tt><i><font color="#9A1900">%!</font></i>
<i><font color="#9A1900">% a test for highlighting postscript files</font></i>

<i><font color="#9A1900">% proc dotest =&gt; .</font></i>
<font color="#009900">/dotest</font>
  <font color="#990000">{</font>
    <b><font color="#0000FF">dup</font></b>
    <b><font color="#0000FF">mark</font></b>
    <b><font color="#0000FF">exch</font></b>
    <b><font color="#0000FF">stopped</font></b> <b><font color="#0000FF">not</font></b> <i><font color="#9A1900">% False if error, true if no error.</font></i>
    <font color="#990000">{</font> <font color="#FF0000">(Allowed access: )</font> <b><font color="#0000FF">print</font></b> <b><font color="#0000FF">cleartomark</font></b> <font color="#990000">==</font> <font color="#990000">}</font>
    <b><font color="#0000FF">if</font></b>
    <b><font color="#0000FF">clear</font></b>
  <font color="#990000">}</font>
<b><font color="#0000FF">def</font></b>

<font color="#009900">0</font> <font color="#009900">0</font> <b><font color="#0000FF">moveto</font></b> <i><font color="#9A1900">% So the show commands don't bomb because of nocurrentpoint.</font></i>

<font color="#990000">{</font> <font color="#990000">[</font><font color="#009900">1</font> <font color="#009900">2</font><font color="#990000">]</font> <b><font color="#0000FF">executeonly</font></b> <b><font color="#0000FF">aload</font></b> <font color="#990000">}</font>                                     <font color="#009900">dotest</font>
<font color="#990000">{</font> <font color="#FF0000">(string)</font> <b><font color="#0000FF">executeonly</font></b> <font color="#FF0000">(seek)</font> <b><font color="#0000FF">anchorsearch</font></b> <font color="#990000">}</font>                    <font color="#009900">dotest</font>
<font color="#990000">{</font> <font color="#FF0000">(string)</font> <font color="#FF0000">(seek)</font> <b><font color="#0000FF">executeonly</font></b> <b><font color="#0000FF">anchorsearch</font></b> <font color="#990000">}</font>                    <font color="#009900">dotest</font>

<font color="#FF0000">(This is % a string)</font>
<font color="#990000">{</font> <font color="#990000">[</font><font color="#009900">1</font> <font color="#009900">2</font><font color="#990000">]</font> <b><font color="#0000FF">executeonly</font></b> <b><font color="#0000FF">aload</font></b> <font color="#990000">}</font>
<font color="#FF0000">(This is a string with </font><font color="#CC33CC">\(</font><font color="#FF0000"> some escapes </font><font color="#CC33CC">\(</font><font color="#FF0000"> )</font>
<font color="#990000">{</font> <font color="#990000">[</font><font color="#009900">1</font> <font color="#009900">2</font><font color="#990000">]</font> <b><font color="#0000FF">executeonly</font></b> <b><font color="#0000FF">aload</font></b> <font color="#990000">}</font>
<font color="#FF0000">(Strings may contain newlines </font>
<font color="#FF0000">and such.)</font>
<font color="#990000">{</font> <font color="#990000">[</font><font color="#009900">1</font> <font color="#009900">2</font><font color="#990000">]</font> <b><font color="#0000FF">executeonly</font></b> <b><font color="#0000FF">aload</font></b> <font color="#990000">}</font>
<font color="#FF0000">(Strings may contain special characters *!&amp;}^% and</font>
<font color="#FF0000">balanced parentheses ( ) (and so on).)</font>
<font color="#990000">{</font> <font color="#990000">[</font><font color="#009900">1</font> <font color="#009900">2</font><font color="#990000">]</font> <b><font color="#0000FF">executeonly</font></b> <b><font color="#0000FF">aload</font></b> <font color="#990000">}</font>
<font color="#FF0000">(The following is an empty string.)</font>
<font color="#990000">{</font> <font color="#990000">[</font><font color="#009900">1</font> <font color="#009900">2</font><font color="#990000">]</font> <b><font color="#0000FF">executeonly</font></b> <b><font color="#0000FF">aload</font></b> <font color="#990000">}</font>
<font color="#FF0000">()</font>
<font color="#990000">{</font> <font color="#990000">[</font><font color="#009900">1</font> <font color="#009900">2</font><font color="#990000">]</font> <b><font color="#0000FF">executeonly</font></b> <b><font color="#0000FF">aload</font></b> <font color="#990000">}</font>
<font color="#FF0000">(It has 0 (zero) length.)</font>
<font color="#990000">{</font> <font color="#990000">[</font><font color="#009900">1</font> <font color="#009900">2</font><font color="#990000">]</font> <b><font color="#0000FF">executeonly</font></b> <b><font color="#0000FF">aload</font></b> <font color="#990000">}</font>
</tt></pre>