[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kant
Subject:    [Kde-kant] PostScript syntax highlighting + XML highlight fixes
From:       Marcel Martin <mmar () freenet ! de>
Date:       2001-05-26 7:14:39
[Download RAW message or body]

Hello,
I'm happy to announce that I have just implemented PostScript syntax 
highlighting for Kate. It would be great if this could go into CVS. There is 
a wishlist bug report regarding PostScript highlighting submitted by me. It 
can now be closed :-).
It took me a while to figure out how the XML files are structured. To be 
honest, the little How-To on the kate homepage was little help (just a 
suggestion for improvement).
After finishing the PostScript highlight definition I had a look into the XML 
definition. There were quite a few bugs in there, which I fixed. XML is now 
highlighted correctly. Please also have a look at the vhdl.xml in current 
CVS: It contains CharDetect instead of DetectChar in one line (this was also 
wrong in xml.xml).

Thanks for your great work!
Marcel
-- 
 _ _
/ V / Marcel Martin   Drebber
\   \ mmar@freenet.de Germany

["postscript.xml" (text/xml)]

<?xml version="1.02" encoding="UTF-8"?><!DOCTYPE language>
<language name="PostScript" section="Markup" extensions="*.ps;*.ai;*.eps" \
mimetype="application/postscript"> <highlighting>
	<list name="keywords">
		<item> abs </item>
		<item> add </item>
		<item> aload </item>
		<item> anchorsearch </item>
		<item> and </item>
		<item> arc </item>
		<item> arcn </item>
		<item> arct </item>
		<item> arcto </item>
		<item> array </item>
		<item> ashow </item>
		<item> astore </item>
		<item> awidthshow </item>
		<item> begin </item>
		<item> bind </item>
		<item> bitshift </item>
		<item> ceiling </item>
		<item> charpath </item>
		<item> clear </item>
		<item> cleartomark </item>
		<item> clip </item>
		<item> clippath </item>
		<item> closepath </item>
		<item> concat </item>
		<item> concatmatrix </item>
		<item> copy </item>
		<item> count </item>
		<item> counttomark </item>
		<item> currentcmykcolor </item>
		<item> currentdash </item>
		<item> currentdict </item>
		<item> currentfile </item>
		<item> currentfont </item>
		<item> currentgray </item>
		<item> currentgstate </item>
		<item> currenthsbcolor </item>
		<item> currentlinecap </item>
		<item> currentlinejoin </item>
		<item> currentlinewidth </item>
		<item> currentmatrix </item>
		<item> currentpoint </item>
		<item> currentrgbcolor </item>
		<item> currentshared </item>
		<item> curveto </item>
		<item> cvi </item>
		<item> cvlit </item>
		<item> cvn </item>
		<item> cvr </item>
		<item> cvrs </item>
		<item> cvs </item>
		<item> cvx </item>
		<item> def </item>
		<item> defineusername </item>
		<item> dict </item>
		<item> div </item>
		<item> dtransform </item>
		<item> dup </item>
		<item> end </item>
		<item> eoclip </item>
		<item> eofill </item>
		<item> eoviewclip </item>
		<item> eq </item>
		<item> exch </item>
		<item> exec </item>
		<item> exit </item>
		<item> file </item>
		<item> fill </item>
		<item> findfont </item>
		<item> flattenpath </item>
		<item> floor </item>
		<item> flush </item>
		<item> flushfile </item>
		<item> for </item>
		<item> forall </item>
		<item> ge </item>
		<item> get </item>
		<item> getinterval </item>
		<item> grestore </item>
		<item> gsave </item>
		<item> gstate </item>
		<item> gt </item>
		<item> identmatrix </item>
		<item> idiv </item>
		<item> idtransform </item>
		<item> if </item>
		<item> ifelse </item>
		<item> image </item>
		<item> imagemask </item>
		<item> index </item>
		<item> ineofill </item>
		<item> infill </item>
		<item> initviewclip </item>
		<item> inueofill </item>
		<item> inufill </item>
		<item> invertmatrix </item>
		<item> itransform </item>
		<item> known </item>
		<item> le </item>
		<item> length </item>
		<item> lineto </item>
		<item> load </item>
		<item> loop </item>
		<item> lt </item>
		<item> makefont </item>
		<item> matrix </item>
		<item> maxlength </item>
		<item> mod </item>
		<item> moveto </item>
		<item> mul </item>
		<item> ne </item>
		<item> neg </item>
		<item> newpath </item>
		<item> not </item>
		<item> null </item>
		<item> or </item>
		<item> pathbbox </item>
		<item> pathforall </item>
		<item> pop </item>
		<item> print </item>
		<item> printobject </item>
		<item> put </item>
		<item> putinterval </item>
		<item> rcurveto </item>
		<item> read </item>
		<item> readhexstring </item>
		<item> readline </item>
		<item> readstring </item>
		<item> rectclip </item>
		<item> rectfill </item>
		<item> rectstroke </item>
		<item> rectviewclip </item>
		<item> repeat </item>
		<item> restore </item>
		<item> rlineto </item>
		<item> rmoveto </item>
		<item> roll </item>
		<item> rotate </item>
		<item> round </item>
		<item> save </item>
		<item> scale </item>
		<item> scalefont </item>
		<item> search </item>
		<item> selectfont </item>
		<item> setbbox </item>
		<item> setcachedevice </item>
		<item> setcachedevice2 </item>
		<item> setcharwidth </item>
		<item> setcmykcolor </item>
		<item> setdash </item>
		<item> setfont </item>
		<item> setgray </item>
		<item> setgstate </item>
		<item> sethsbcolor </item>
		<item> setlinecap </item>
		<item> setlinejoin </item>
		<item> setlinewidth </item>
		<item> setmatrix </item>
		<item> setrgbcolor </item>
		<item> setshared </item>
		<item> shareddict </item>
		<item> show </item>
		<item> showpage </item>
		<item> stop </item>
		<item> stopped </item>
		<item> store </item>
		<item> string </item>
		<item> stringwidth </item>
		<item> stroke </item>
		<item> strokepath </item>
		<item> sub </item>
		<item> systemdict </item>
		<item> token </item>
		<item> transform </item>
		<item> translate </item>
		<item> truncate </item>
		<item> type </item>
		<item> uappend </item>
		<item> ucache </item>
		<item> ueofill </item>
		<item> ufill </item>
		<item> undef </item>
		<item> upath </item>
		<item> userdict </item>
		<item> ustroke </item>
		<item> viewclip </item>
		<item> viewclippath </item>
		<item> where </item>
		<item> widthshow </item>
		<item> write </item>
		<item> writehexstring </item>
		<item> writeobject </item>
		<item> writestring </item>
		<item> wtranslation </item>
		<item> xor </item>
		<item> xshow </item>
		<item> xyshow </item>
		<item> yshow </item>
		<item> FontDirectory </item>
		<item> SharedFontDirectory </item>
		<item> Courier </item>
		<item> Courier-Bold </item>
		<item> Courier-BoldOblique </item>
		<item> Courier-Oblique </item>
		<item> Helvetica </item>
		<item> Helvetica-Bold </item>
		<item> Helvetica-BoldOblique </item>
		<item> Helvetica-Oblique </item>
		<item> Symbol </item>
		<item> Times-Bold </item>
		<item> Times-BoldItalic </item>
		<item> Times-Italic </item>
		<item> Times-Roman </item>
		<item> execuserobject </item>
		<item> currentcolor </item>
		<item> currentcolorspace </item>
		<item> currentglobal </item>
		<item> execform </item>
		<item> filter </item>
		<item> findresource </item>
		<item> globaldict </item>
		<item> makepattern </item>
		<item> setcolor </item>
		<item> setcolorspace </item>
		<item> setglobal </item>
		<item> setpagedevice </item>
		<item> setpattern </item>
		<item> = </item>
		<item> == </item>
		<item> ISOLatin1Encoding </item>
		<item> StandardEncoding </item>
		<item> [ </item>
		<item> ] </item>
		<item> atan </item>
		<item> banddevice </item>
		<item> bytesavailable </item>
		<item> cachestatus </item>
		<item> closefile </item>
		<item> colorimage </item>
		<item> condition </item>
		<item> copypage </item>
		<item> cos </item>
		<item> countdictstack </item>
		<item> countexecstack </item>
		<item> cshow </item>
		<item> currentblackgeneration </item>
		<item> currentcacheparams </item>
		<item> currentcolorscreen </item>
		<item> currentcolortransfer </item>
		<item> currentcontext </item>
		<item> currentflat </item>
		<item> currenthalftone </item>
		<item> currenthalftonephase </item>
		<item> currentmiterlimit </item>
		<item> currentobjectformat </item>
		<item> currentpacking </item>
		<item> currentscreen </item>
		<item> currentstrokeadjust </item>
		<item> currenttransfer </item>
		<item> currentundercolorremoval </item>
		<item> defaultmatrix </item>
		<item> definefont </item>
		<item> deletefile </item>
		<item> detach </item>
		<item> deviceinfo </item>
		<item> dictstack </item>
		<item> echo </item>
		<item> erasepage </item>
		<item> errordict </item>
		<item> execstack </item>
		<item> executeonly </item>
		<item> exp </item>
		<item> false </item>
		<item> filenameforall </item>
		<item> fileposition </item>
		<item> fork </item>
		<item> framedevice </item>
		<item> grestoreall </item>
		<item> handleerror </item>
		<item> initclip </item>
		<item> initgraphics </item>
		<item> initmatrix </item>
		<item> instroke </item>
		<item> inustroke </item>
		<item> join </item>
		<item> kshow </item>
		<item> ln </item>
		<item> lock </item>
		<item> log </item>
		<item> mark </item>
		<item> monitor </item>
		<item> noaccess </item>
		<item> notify </item>
		<item> nulldevice </item>
		<item> packedarray </item>
		<item> quit </item>
		<item> rand </item>
		<item> rcheck </item>
		<item> readonly </item>
		<item> realtime </item>
		<item> renamefile </item>
		<item> renderbands </item>
		<item> resetfile </item>
		<item> reversepath </item>
		<item> rootfont </item>
		<item> rrand </item>
		<item> run </item>
		<item> scheck </item>
		<item> setblackgeneration </item>
		<item> setcachelimit </item>
		<item> setcacheparams </item>
		<item> setcolorscreen </item>
		<item> setcolortransfer </item>
		<item> setfileposition </item>
		<item> setflat </item>
		<item> sethalftone </item>
		<item> sethalftonephase </item>
		<item> setmiterlimit </item>
		<item> setobjectformat </item>
		<item> setpacking </item>
		<item> setscreen </item>
		<item> setstrokeadjust </item>
		<item> settransfer </item>
		<item> setucacheparams </item>
		<item> setundercolorremoval </item>
		<item> sin </item>
		<item> sqrt </item>
		<item> srand </item>
		<item> stack </item>
		<item> status </item>
		<item> statusdict </item>
		<item> true </item>
		<item> ucachestatus </item>
		<item> undefinefont </item>
		<item> usertime </item>
		<item> ustrokepath </item>
		<item> version </item>
		<item> vmreclaim </item>
		<item> vmstatus </item>
		<item> wait </item>
		<item> wcheck </item>
		<item> xcheck </item>
		<item> yield </item>
		<item> defineuserobject </item>
		<item> undefineuserobject </item>
		<item> UserObjects </item>
		<item> cleardictstack </item>
		<!--item> A </item>
		<item> B </item>
		<item> C </item>
		<item> D </item>
		<item> E </item>
		<item> F </item>
		<item> G </item>
		<item> H </item>
		<item> I </item>
		<item> J </item>
		<item> K </item>
		<item> L </item>
		<item> M </item>
		<item> N </item>
		<item> O </item>
		<item> P </item>
		<item> Q </item>
		<item> R </item>
		<item> S </item>
		<item> T </item>
		<item> U </item>
		<item> V </item>
		<item> W </item>
		<item> X </item>
		<item> Y </item>
		<item> Z </item>
		<item> a </item>
		<item> b </item>
		<item> c </item>
		<item> d </item>
		<item> e </item>
		<item> f </item>
		<item> g </item>
		<item> h </item>
		<item> i </item>
		<item> j </item>
		<item> k </item>
		<item> l </item>
		<item> m </item>
		<item> n </item>
		<item> o </item>
		<item> p </item>
		<item> q </item>
		<item> r </item>
		<item> s </item>
		<item> t </item>
		<item> u </item>
		<item> v </item>
		<item> w </item>
		<item> x </item>
		<item> y </item>
		<item> z </item //-->
		<item> setvmthreshold </item>
		<item> &lt;&lt; </item>
		<item> &gt;&gt; </item>
		<item> currentcolorrendering </item>
		<item> currentdevparams </item>
		<item> currentoverprint </item>
		<item> currentpagedevice </item>
		<item> currentsystemparams </item>
		<item> currentuserparams </item>
		<item> defineresource </item>
		<item> findencoding </item>
		<item> gcheck </item>
		<item> glyphshow </item>
		<item> languagelevel </item>
		<item> product </item>
		<item> pstack </item>
		<item> resourceforall </item>
		<item> resourcestatus </item>
		<item> revision </item>
		<item> serialnumber </item>
		<item> setcolorrendering </item>
		<item> setdevparams </item>
		<item> setoverprint </item>
		<item> setsystemparams </item>
		<item> setuserparams </item>
		<item> startjob </item>
		<item> undefineresource </item>
		<item> GlobalFontDirectory </item>
		<item> ASCII85Decode </item>
		<item> ASCII85Encode </item>
		<item> ASCIIHexDecode </item>
		<item> ASCIIHexEncode </item>
		<item> CCITTFaxDecode </item>
		<item> CCITTFaxEncode </item>
		<item> DCTDecode </item>
		<item> DCTEncode </item>
		<item> LZWDecode </item>
		<item> LZWEncode </item>
		<item> NullEncode </item>
		<item> RunLengthDecode </item>
		<item> RunLengthEncode </item>
		<item> SubFileDecode </item>
		<item> CIEBasedA </item>
		<item> CIEBasedABC </item>
		<item> DeviceCMYK </item>
		<item> DeviceGray </item>
		<item> DeviceRGB </item>
		<item> Indexed </item>
		<item> Pattern </item>
		<item> Separation </item>
		<item> CIEBasedDEF </item>
		<item> CIEBasedDEFG </item>
		<item> DeviceN </item>
	</list>

	<contexts>
		<context name="Normal" attribute="0" lineEndContext="0">
			<keyword attribute="1" context="0" String="keywords"/>
			<Detect2Chars attribute="3" context="2" char="%" char1="!"/>
			<DetectChar attribute="2" context="1" char="%"/>
			<Float attribute="4" context="0"/>
			<Int attribute="5" context="0"/>
			<DetectChar attribute="6" context="3" lineEndContext="3" char="("/>
			<RegExpr attribute="7" context="0" String="\/[a-zA-Z_0-9.]+"/>
		</context>
		<context attribute="2" lineEndContext="0" name="Comment"/>
		<context attribute="3" lineEndContext="0" name="Header"/>
		<context attribute="6" lineEndContext="3" name="String">
			<DetectChar attribute="6" context="0" char=")" />
		</context>
	</contexts>
	<itemDatas>
		<itemData name="Normal Text" defStyleNum="dsNormal"/>
		<itemData name="Keyword" defStyleNum="dsKeyword"/>
		<itemData name="Comment" defStyleNum="dsComment"/>
		<itemData name="Header" defStyleNum="dsOthers"/>
		<itemData name="Float" defStyleNum="dsFloat"/>
		<itemData name="Decimal" defStyleNum="dsDecVal"/>
		<itemData name="String" defStyleNum="dsString"/>
		<itemData name="Data Type" defStyleNum="dsDataType"/>
	</itemDatas>
