parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Для 2.4 не знаю, а в 2.5.3...

Sumo 30.08.2006 16:07 / 30.08.2006 16:09

... использую следующий файлик:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd"
[
	<!ENTITY name    "[A-Za-z_:][\w.:_-]*">
	<!ENTITY entref  "&amp;(#[0-9]+|#[xX][0-9A-Fa-f]+|&name;);">
	<!ENTITY parsername  "[\w\-\_\.]+">
]>

<language name="Parser 3" version="1.0" 
	  kateversion="2.4" section="Scripts" 
	  extensions="*.p;*.html" mimetype=""  
	  author="Oleg Volchkov (oleg@proc.ru)" license="LGPL" priority="1"
	  casesensitive="1"
	  >

<highlighting>
<list name="reservedWords">
	<item>^if </item>
	<item>^switch</item>
	<item>^case</item>
	<item>^for</item>
	<item>^while</item>
	<item>^taint</item>
	<item>^untaint</item>
	<item>^try</item>
	<item>^throw</item>
	<item>^eval</item>
	<item>^process</item>
	<item>^cache</item>
	<item>^use</item>
	<item>^connect</item>
	<item>^break</item>
	<item>^continue</item>
  </list>	
  
<contexts>
	
     <context name="Start" attribute="Normal Text" lineEndContext="#stay">
		<IncludeRules context="FindParser3" />
		<IncludeRules context="##SQL" />
		<IncludeRules context="##HTML" />
     </context>
  
     <context name="FindParser3" attribute="Normal Text" lineEndContext="#stay" >
	     <RegExpr attribute="Comments" String="^#.*$" context="#stay"/>
	     <StringDetect attribute="Comments" String="^rem{" context="rem"/>
	     
	     <keyword attribute="Reserved" String="reservedWords" context="#stay" /> 
	     
	     <RegExpr attribute="Functions" String="^@&parsername;(\[[\w\-\_\;]*\])?" context="local"/>
	     <DetectChar attribute="Call" char="^" context="calls"/>
	     
	     <RegExpr attribute="Var" String="\$" context="vars" />
	     
	     <AnyChar attribute="Brackets" String="(){}[]" context="#stay"/>
	     
	     <Float attribute="Float" context="#stay"/>
	     <HlCHex attribute="Hex" context="#stay"/>
	     <Int attribute="Decimal" context="#stay"/>
     </context>
     
     <context name="local" attribute="Local Vars" lineEndContext="#pop">
	     <RegExpr attribute="Local Vars" String="\[[\w\-\_\;]+\]" context="#pop"/>
     </context>
     
     <context name="calls" attribute="Call" lineEndContext="#pop">
	     <RegExpr attribute="Constructor Call" String="&parsername;::&parsername;" context="#pop"/>
	     <RegExpr attribute="Static Call" String="&parsername;:&parsername;"  context="#pop"/>
	     <RegExpr attribute="Call" String="&parsername;" context="#pop"/>
	     <AnyChar attribute="Call" String=";" context="#pop" />
	     <RegExpr attribute="Call" String="#[0-9a-fA-F]{2}" context="#pop" />
     </context>

     <context name="vars" attribute="Var" lineEndContext="#pop">
	     <RegExpr attribute="Static Var" String="&parsername;:&parsername;"  context="#pop"/>
	     <RegExpr attribute="Var" String="&parsername;" context="#pop"/>
     </context>
     
     <context name="rem" attribute="Comments" lineEndContext="#stay">
	     <DetectChar attribute="Comments" char="}" context="#pop"/>
     </context>


</contexts>

     <itemDatas>
	  <itemData name="Normal Text" defStyleNum="dsNormal" />
	  <itemData name="Reserved" defStyleNum="dsKeyword" />
	  
	  <itemData name="Functions" defStyleNum="dsFunction" />
	  <itemData name="Local Vars" defStyleNum="dsString" />
	  
	  <itemData name="Call" defStyleNum="dsFunction" />
	  <itemData name="Static Call" defStyleNum="dsFunction" />
	  <itemData name="Constructor Call" defStyleNum="dsFunction" />
	  
	  <itemData name="Var" defStyleNum="dsChar" />
	  <itemData name="Static Var" defStyleNum="dsChar" />
	  
	  <itemData name="Brackets" defStyleNum="dsRegionMarker" />

	  <itemData name="Comments" defStyleNum="dsComment" />
     
	  <itemData name="Decimal"      defStyleNum="dsDecVal"/>
	  <itemData name="Hex"          defStyleNum="dsBaseN"/>
	  <itemData name="Float"        defStyleNum="dsFloat"/>

  </itemDatas>
    

</highlighting>
<general>
  <keywords weakDeliminator="^" casesensitive="true" />
  <comments>
    <comment name="singleLine" start="#" />
  </comments>
</general>
</language>
Положить в /home/username/.kde/share/apps/katepart/syntax/parser.xml

p.s. Хотя не понятно, кто мешает отапдейтить KDE на более новую версию и работать со свежим Кейтом.