</highlighting>
<general>
	<comments>
		<comment name="singleLine" start="%" />
	</comments>
	<keywords casesensitive="0" />
</general>
</language>


["xml.xml" (text/xml)]

<?xml version="1.02" encoding="UTF-8"?><!DOCTYPE language>
<language name="XML/SGML" extensions="*.docbook;*.xml;*.rc;*.sgml" \
mimetype="text/sgml;text/xml;text/book">  <highlighting>
    <contexts>
       <context attribute="0" lineEndContext="0">
         <RegExpr attribute="1" context="1" String="&lt;\s*\/?\s*[a-zA-Z0-9_]*" />
       </context>

       <context attribute="2" lineEndContext="1">
		 <Detect2Chars attribute="1" context="0" char="/" char1="&gt;" />
		 <DetectChar attribute="1" context="0" char="&gt;" />
         <RegExpr attribute="0" context="2" String="\s*=\s*" />
       </context>

       <context attribute="3" lineEndContext="2">
		 <RegExpr attribute="3" context="1" String="[A-Za-z0-9.-]*" />
         <DetectChar attribute="3" context="3" char="&quot;" />
       </context>

       <context attribute="3" lineEndContext="3">
         <DetectChar attribute="3" context="1" char="&quot;" />
       </context>

    </contexts>
    <itemDatas>
      <itemData name="Normal Text" defStyleNum="dsNormal"/>
      <itemData name="Keyword" defStyleNum="dsKeyword"/>
      <itemData name="Identifier" defStyleNum="dsOthers"/>
      <itemData name="Types" defStyleNum="dsDataType"/>
      <itemData name="String" defStyleNum="dsString"/>
      <itemData name="Comment" defStyleNum="dsComment"/>
    </itemDatas>
  </highlighting>
  <general>
    <comments>
      <comment name="multiLine" start="&lt;!--" end="//--&gt;" />
    </comments>
    <keywords casesensitive="0" />
  </general>
</language>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic