[svn] r7525: nemerle/trunk/misc: colorer colorer/nem_4.hrc colorer/nem_5.hrc colorer/readme colorer/src co...

divan svnadmin at nemerle.org
Sat Mar 10 10:15:30 CET 2007


Log:
Update syntax mode for colorer.

Author: divan
Date: Sat Mar 10 10:15:25 2007
New Revision: 7525

Added:
   nemerle/trunk/misc/colorer/
   nemerle/trunk/misc/colorer/nem_4.hrc
   nemerle/trunk/misc/colorer/nem_5.hrc
   nemerle/trunk/misc/colorer/readme
   nemerle/trunk/misc/colorer/src/
   nemerle/trunk/misc/colorer/src/gen4.bat
   nemerle/trunk/misc/colorer/src/gen5.bat
   nemerle/trunk/misc/colorer/src/nem2.hrc
   nemerle/trunk/misc/colorer/src/nem_base.hrc
   nemerle/trunk/misc/colorer/src/nem_base5.hrc
   nemerle/trunk/misc/colorer/src/nem_char.hrc
   nemerle/trunk/misc/colorer/src/nem_comments.hrc
   nemerle/trunk/misc/colorer/src/nem_key.hrc
   nemerle/trunk/misc/colorer/src/nem_num.hrc
   nemerle/trunk/misc/colorer/src/nem_paren.hrc
   nemerle/trunk/misc/colorer/src/nem_pp.hrc
   nemerle/trunk/misc/colorer/src/nem_str.hrc
   nemerle/trunk/misc/colorer/src/readme
   nemerle/trunk/misc/colorer/src/repl4.vbs
   nemerle/trunk/misc/colorer/src/repl5.vbs
Removed:
   nemerle/trunk/misc/nemerle_far.zip

Added: nemerle/trunk/misc/colorer/nem_4.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/nem_4.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,679 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+<hrc>
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+
+<!-- 'a' -->
+<define name="nemChar"        value="dSymbol"/>
+
+<!-- /*,*/,// -->
+<define name="nemComment"        value="dComment"/>
+
+<!-- inside comment -->
+<define name="nemCommentContent"        value="dComment"/>
+
+<!-- +,<,*,&,... -->
+<define name="nemOpSymbol"        value="dSymbol"/>
+
+<!-- built in type name -->
+<define name="nemTypename"        value="dKeyword"/>
+
+<!-- build in keyword, class,override,... -->
+<define name="nemKeyword"        value="dKeyword"/>
+
+<!-- numeric literals -->
+<define name="nemNumDec"        value="dNumDec"/>
+<define name="nemNumHex"        value="dNumHex"/>
+<define name="nemNumOct"        value="dNumOct"/>
+<define name="nemNumBin"        value="dNumBin"/>
+<define name="nemNumFloat"        value="dNumFloat"/>
+<define name="nemNumSuffix"        value="dNumSuffix"/>
+
+<!-- <[,]> -->
+<define name="nemQuote"        value="dSymbol2"/>
+
+<!-- escape sequence in string literal -->
+<define name="nemEscSymb"      value="dString2"/>
+
+<!-- some open, close -->
+<define name="nemOpen"        value="dpOpenStruct"/>
+<define name="nemClose"        value="dpCloseStruct"/>
+
+<!-- errors, warnings -->
+<define name="nemError"        value="dError"/>
+<define name="nemWarn"        value="dError"/>
+
+<define name="nemDollared"      value="dStringQuote"/>
+<define name="nemDirective"     value="dDirective"/>
+<define name="nemWord"        value="dKeyword"/>
+<define name="nemSymbol"        value="dSymbol"/>
+<define name="nemString"      value="dString"/>
+
+
+
+
+
+<!--
+ nemerle syntax description beta
+-->
+
+
+<!-- <[ ]> -->
+<scheme name="nem_quote">
+   <block start="/(&lt;\[)/" end="/(\]&gt;)/" scheme="nem_quote"
+          region00="nemQuote" region01="nemOpen"
+          region10="nemQuote" region11="nemClose"/>
+</scheme>
+
+<!-- { } -->
+<scheme name="nem_fig">
+   <block start="/(\{)/" end="/(\})/" scheme="nem_fig"
+          region00="nemQuote" region01="nemOpen"
+          region10="nemQuote" region11="nemClose"/>
+          
+<!-- [ ] -->
+</scheme>
+<scheme name="nem_square">
+   <block start="/(\[)/" end="/(\])/" scheme="nem_square"
+          region00="nemOpSymbol" region01="nemOpen"
+          region10="nemOpSymbol" region11="nemClose"/>
+</scheme>
+
+<!-- ( ) -->
+<scheme name="nem_round">
+   <block start="/(\()/" end="/(\))/" scheme="nem_round"
+          region00="nemOpSymbol" region01="nemOpen"
+          region10="nemOpSymbol" region11="nemClose"/>
+</scheme>
+
+
+<scheme name="nem_paren">
+<inherit scheme='nem_quote'>
+	<virtual scheme='nem_quote' subst='nem_paren'/>
+</inherit>
+<inherit scheme='nem_round'>
+	<virtual scheme='nem_round' subst='nem_paren'/>
+</inherit>
+<inherit scheme='nem_square'>
+	<virtual scheme='nem_square' subst='nem_paren'/>
+</inherit>
+<inherit scheme='nem_fig'>
+	<virtual scheme='nem_fig' subst='nem_paren'/>
+</inherit>
+</scheme>
+
+
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+
+
+<scheme name='lComment'>
+	<block start='/\/\//' end='/$/'
+		scheme='Comment'
+		region00='nemComment'
+		region='nemCommentContent'
+		/>
+</scheme>
+
+<scheme name='rComment'>
+	<block start='/(\/\*)/' end='/(\*\/)/'
+		scheme='Comment'
+		region='nemCommentContent'
+		region00='nemComment'
+		region10='nemComment'
+		region01='nemOpen'
+		region11='nemClose'
+		/>
+</scheme>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<scheme name='simple'>
+	<block 
+start='/^[\t ]*(#[\t ]*region[\t ]*)([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+end='/^[\t ]*(#[\t ]*endregion[\t ]*)([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+		scheme='simple'
+		region00='nemDirective' region10='nemDirective'
+		region01='nemOpen' region11='nemClose'
+		region03='nemWarn' region13='nemWarn'
+		region05='nemComment' region15='nemComment'
+		/>
+   <regexp 
+match='/^[ \t]*#[ \t]*define[ \t]+[\w]+([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/' 
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+   <regexp 
+match='/^[ \t]*#[ \t]*undef[ \t]+[\w]+([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/' 
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+
+   <regexp 
+match='/^[ \t]*#[ \t]*line[\r\t ]+default[ \t]*([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+   <regexp 
+match='/^[ \t]*#[ \t]*line[\r\t ]+[0-9]+([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+
+   <regexp 
+match='/^[ \t]*#[ \t]*pragma[\r\t ]+warning[\r\t ]+(disable)|(restore)([\r\t ]+\d+(,[\r\t ]+\d+)*)?([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))/' 
+region0='nemDirective'
+region6='nemWarn'
+region8='nemComment'
+	/>
+   <regexp match='/^[ \t]*#[ \t]*pragma[\r\t ]+indent.*/' region0='nemDirective'/>
+
+   <regexp match='/^[ \t]*#[ \t]*error.*$/' region0='nemDirective'/>
+   <regexp match='/^[ \t]*#[ \t]*warning.*$/' region0='nemDirective'/>
+</scheme>
+
+<scheme name='if_expr'>
+	<block start='/(.?!|\n)/' scheme='if_end'
+		end='/^\M(([\t ]*#[\t ]*endif)).*$/'
+	/>
+	<inherit scheme='lComment'/>
+	
+	<!-- /, warning: expected // -->
+	<regexp match='/\/\/?!/' region0="nemWarn"/>
+
+	<inherit scheme='nem_round'>
+		<virtual scheme='nem_round' subst='if_expr'/>
+	</inherit>
+	<keywords region='nemKeyword'>
+		<word name='true'/>
+		<word name='false'/>
+	</keywords>
+	<keywords region='nemOpSymbol'>
+		<symb name='!'/>
+		<symb name='\x26\x26'/>
+		<symb name='||'/>
+		<symb name='=='/>
+		<symb name='!='/>
+	</keywords>
+	<regexp match='/[\w_]+/' region0='nemString'/>
+	
+	<!-- wrong characters in preprocessing directive -->
+	<regexp match='/[^ \t]/' region0='nemError' lowpriority='lowpriority'/>
+</scheme>
+
+<scheme name='if_end'>
+	<block start='/^([\t ]*#[\t ]*if)\M[ \t]/'
+		end='/^(([\t ]*#[\t ]*endif)).*$/'
+		scheme='ifexpr_end'
+		region00='nemDirective'	region11='nemDirective'
+		region01='nemOpen'		region12='nemClose'
+	/>
+	<block 	start='/^([\t ]*#[\t ]*elif)\M[ \t]/'
+		end='/^\M(([\t ]*#[\t ]*endif)).*$/'
+		region00='nemDirective'	region11='nemDirective'
+		region01='nemOpen' 		region12='nemClose'
+		scheme='ifexpr_end'
+	/>
+	<block 	start='/^([\t ]*#[\t ]*else).*$/'
+		end='/^\M(([\t ]*#[\t ]*endif)).*$/'
+		region00='nemDirective'	region11='nemDirective'
+		region01='nemOpen'     	region12='nemClose'
+		scheme='nemPP'
+	/>
+	<inherit scheme='simple'>
+		<virtual scheme='simple' subst='nemPP' />
+	</inherit>
+
+
+	<inherit scheme='lComment'/>
+	<inherit scheme='rComment'/>
+	<inherit scheme='nem_numb' />
+	<inherit scheme='nem_symb' />
+	<inherit scheme='nemString' />
+	<inherit scheme='nem_paren'>
+		<virtual scheme='nem_paren' subst='if_end'/>
+	</inherit>
+	<inherit scheme='nem_key' />
+
+
+<!---->
+
+	<regexp match='/^[ \t]*#.*$/' 
+		region0='nemError' 
+		lowpriority='lowpriority'
+	/>
+
+</scheme>
+	
+
+<scheme name='ifexpr_end'>
+	<block start='/.?#1[ \t]/' 
+		end='/^\M(([ \t]*#[ \t]*endif)).*$/'
+		scheme='if_expr'
+	/>             
+</scheme>
+
+<scheme name='nemPP'>
+	<inherit scheme='simple'>
+		<virtual scheme='simple' subst='nemPP' />
+	</inherit>
+	<block start='/^([\t ]*#[\t ]*if)\M[ \t]/'
+		end='/^([\t ]*#[\t ]*endif).*$/'
+		scheme='ifexpr_end'
+		region00='nemDirective'	region10='nemDirective'
+		region01='nemOpen'     	region11='nemClose'
+	/>
+	<regexp match='/^[ \t]*#.*$/' 
+		region0='nemError' 
+		lowpriority='lowpriority'
+	/>
+</scheme>
+
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+<!-- 1_000_000 -->
+<scheme name="nemDecNumb">
+   <regexp match="/\b(\d+(_\d+)*)([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumDec" region3="nemNumSuffix"/>
+</scheme>
+
+<!-- 0xff -->
+<scheme name="nemHexNumb">
+   <regexp match="/\b0[xX][\da-fA-F]+(_[\da-fA-F]+)*([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumHex" region2="nemNumSuffix"/>
+</scheme>
+
+<!-- 0o77 -->
+<scheme name="nemOctNumb">
+   <regexp match="/\b0[oO][0-7]+(_[0-7]+)*([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumOct" region2="nemNumSuffix"/>
+</scheme>
+
+<!-- 0b11 -->
+<scheme name="nemBinNumb">
+   <regexp match="/\b0[bB][01]+(_[01]+)*([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumBin" region2="nemNumSuffix"/>
+</scheme>
+
+<!-- 1.2E3 -->
+<scheme name="nemFloatNumb">
+   <regexp match="/\b(\d+(_\d+)*)?(\.)?~1\.\d+(_\d+)*([eE][\-\+]?\d+)?([fdmFDM]?)\b/xi" 
+   		region0="nemNumFloat" region6="nemNumSuffix"/>
+   <regexp match="/\b\d+(_\d+)*([eE][\-\+]?\d+)([fdmFDM]?)\b/ix" 
+   		region0="nemNumFloat" region3="nemNumSuffix"/>
+   <regexp match="/\b\d+(_\d+)*([fdmFDM])\b/ix" 
+   		region0="nemNumFloat" region2="nemNumSuffix"/>
+</scheme>
+
+<scheme name="nem_numb">
+   <inherit scheme="nemFloatNumb"/>
+   <inherit scheme="nemBinNumb"/>
+   <inherit scheme="nemDecNumb"/>
+   <inherit scheme="nemHexNumb"/>
+   <inherit scheme="nemOctNumb"/> 
+</scheme>
+
+
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+<!-- '\\' -->
+<scheme name="nem_symb">
+   <regexp match="/'[^\'\\]'/" region0="nemChar"/>
+   <regexp match="/\'\\n\'/" region0="nemChar"/>
+   <regexp match="/\'\\b\'/" region0="nemChar"/>
+   <regexp match="/\'\\e\'/" region0="nemChar"/>
+   <regexp match="/\'\\r\'/" region0="nemChar"/>
+   <regexp match="/\'\\t\'/" region0="nemChar"/>
+   <regexp match="/\'\\0\'/" region0="nemChar"/>
+   <regexp match="/\'\\$\'/" region0="nemChar"/>
+   <regexp match="/\'\\\\\'/" region0="nemChar"/>
+   <regexp match="/\'\\\'\'/" region0="nemChar"/>
+   <regexp match='/\x27\\\"\x27/' region0="nemChar"/>
+   <regexp match="/\'\\x[0-9a-zA-Z]{1,4}\'/" region0="nemChar"/>
+   <regexp match="/\'\\u[0-9a-zA-Z]{4}\'/" region0="nemChar"/>
+   <regexp match="/\'\\U[0-9a-zA-Z]{8}\'/" region0="nemChar"/>
+</scheme>
+
+
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+
+
+<!-- $"$( here )"-->
+<scheme name="nem_dlr">
+	<inherit scheme="nem_round" />
+</scheme>
+
+<scheme name="nemString">
+<!-- $@"string" -->
+   <block 
+    start='/\$[ \r\t]*\@[ \r\t]*"/' end='/"/' 
+    scheme="nemStringMonkeyDollar" region="nemString" 
+    region00="nemOpen" region10="nemClose"
+   />
+<!-- $"abc" "def" "$g"-->
+   <block 
+    start='/\$[ \r\t]*\M(\")/' end='/\M./' 
+    scheme="nemPreStringCoreDollar" region="nemString"
+   />
+<!-- 
+   region00="nemOpen" region10="nemClose"
+-->
+<!-- @"verbatim" -->
+   <block 
+    start='/\@[ \r\t]*"/' end='/"/' 
+    scheme="nemStringMonkey" region="nemString"
+    region00="nemOpen" region10="nemClose"
+   />
+<!-- "string" -->
+   <block 
+    start='/"/' end='/"/' 
+    scheme="nemStringCore" region="nemString"
+    region00="nemOpen" region10="nemClose"
+   />
+</scheme>
+
+<!-- "qwe\n" -->
+<scheme name="nemStringCore">
+   <regexp match='/\\[ntrbe"\\0\$\x27]/' region0="nemEscSymb"/>
+   <regexp match='/\\x[\da-fA-F]{1,4}/' region0="nemEscSymb"/>
+   <regexp match='/\\u[\da-fA-F]{4}/' region0="nemEscSymb"/>
+   <regexp match='/\\U[\da-fA-F]{8}/' region0="nemEscSymb"/>
+   <regexp match='/\\\\$/' region0="nemError"/> 
+   <regexp match='/[^\\\"]$/' region0="nemError"/>
+   <regexp match='/\\./' region0="nemError"/>
+   <regexp match='/(\$)[\w\(]/' region1="nemWarn"/>
+</scheme>
+
+
+<scheme name="nemPreStringCoreDollar">
+   <regexp match='/[ \t\r]/'/> 
+   <block 
+    start='/\"/' end='/\"/' 
+    scheme="nemStringCoreDollar" region="nemString"
+    region00="nemOpen" region10="nemClose"
+   />
+</scheme>
+
+<!-- $ "$qwe\n" -->
+<scheme name="nemStringCoreDollar">
+
+   <regexp match='/\\[ntrbe"\\0\$\x27]/' region0="nemEscSymb"/>
+   <regexp match='/\\x[\da-fA-F]{1,4}/' region0="nemEscSymb"/>
+   <regexp match='/\\u[\da-fA-F]{4}/' region0="nemEscSymb"/>
+   <regexp match='/\\U[\da-fA-F]{8}/' region0="nemEscSymb"/>
+   <regexp match='/[^\"]$/' region0="nemError"/>
+   <regexp match='/\\./' region0="nemError"/>
+   <regexp match='/\$[\w]+/' region0="nemDollared"/>
+   <block start='/(\$[ \t\r]*\()/' end='/(\))/' 
+	scheme="nem_dlr"
+	region00="nemOpSymbol" region10="nemOpSymbol"
+	region01='nemOpen' region11='nemClose'
+   />
+</scheme>
+
+<!-- @"no escapes\" -->
+<scheme name="nemStringMonkey">
+   <regexp match='/""/' region0="nemEscSymb"/>
+</scheme>
+
+<!-- $@"no escapes\ but $dollars" -->
+<scheme name="nemStringMonkeyDollar">
+   <regexp match='/""/' region0="nemEscSymb"/>
+   <regexp match='/\$[\w]+/' region0="nemDollared"/>
+   <block start='/(\$\()/' end='/(\))/' 
+	scheme="nem_dlr"
+	region00="nemOpSymbol" region10="nemOpSymbol"
+	region01='nemOpen' region11='nemClose'
+   />
+</scheme>
+
+
+
+
+
+
+<!--
+ nemerle syntax description beta
+-->
+
+
+<scheme name="nem_symb_lexer">
+ <keywords region="nemOpSymbol">
+<symb name=";"/>
+<symb name=","/>
+ </keywords>
+</scheme>
+
+<scheme name="nem_opsymb">
+ <keywords region="nemOpSymbol">
+	<symb name="="/><symb name="&lt;"/><symb name="&gt;"/>
+	<symb name="@"/><symb name="^"/><symb name="|"/>
+	<symb name="&amp;"/><symb name="+"/><symb name="-"/>
+	<symb name="*"/><symb name="/"/><symb name="$"/>
+	<symb name="%"/><symb name="!"/><symb name="?"/>
+	<symb name="~"/><symb name="."/><symb name=":"/>
+	<symb name="#"/>
+ </keywords>
+</scheme>
+
+<scheme name="nem_key_lexer">
+ <keywords region="nemKeyword">
+<!-- Keywords-->
+<word name="_"/>
+<word name="abstract"/>
+<word name="and"/> 
+<word name="array"/>
+<word name="as"/>
+<word name="base"/> 
+<word name="catch"/>
+<word name="class"/>
+<word name="def"/> 
+<word name="delegate"/>
+<word name="enum"/>
+<word name="event"/> 
+<word name="false"/>                   
+<word name="finally"/>
+<word name="fun"/> 
+<word name="implements"/> 
+<word name="interface"/> 
+<word name="internal"/> 
+<word name="is"/> 
+<word name="macro"/> 
+<word name="match"/> 
+<word name="matches"/> 
+<word name="module"/> 
+<word name="mutable"/> 
+<word name="namespace"/> 
+<word name="new"/> 
+<word name="null"/> 
+<word name="out"/> 
+<word name="override"/> 
+<word name="params"/> 
+<word name="private"/> 
+<word name="protected"/> 
+<word name="public"/> 
+<word name="ref"/> 
+<word name="sealed"/> 
+<word name="static"/> 
+<word name="struct"/> 
+<word name="syntax"/> 
+<word name="this"/> 
+<word name="throw"/> 
+<word name="true"/> 
+<word name="try"/> 
+<word name="type"/> 
+<word name="typeof"/> 
+<word name="using"/> 
+<word name="variant"/> 
+<word name="virtual"/> 
+<word name="void"/> 
+<word name="volatile"/> 
+<word name="when"/> 
+<word name="where"/> 
+<word name="partial"/> 
+<word name="extern"/> 
+<word name="with"/> 
+ </keywords>
+</scheme>
+
+<scheme name="nem_key_coremacro">
+ <keywords region="nemKeyword">
+<word name="if"/> 
+<word name="else"/> 
+<word name="for"/> 
+<word name="do"/> 
+<word name="while"/> 
+<word name="return"/> 
+<word name="break"/> 
+<word name="continue"/> 
+<word name="unchecked"/> 
+<word name="yield"/> 
+<word name="repeat"/> 
+<word name="when"/> 
+<word name="unless"/> 
+<word name="using"/>
+<word name="lock"/> 
+<word name="foreach"/> 
+<word name="abort"/> 
+<word name="ignore"/>
+<word name="lambda"/> 
+<word name="time"/> 
+ </keywords>
+</scheme>
+
+
+<scheme name="nem_key_coretype">
+ <keywords region="nemTypename">
+<word name="object"/>
+<word name="bool"/>
+<word name="byte"/>
+<word name="float"/> 
+<word name="uint"/> 
+<word name="char"/> 
+<word name="ulong"/> 
+<word name="ushort"/> 
+<word name="decimal"/> 
+<word name="int"/> 
+<word name="sbyte"/> 
+<word name="short"/> 
+<word name="double"/> 
+<word name="long"/> 
+<word name="string"/> 
+<word name="void"/> 
+ </keywords>
+</scheme>
+
+
+<scheme name="nem_key_exttype">
+ <keywords region="nemTypename">
+<word name="option"/> 
+<word name="list"/> 
+ </keywords>
+</scheme>
+
+<scheme name="nem_key">
+ <keywords region="nemString">
+<word name="true"/> 
+<word name="false"/> 
+<word name="null"/> 
+<word name="this"/> 
+ </keywords>
+
+	<inherit scheme='nem_key_lexer'/>
+	<inherit scheme='nem_symb_lexer'/>
+	<inherit scheme='nem_opsymb'/>
+	<inherit scheme='nem_key_coremacro'/>
+	<inherit scheme='nem_key_coretype'/>
+	<inherit scheme='nem_key_exttype'/>
+ <keywords region="nemKeyword">
+<word name="get"/> 
+<word name="set"/> 
+ </keywords>
+</scheme>
+
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+
+
+
+
+
+
+
+
+
+<scheme name="nem2">
+	<inherit scheme='lComment'/>
+	<inherit scheme='rComment'/>
+	<inherit scheme='nemPP'>
+		<virtual scheme='nemPP' subst='nem2'/>
+	</inherit>
+	<inherit scheme='nem_numb' />
+	<inherit scheme='nem_symb' />
+	<inherit scheme='nemString' />
+	<inherit scheme='nem_paren'>
+		<virtual scheme='nem_paren' subst='nem2'/>
+	</inherit>
+	<inherit scheme='nem_key' />
+</scheme>
+
+
+
+
+</hrc>

Added: nemerle/trunk/misc/colorer/nem_5.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/nem_5.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,683 @@
+<?xml version="1.0" encoding="windows-1251"?>
+<!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN"
+"http://colorer.sf.net/2003/hrc.dtd">
+<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd">
+<type name="nem2">
+<import type="def"/>
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+
+<!-- 'a' -->
+<region name="nemChar"        parent="Symbol"/>
+
+<!-- /*,*/,// -->
+<region name="nemComment"        parent="Comment"/>
+
+<!-- inside comment -->
+<region name="nemCommentContent"        parent="CommentContent"/>
+
+<!-- +,<,*,&,... -->
+<region name="nemOpSymbol"        parent="Symbol"/>
+
+<!-- built in type name -->
+<region name="nemTypename"        parent="Keyword"/>
+
+<!-- build in keyword, class,override,... -->
+<region name="nemKeyword"        parent="Keyword"/>
+
+<!-- numeric literals -->
+<region name="nemNumDec"        parent="NumberDec"/>
+<region name="nemNumHex"        parent="NumberHex"/>
+<region name="nemNumOct"        parent="NumberOct"/>
+<region name="nemNumBin"        parent="NumberBin"/>
+<region name="nemNumFloat"        parent="NumberFloat"/>
+<region name="nemNumSuffix"        parent="NumberSuffix"/>
+
+<!-- <[,]> -->
+<region name="nemQuote"        parent="SymbolStrong"/>
+
+<!-- escape sequence in string literal -->
+<region name="nemEscSymb"      parent="StringContent"/>
+
+<!-- some open, close -->
+<region name="nemOpen"        parent="PairStart"/>
+<region name="nemClose"        parent="PairEnd"/>
+
+<!-- errors, warnings -->
+<region name="nemError"        parent="Error"/>
+<region name="nemWarn"        parent="Error"/>
+
+<region name="nemDollared"      parent="StringEdge"/>
+<region name="nemDirective"     parent="Directive"/>
+<region name="nemWord"        parent="Keyword"/>
+<region name="nemSymbol"        parent="Symbol"/>
+<region name="nemString"      parent="String"/>
+
+
+
+
+
+<!--
+ nemerle syntax description beta
+-->
+
+
+<!-- <[ ]> -->
+<scheme name="nem_quote">
+   <block start="/(&lt;\[)/" end="/(\]&gt;)/" scheme="nem_quote"
+          region00="nemQuote" region01="nemOpen"
+          region10="nemQuote" region11="nemClose"/>
+</scheme>
+
+<!-- { } -->
+<scheme name="nem_fig">
+   <block start="/(\{)/" end="/(\})/" scheme="nem_fig"
+          region00="nemQuote" region01="nemOpen"
+          region10="nemQuote" region11="nemClose"/>
+          
+<!-- [ ] -->
+</scheme>
+<scheme name="nem_square">
+   <block start="/(\[)/" end="/(\])/" scheme="nem_square"
+          region00="nemOpSymbol" region01="nemOpen"
+          region10="nemOpSymbol" region11="nemClose"/>
+</scheme>
+
+<!-- ( ) -->
+<scheme name="nem_round">
+   <block start="/(\()/" end="/(\))/" scheme="nem_round"
+          region00="nemOpSymbol" region01="nemOpen"
+          region10="nemOpSymbol" region11="nemClose"/>
+</scheme>
+
+
+<scheme name="nem_paren">
+<inherit scheme='nem_quote'>
+	<virtual scheme='nem_quote' subst-scheme='nem_paren'/>
+</inherit>
+<inherit scheme='nem_round'>
+	<virtual scheme='nem_round' subst-scheme='nem_paren'/>
+</inherit>
+<inherit scheme='nem_square'>
+	<virtual scheme='nem_square' subst-scheme='nem_paren'/>
+</inherit>
+<inherit scheme='nem_fig'>
+	<virtual scheme='nem_fig' subst-scheme='nem_paren'/>
+</inherit>
+</scheme>
+
+
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+
+
+<scheme name='lComment'>
+	<block start='/\/\//' end='/$/'
+		scheme='Comment'
+		region00='nemComment'
+		region='nemCommentContent'
+		/>
+</scheme>
+
+<scheme name='rComment'>
+	<block start='/(\/\*)/' end='/(\*\/)/'
+		scheme='Comment'
+		region='nemCommentContent'
+		region00='nemComment'
+		region10='nemComment'
+		region01='nemOpen'
+		region11='nemClose'
+		/>
+</scheme>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<scheme name='simple'>
+	<block 
+start='/^[\t ]*(#[\t ]*region[\t ]*)([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+end='/^[\t ]*(#[\t ]*endregion[\t ]*)([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+		scheme='simple'
+		region00='nemDirective' region10='nemDirective'
+		region01='nemOpen' region11='nemClose'
+		region03='nemWarn' region13='nemWarn'
+		region05='nemComment' region15='nemComment'
+		/>
+   <regexp 
+match='/^[ \t]*#[ \t]*define[ \t]+[\w]+([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/' 
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+   <regexp 
+match='/^[ \t]*#[ \t]*undef[ \t]+[\w]+([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/' 
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+
+   <regexp 
+match='/^[ \t]*#[ \t]*line[\r\t ]+default[ \t]*([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+   <regexp 
+match='/^[ \t]*#[ \t]*line[\r\t ]+[0-9]+([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+
+   <regexp 
+match='/^[ \t]*#[ \t]*pragma[\r\t ]+warning[\r\t ]+(disable)|(restore)([\r\t ]+\d+(,[\r\t ]+\d+)*)?([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))/' 
+region0='nemDirective'
+region6='nemWarn'
+region8='nemComment'
+	/>
+   <regexp match='/^[ \t]*#[ \t]*pragma[\r\t ]+indent.*/' region0='nemDirective'/>
+
+   <regexp match='/^[ \t]*#[ \t]*error.*$/' region0='nemDirective'/>
+   <regexp match='/^[ \t]*#[ \t]*warning.*$/' region0='nemDirective'/>
+</scheme>
+
+<scheme name='if_expr'>
+	<block start='/(.?!|\n)/' scheme='if_end'
+		end='/^\M(([\t ]*#[\t ]*endif)).*$/'
+	/>
+	<inherit scheme='lComment'/>
+	
+	<!-- /, warning: expected // -->
+	<regexp match='/\/\/?!/' region0="nemWarn"/>
+
+	<inherit scheme='nem_round'>
+		<virtual scheme='nem_round' subst-scheme='if_expr'/>
+	</inherit>
+	<keywords region='nemKeyword'>
+		<word name='true'/>
+		<word name='false'/>
+	</keywords>
+	<keywords region='nemOpSymbol'>
+		<symb name='!'/>
+		<symb name='\x26\x26'/>
+		<symb name='||'/>
+		<symb name='=='/>
+		<symb name='!='/>
+	</keywords>
+	<regexp match='/[\w_]+/' region0='nemString'/>
+	
+	<!-- wrong characters in preprocessing directive -->
+	<regexp match='/[^ \t]/' region0='nemError' priority='low'/>
+</scheme>
+
+<scheme name='if_end'>
+	<block start='/^([\t ]*#[\t ]*if)\M[ \t]/'
+		end='/^(([\t ]*#[\t ]*endif)).*$/'
+		scheme='ifexpr_end'
+		region00='nemDirective'	region11='nemDirective'
+		region01='nemOpen'		region12='nemClose'
+	/>
+	<block 	start='/^([\t ]*#[\t ]*elif)\M[ \t]/'
+		end='/^\M(([\t ]*#[\t ]*endif)).*$/'
+		region00='nemDirective'	region11='nemDirective'
+		region01='nemOpen' 		region12='nemClose'
+		scheme='ifexpr_end'
+	/>
+	<block 	start='/^([\t ]*#[\t ]*else).*$/'
+		end='/^\M(([\t ]*#[\t ]*endif)).*$/'
+		region00='nemDirective'	region11='nemDirective'
+		region01='nemOpen'     	region12='nemClose'
+		scheme='nemPP'
+	/>
+	<inherit scheme='simple'>
+		<virtual scheme='simple' subst-scheme='nemPP' />
+	</inherit>
+
+
+	<inherit scheme='lComment'/>
+	<inherit scheme='rComment'/>
+	<inherit scheme='nem_numb' />
+	<inherit scheme='nem_symb' />
+	<inherit scheme='nemString' />
+	<inherit scheme='nem_paren'>
+		<virtual scheme='nem_paren' subst-scheme='if_end'/>
+	</inherit>
+	<inherit scheme='nem_key' />
+
+
+<!---->
+
+	<regexp match='/^[ \t]*#.*$/' 
+		region0='nemError' 
+		priority='low'
+	/>
+
+</scheme>
+	
+
+<scheme name='ifexpr_end'>
+	<block start='/.?#1[ \t]/' 
+		end='/^\M(([ \t]*#[ \t]*endif)).*$/'
+		scheme='if_expr'
+	/>             
+</scheme>
+
+<scheme name='nemPP'>
+	<inherit scheme='simple'>
+		<virtual scheme='simple' subst-scheme='nemPP' />
+	</inherit>
+	<block start='/^([\t ]*#[\t ]*if)\M[ \t]/'
+		end='/^([\t ]*#[\t ]*endif).*$/'
+		scheme='ifexpr_end'
+		region00='nemDirective'	region10='nemDirective'
+		region01='nemOpen'     	region11='nemClose'
+	/>
+	<regexp match='/^[ \t]*#.*$/' 
+		region0='nemError' 
+		priority='low'
+	/>
+</scheme>
+
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+<!-- 1_000_000 -->
+<scheme name="nemDecNumb">
+   <regexp match="/\b(\d+(_\d+)*)([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumDec" region3="nemNumSuffix"/>
+</scheme>
+
+<!-- 0xff -->
+<scheme name="nemHexNumb">
+   <regexp match="/\b0[xX][\da-fA-F]+(_[\da-fA-F]+)*([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumHex" region2="nemNumSuffix"/>
+</scheme>
+
+<!-- 0o77 -->
+<scheme name="nemOctNumb">
+   <regexp match="/\b0[oO][0-7]+(_[0-7]+)*([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumOct" region2="nemNumSuffix"/>
+</scheme>
+
+<!-- 0b11 -->
+<scheme name="nemBinNumb">
+   <regexp match="/\b0[bB][01]+(_[01]+)*([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumBin" region2="nemNumSuffix"/>
+</scheme>
+
+<!-- 1.2E3 -->
+<scheme name="nemFloatNumb">
+   <regexp match="/\b(\d+(_\d+)*)?(\.)?~1\.\d+(_\d+)*([eE][\-\+]?\d+)?([fdmFDM]?)\b/xi" 
+   		region0="nemNumFloat" region6="nemNumSuffix"/>
+   <regexp match="/\b\d+(_\d+)*([eE][\-\+]?\d+)([fdmFDM]?)\b/ix" 
+   		region0="nemNumFloat" region3="nemNumSuffix"/>
+   <regexp match="/\b\d+(_\d+)*([fdmFDM])\b/ix" 
+   		region0="nemNumFloat" region2="nemNumSuffix"/>
+</scheme>
+
+<scheme name="nem_numb">
+   <inherit scheme="nemFloatNumb"/>
+   <inherit scheme="nemBinNumb"/>
+   <inherit scheme="nemDecNumb"/>
+   <inherit scheme="nemHexNumb"/>
+   <inherit scheme="nemOctNumb"/> 
+</scheme>
+
+
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+<!-- '\\' -->
+<scheme name="nem_symb">
+   <regexp match="/'[^\'\\]'/" region0="nemChar"/>
+   <regexp match="/\'\\n\'/" region0="nemChar"/>
+   <regexp match="/\'\\b\'/" region0="nemChar"/>
+   <regexp match="/\'\\e\'/" region0="nemChar"/>
+   <regexp match="/\'\\r\'/" region0="nemChar"/>
+   <regexp match="/\'\\t\'/" region0="nemChar"/>
+   <regexp match="/\'\\0\'/" region0="nemChar"/>
+   <regexp match="/\'\\$\'/" region0="nemChar"/>
+   <regexp match="/\'\\\\\'/" region0="nemChar"/>
+   <regexp match="/\'\\\'\'/" region0="nemChar"/>
+   <regexp match='/\x27\\\"\x27/' region0="nemChar"/>
+   <regexp match="/\'\\x[0-9a-zA-Z]{1,4}\'/" region0="nemChar"/>
+   <regexp match="/\'\\u[0-9a-zA-Z]{4}\'/" region0="nemChar"/>
+   <regexp match="/\'\\U[0-9a-zA-Z]{8}\'/" region0="nemChar"/>
+</scheme>
+
+
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+
+
+<!-- $"$( here )"-->
+<scheme name="nem_dlr">
+	<inherit scheme="nem_round" />
+</scheme>
+
+<scheme name="nemString">
+<!-- $@"string" -->
+   <block 
+    start='/\$[ \r\t]*\@[ \r\t]*"/' end='/"/' 
+    scheme="nemStringMonkeyDollar" region="nemString" 
+    region00="nemOpen" region10="nemClose"
+   />
+<!-- $"abc" "def" "$g"-->
+   <block 
+    start='/\$[ \r\t]*\M(\")/' end='/\M./' 
+    scheme="nemPreStringCoreDollar" region="nemString"
+   />
+<!-- 
+   region00="nemOpen" region10="nemClose"
+-->
+<!-- @"verbatim" -->
+   <block 
+    start='/\@[ \r\t]*"/' end='/"/' 
+    scheme="nemStringMonkey" region="nemString"
+    region00="nemOpen" region10="nemClose"
+   />
+<!-- "string" -->
+   <block 
+    start='/"/' end='/"/' 
+    scheme="nemStringCore" region="nemString"
+    region00="nemOpen" region10="nemClose"
+   />
+</scheme>
+
+<!-- "qwe\n" -->
+<scheme name="nemStringCore">
+   <regexp match='/\\[ntrbe"\\0\$\x27]/' region0="nemEscSymb"/>
+   <regexp match='/\\x[\da-fA-F]{1,4}/' region0="nemEscSymb"/>
+   <regexp match='/\\u[\da-fA-F]{4}/' region0="nemEscSymb"/>
+   <regexp match='/\\U[\da-fA-F]{8}/' region0="nemEscSymb"/>
+   <regexp match='/\\\\$/' region0="nemError"/> 
+   <regexp match='/[^\\\"]$/' region0="nemError"/>
+   <regexp match='/\\./' region0="nemError"/>
+   <regexp match='/(\$)[\w\(]/' region1="nemWarn"/>
+</scheme>
+
+
+<scheme name="nemPreStringCoreDollar">
+   <regexp match='/[ \t\r]/'/> 
+   <block 
+    start='/\"/' end='/\"/' 
+    scheme="nemStringCoreDollar" region="nemString"
+    region00="nemOpen" region10="nemClose"
+   />
+</scheme>
+
+<!-- $ "$qwe\n" -->
+<scheme name="nemStringCoreDollar">
+
+   <regexp match='/\\[ntrbe"\\0\$\x27]/' region0="nemEscSymb"/>
+   <regexp match='/\\x[\da-fA-F]{1,4}/' region0="nemEscSymb"/>
+   <regexp match='/\\u[\da-fA-F]{4}/' region0="nemEscSymb"/>
+   <regexp match='/\\U[\da-fA-F]{8}/' region0="nemEscSymb"/>
+   <regexp match='/[^\"]$/' region0="nemError"/>
+   <regexp match='/\\./' region0="nemError"/>
+   <regexp match='/\$[\w]+/' region0="nemDollared"/>
+   <block start='/(\$[ \t\r]*\()/' end='/(\))/' 
+	scheme="nem_dlr"
+	region00="nemOpSymbol" region10="nemOpSymbol"
+	region01='nemOpen' region11='nemClose'
+   />
+</scheme>
+
+<!-- @"no escapes\" -->
+<scheme name="nemStringMonkey">
+   <regexp match='/""/' region0="nemEscSymb"/>
+</scheme>
+
+<!-- $@"no escapes\ but $dollars" -->
+<scheme name="nemStringMonkeyDollar">
+   <regexp match='/""/' region0="nemEscSymb"/>
+   <regexp match='/\$[\w]+/' region0="nemDollared"/>
+   <block start='/(\$\()/' end='/(\))/' 
+	scheme="nem_dlr"
+	region00="nemOpSymbol" region10="nemOpSymbol"
+	region01='nemOpen' region11='nemClose'
+   />
+</scheme>
+
+
+
+
+
+
+<!--
+ nemerle syntax description beta
+-->
+
+
+<scheme name="nem_symb_lexer">
+ <keywords region="nemOpSymbol">
+<symb name=";"/>
+<symb name=","/>
+ </keywords>
+</scheme>
+
+<scheme name="nem_opsymb">
+ <keywords region="nemOpSymbol">
+	<symb name="="/><symb name="&lt;"/><symb name="&gt;"/>
+	<symb name="@"/><symb name="^"/><symb name="|"/>
+	<symb name="&amp;"/><symb name="+"/><symb name="-"/>
+	<symb name="*"/><symb name="/"/><symb name="$"/>
+	<symb name="%"/><symb name="!"/><symb name="?"/>
+	<symb name="~"/><symb name="."/><symb name=":"/>
+	<symb name="#"/>
+ </keywords>
+</scheme>
+
+<scheme name="nem_key_lexer">
+ <keywords region="nemKeyword">
+<!-- Keywords-->
+<word name="_"/>
+<word name="abstract"/>
+<word name="and"/> 
+<word name="array"/>
+<word name="as"/>
+<word name="base"/> 
+<word name="catch"/>
+<word name="class"/>
+<word name="def"/> 
+<word name="delegate"/>
+<word name="enum"/>
+<word name="event"/> 
+<word name="false"/>                   
+<word name="finally"/>
+<word name="fun"/> 
+<word name="implements"/> 
+<word name="interface"/> 
+<word name="internal"/> 
+<word name="is"/> 
+<word name="macro"/> 
+<word name="match"/> 
+<word name="matches"/> 
+<word name="module"/> 
+<word name="mutable"/> 
+<word name="namespace"/> 
+<word name="new"/> 
+<word name="null"/> 
+<word name="out"/> 
+<word name="override"/> 
+<word name="params"/> 
+<word name="private"/> 
+<word name="protected"/> 
+<word name="public"/> 
+<word name="ref"/> 
+<word name="sealed"/> 
+<word name="static"/> 
+<word name="struct"/> 
+<word name="syntax"/> 
+<word name="this"/> 
+<word name="throw"/> 
+<word name="true"/> 
+<word name="try"/> 
+<word name="type"/> 
+<word name="typeof"/> 
+<word name="using"/> 
+<word name="variant"/> 
+<word name="virtual"/> 
+<word name="void"/> 
+<word name="volatile"/> 
+<word name="when"/> 
+<word name="where"/> 
+<word name="partial"/> 
+<word name="extern"/> 
+<word name="with"/> 
+ </keywords>
+</scheme>
+
+<scheme name="nem_key_coremacro">
+ <keywords region="nemKeyword">
+<word name="if"/> 
+<word name="else"/> 
+<word name="for"/> 
+<word name="do"/> 
+<word name="while"/> 
+<word name="return"/> 
+<word name="break"/> 
+<word name="continue"/> 
+<word name="unchecked"/> 
+<word name="yield"/> 
+<word name="repeat"/> 
+<word name="when"/> 
+<word name="unless"/> 
+<word name="using"/>
+<word name="lock"/> 
+<word name="foreach"/> 
+<word name="abort"/> 
+<word name="ignore"/>
+<word name="lambda"/> 
+<word name="time"/> 
+ </keywords>
+</scheme>
+
+
+<scheme name="nem_key_coretype">
+ <keywords region="nemTypename">
+<word name="object"/>
+<word name="bool"/>
+<word name="byte"/>
+<word name="float"/> 
+<word name="uint"/> 
+<word name="char"/> 
+<word name="ulong"/> 
+<word name="ushort"/> 
+<word name="decimal"/> 
+<word name="int"/> 
+<word name="sbyte"/> 
+<word name="short"/> 
+<word name="double"/> 
+<word name="long"/> 
+<word name="string"/> 
+<word name="void"/> 
+ </keywords>
+</scheme>
+
+
+<scheme name="nem_key_exttype">
+ <keywords region="nemTypename">
+<word name="option"/> 
+<word name="list"/> 
+ </keywords>
+</scheme>
+
+<scheme name="nem_key">
+ <keywords region="nemString">
+<word name="true"/> 
+<word name="false"/> 
+<word name="null"/> 
+<word name="this"/> 
+ </keywords>
+
+	<inherit scheme='nem_key_lexer'/>
+	<inherit scheme='nem_symb_lexer'/>
+	<inherit scheme='nem_opsymb'/>
+	<inherit scheme='nem_key_coremacro'/>
+	<inherit scheme='nem_key_coretype'/>
+	<inherit scheme='nem_key_exttype'/>
+ <keywords region="nemKeyword">
+<word name="get"/> 
+<word name="set"/> 
+ </keywords>
+</scheme>
+
+
+
+
+<!--
+    nemerle syntax description beta
+-->
+
+
+
+
+
+
+
+
+
+
+
+<scheme name="nem2">
+	<inherit scheme='lComment'/>
+	<inherit scheme='rComment'/>
+	<inherit scheme='nemPP'>
+		<virtual scheme='nemPP' subst-scheme='nem2'/>
+	</inherit>
+	<inherit scheme='nem_numb' />
+	<inherit scheme='nem_symb' />
+	<inherit scheme='nemString' />
+	<inherit scheme='nem_paren'>
+		<virtual scheme='nem_paren' subst-scheme='nem2'/>
+	</inherit>
+	<inherit scheme='nem_key' />
+</scheme>
+
+
+
+</type>
+</hrc>

Added: nemerle/trunk/misc/colorer/readme
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/readme	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,60 @@
+This is a package of HRC schemes for colorer library (colorer.sourceforge.net).
+
+Colorer plugin is available for:
+-Far Manager (4ever and take5 versions are supported)
+-Eclipse (only newest(take5) version is supported)
+-MC (haven't tested it yet)
+
+
+This package contains:
+nem_4.hrc - scheme for old colorer version named 'forever'/'4ever'
+nem_5.hrc - scheme for new versions
+src - can be useful for editing schemes, it contains
+      schemes for 4ever, which are used to build all others 
+      (I find it more convenient to edit scheme split into many schemes)
+
+Installation:
+A) Far Manager, colorer 4ever version
+1)Copy nem_4.hrc to plugins\colorer\hrc\base\
+2)Add to colorer.hrc
+  <type descr="Nemerle" name="Nemerle" exts="/\.(n)$/i">
+    <load name="base/nem_4.hrc"/><!-- relative path to scheme -->
+    <scheme name="nem2"/>
+  </type>
+3)Reload colorer
+
+B) Far Manager, colorer 4ever, "src version"
+1)Copy all the hrc from src to plugins\colorer\hrc\base\
+2)Add to colorer.hrc
+  <type descr="Nemerle" name="Nemerle" exts="/\.(n)$/i">
+    <load name="base/nem2.hrc"/><!-- relative path to scheme -->
+    <scheme name="nem2"/>
+  </type>
+3)Reload colorer
+
+C) Far Manager, take5 version
+1)Copy nem_5.hrc to plugins\colorer\hrc\ver2\
+2)Edit proto.hrc in plugins\colorer\hrc
+Add following:
+  <prototype name="nem2" group="main" description="Nemerle">
+    <location link="ver2/nem_5.hrc"/><!-- relative path to scheme -->
+    <filename>/\.n$/i</filename>
+  </prototype>
+3)Reload colorer
+
+D) Eclipse, take5 version
+1)Copy nem_5.hrc to eclipseplugins\net.sf.colorer_x.x.x\colorer\hrc\ver2\
+2)Edit proto.hrc in eclipseplugins\net.sf.colorer_x.x.x\colorer\hrc
+Add following:
+  <prototype name="nem2" group="main" description="Nemerle">
+    <location link="ver2/nem_5.hrc"/><!-- relative path to scheme -->
+    <filename>/\.n$/i</filename>
+  </prototype>
+3)Edit plugin.xml in eclipseplugins\net.sf.colorer_x.x.x
+Add .n extension to list of ColorerEditor extensions:
+<!-- Editors with Syntax Highlighting definitions -->
+   <extension
+         point="org.eclipse.ui.editors">
+      <editor
+            ... 
+            extensions="n,..."
\ No newline at end of file

Added: nemerle/trunk/misc/colorer/src/gen4.bat
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/gen4.bat	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,4 @@
+copy nem_base.hrc+nem_paren.hrc+nem_comments.hrc+nem_pp.hrc+nem_num.hrc+nem_char.hrc+nem_str.hrc+nem_key.hrc+nem2.hrc temp.hrc
+repl4.vbs
+del nem_4.hrc
+ren temp.hrc nem_4.hrc
\ No newline at end of file

Added: nemerle/trunk/misc/colorer/src/gen5.bat
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/gen5.bat	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,4 @@
+copy nem_base5.hrc+nem_paren.hrc+nem_comments.hrc+nem_pp.hrc+nem_num.hrc+nem_char.hrc+nem_str.hrc+nem_key.hrc+nem2.hrc temp.hrc
+repl5.vbs
+del nem_5.hrc
+ren temp.hrc nem_5.hrc
\ No newline at end of file

Added: nemerle/trunk/misc/colorer/src/nem2.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/nem2.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+<!--
+    nemerle syntax description beta
+-->
+<hrc>
+
+<include name='base/nem_base.hrc'/>
+<include name='base/nem_paren.hrc'/>
+<include name='base/nem_comments.hrc'/>
+<include name='base/nem_pp.hrc'/>
+<include name='base/nem_num.hrc'/>
+<include name='base/nem_char.hrc'/>
+<include name='base/nem_str.hrc'/>
+<include name='base/nem_key.hrc'/>
+
+<scheme name="nem2">
+	<inherit scheme='lComment'/>
+	<inherit scheme='rComment'/>
+	<inherit scheme='nemPP'>
+		<virtual scheme='nemPP' subst='nem2'/>
+	</inherit>
+	<inherit scheme='nem_numb' />
+	<inherit scheme='nem_symb' />
+	<inherit scheme='nemString' />
+	<inherit scheme='nem_paren'>
+		<virtual scheme='nem_paren' subst='nem2'/>
+	</inherit>
+	<inherit scheme='nem_key' />
+</scheme>
+
+
+</hrc>

Added: nemerle/trunk/misc/colorer/src/nem_base.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/nem_base.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+<!--
+    nemerle syntax description beta
+-->
+<hrc>
+
+
+<!-- 'a' -->
+<define name="nemChar"        value="dSymbol"/>
+
+<!-- /*,*/,// -->
+<define name="nemComment"        value="dComment"/>
+
+<!-- inside comment -->
+<define name="nemCommentContent"        value="dComment"/>
+
+<!-- +,<,*,&,... -->
+<define name="nemOpSymbol"        value="dSymbol"/>
+
+<!-- built in type name -->
+<define name="nemTypename"        value="dKeyword"/>
+
+<!-- build in keyword, class,override,... -->
+<define name="nemKeyword"        value="dKeyword"/>
+
+<!-- numeric literals -->
+<define name="nemNumDec"        value="dNumDec"/>
+<define name="nemNumHex"        value="dNumHex"/>
+<define name="nemNumOct"        value="dNumOct"/>
+<define name="nemNumBin"        value="dNumBin"/>
+<define name="nemNumFloat"        value="dNumFloat"/>
+<define name="nemNumSuffix"        value="dNumSuffix"/>
+
+<!-- <[,]> -->
+<define name="nemQuote"        value="dSymbol2"/>
+
+<!-- escape sequence in string literal -->
+<define name="nemEscSymb"      value="dString2"/>
+
+<!-- some open, close -->
+<define name="nemOpen"        value="dpOpenStruct"/>
+<define name="nemClose"        value="dpCloseStruct"/>
+
+<!-- errors, warnings -->
+<define name="nemError"        value="dError"/>
+<define name="nemWarn"        value="dError"/>
+
+<define name="nemDollared"      value="dStringQuote"/>
+<define name="nemDirective"     value="dDirective"/>
+<define name="nemWord"        value="dKeyword"/>
+<define name="nemSymbol"        value="dSymbol"/>
+<define name="nemString"      value="dString"/>
+
+</hrc>

Added: nemerle/trunk/misc/colorer/src/nem_base5.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/nem_base5.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+<!--
+    nemerle syntax description beta
+-->
+<hrc>
+
+
+<!-- 'a' -->
+<define name="nemChar"        value="Symbol"/>
+
+<!-- /*,*/,// -->
+<define name="nemComment"        value="Comment"/>
+
+<!-- inside comment -->
+<define name="nemCommentContent"        value="CommentContent"/>
+
+<!-- +,<,*,&,... -->
+<define name="nemOpSymbol"        value="Symbol"/>
+
+<!-- built in type name -->
+<define name="nemTypename"        value="Keyword"/>
+
+<!-- build in keyword, class,override,... -->
+<define name="nemKeyword"        value="Keyword"/>
+
+<!-- numeric literals -->
+<define name="nemNumDec"        value="NumberDec"/>
+<define name="nemNumHex"        value="NumberHex"/>
+<define name="nemNumOct"        value="NumberOct"/>
+<define name="nemNumBin"        value="NumberBin"/>
+<define name="nemNumFloat"        value="NumberFloat"/>
+<define name="nemNumSuffix"        value="NumberSuffix"/>
+
+<!-- <[,]> -->
+<define name="nemQuote"        value="SymbolStrong"/>
+
+<!-- escape sequence in string literal -->
+<define name="nemEscSymb"      value="StringContent"/>
+
+<!-- some open, close -->
+<define name="nemOpen"        value="PairStart"/>
+<define name="nemClose"        value="PairEnd"/>
+
+<!-- errors, warnings -->
+<define name="nemError"        value="Error"/>
+<define name="nemWarn"        value="Error"/>
+
+<define name="nemDollared"      value="StringEdge"/>
+<define name="nemDirective"     value="Directive"/>
+<define name="nemWord"        value="Keyword"/>
+<define name="nemSymbol"        value="Symbol"/>
+<define name="nemString"      value="String"/>
+
+</hrc>

Added: nemerle/trunk/misc/colorer/src/nem_char.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/nem_char.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+<!--
+    nemerle syntax description beta
+-->
+<hrc>
+
+<!-- '\\' -->
+<scheme name="nem_symb">
+   <regexp match="/'[^\'\\]'/" region0="nemChar"/>
+   <regexp match="/\'\\n\'/" region0="nemChar"/>
+   <regexp match="/\'\\b\'/" region0="nemChar"/>
+   <regexp match="/\'\\e\'/" region0="nemChar"/>
+   <regexp match="/\'\\r\'/" region0="nemChar"/>
+   <regexp match="/\'\\t\'/" region0="nemChar"/>
+   <regexp match="/\'\\0\'/" region0="nemChar"/>
+   <regexp match="/\'\\$\'/" region0="nemChar"/>
+   <regexp match="/\'\\\\\'/" region0="nemChar"/>
+   <regexp match="/\'\\\'\'/" region0="nemChar"/>
+   <regexp match='/\x27\\\"\x27/' region0="nemChar"/>
+   <regexp match="/\'\\x[0-9a-zA-Z]{1,4}\'/" region0="nemChar"/>
+   <regexp match="/\'\\u[0-9a-zA-Z]{4}\'/" region0="nemChar"/>
+   <regexp match="/\'\\U[0-9a-zA-Z]{8}\'/" region0="nemChar"/>
+</scheme>
+
+</hrc>

Added: nemerle/trunk/misc/colorer/src/nem_comments.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/nem_comments.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+<!--
+    nemerle syntax description beta
+-->
+<hrc>
+<include name='base/nem_base.hrc'/>
+
+
+<scheme name='lComment'>
+	<block start='/\/\//' end='/$/'
+		scheme='Comment'
+		region00='nemComment'
+		region='nemCommentContent'
+		/>
+</scheme>
+
+<scheme name='rComment'>
+	<block start='/(\/\*)/' end='/(\*\/)/'
+		scheme='Comment'
+		region='nemCommentContent'
+		region00='nemComment'
+		region10='nemComment'
+		region01='nemOpen'
+		region11='nemClose'
+		/>
+</scheme>
+
+</hrc>

Added: nemerle/trunk/misc/colorer/src/nem_key.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/nem_key.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+<!--
+ nemerle syntax description beta
+-->
+<hrc>
+
+<scheme name="nem_symb_lexer">
+ <keywords region="nemOpSymbol">
+<symb name=";"/>
+<symb name=","/>
+ </keywords>
+</scheme>
+
+<scheme name="nem_opsymb">
+ <keywords region="nemOpSymbol">
+	<symb name="="/><symb name="&lt;"/><symb name="&gt;"/>
+	<symb name="@"/><symb name="^"/><symb name="|"/>
+	<symb name="&amp;"/><symb name="+"/><symb name="-"/>
+	<symb name="*"/><symb name="/"/><symb name="$"/>
+	<symb name="%"/><symb name="!"/><symb name="?"/>
+	<symb name="~"/><symb name="."/><symb name=":"/>
+	<symb name="#"/>
+ </keywords>
+</scheme>
+
+<scheme name="nem_key_lexer">
+ <keywords region="nemKeyword">
+<!-- Keywords-->
+<word name="_"/>
+<word name="abstract"/>
+<word name="and"/> 
+<word name="array"/>
+<word name="as"/>
+<word name="base"/> 
+<word name="catch"/>
+<word name="class"/>
+<word name="def"/> 
+<word name="delegate"/>
+<word name="enum"/>
+<word name="event"/> 
+<word name="false"/>                   
+<word name="finally"/>
+<word name="fun"/> 
+<word name="implements"/> 
+<word name="interface"/> 
+<word name="internal"/> 
+<word name="is"/> 
+<word name="macro"/> 
+<word name="match"/> 
+<word name="matches"/> 
+<word name="module"/> 
+<word name="mutable"/> 
+<word name="namespace"/> 
+<word name="new"/> 
+<word name="null"/> 
+<word name="out"/> 
+<word name="override"/> 
+<word name="params"/> 
+<word name="private"/> 
+<word name="protected"/> 
+<word name="public"/> 
+<word name="ref"/> 
+<word name="sealed"/> 
+<word name="static"/> 
+<word name="struct"/> 
+<word name="syntax"/> 
+<word name="this"/> 
+<word name="throw"/> 
+<word name="true"/> 
+<word name="try"/> 
+<word name="type"/> 
+<word name="typeof"/> 
+<word name="using"/> 
+<word name="variant"/> 
+<word name="virtual"/> 
+<word name="void"/> 
+<word name="volatile"/> 
+<word name="when"/> 
+<word name="where"/> 
+<word name="partial"/> 
+<word name="extern"/> 
+<word name="with"/> 
+ </keywords>
+</scheme>
+
+<scheme name="nem_key_coremacro">
+ <keywords region="nemKeyword">
+<word name="if"/> 
+<word name="else"/> 
+<word name="for"/> 
+<word name="do"/> 
+<word name="while"/> 
+<word name="return"/> 
+<word name="break"/> 
+<word name="continue"/> 
+<word name="unchecked"/> 
+<word name="yield"/> 
+<word name="repeat"/> 
+<word name="when"/> 
+<word name="unless"/> 
+<word name="using"/>
+<word name="lock"/> 
+<word name="foreach"/> 
+<word name="abort"/> 
+<word name="ignore"/>
+<word name="lambda"/> 
+<word name="time"/> 
+ </keywords>
+</scheme>
+
+
+<scheme name="nem_key_coretype">
+ <keywords region="nemTypename">
+<word name="object"/>
+<word name="bool"/>
+<word name="byte"/>
+<word name="float"/> 
+<word name="uint"/> 
+<word name="char"/> 
+<word name="ulong"/> 
+<word name="ushort"/> 
+<word name="decimal"/> 
+<word name="int"/> 
+<word name="sbyte"/> 
+<word name="short"/> 
+<word name="double"/> 
+<word name="long"/> 
+<word name="string"/> 
+<word name="void"/> 
+ </keywords>
+</scheme>
+
+
+<scheme name="nem_key_exttype">
+ <keywords region="nemTypename">
+<word name="option"/> 
+<word name="list"/> 
+ </keywords>
+</scheme>
+
+<scheme name="nem_key">
+ <keywords region="nemString">
+<word name="true"/> 
+<word name="false"/> 
+<word name="null"/> 
+<word name="this"/> 
+ </keywords>
+
+	<inherit scheme='nem_key_lexer'/>
+	<inherit scheme='nem_symb_lexer'/>
+	<inherit scheme='nem_opsymb'/>
+	<inherit scheme='nem_key_coremacro'/>
+	<inherit scheme='nem_key_coretype'/>
+	<inherit scheme='nem_key_exttype'/>
+ <keywords region="nemKeyword">
+<word name="get"/> 
+<word name="set"/> 
+ </keywords>
+</scheme>
+</hrc>

Added: nemerle/trunk/misc/colorer/src/nem_num.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/nem_num.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+<!--
+    nemerle syntax description beta
+-->
+<hrc>
+
+<!-- 1_000_000 -->
+<scheme name="nemDecNumb">
+   <regexp match="/\b(\d+(_\d+)*)([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumDec" region3="nemNumSuffix"/>
+</scheme>
+
+<!-- 0xff -->
+<scheme name="nemHexNumb">
+   <regexp match="/\b0[xX][\da-fA-F]+(_[\da-fA-F]+)*([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumHex" region2="nemNumSuffix"/>
+</scheme>
+
+<!-- 0o77 -->
+<scheme name="nemOctNumb">
+   <regexp match="/\b0[oO][0-7]+(_[0-7]+)*([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumOct" region2="nemNumSuffix"/>
+</scheme>
+
+<!-- 0b11 -->
+<scheme name="nemBinNumb">
+   <regexp match="/\b0[bB][01]+(_[01]+)*([uslbUSLB]{1,2})?\b/xi"
+           region0="nemNumBin" region2="nemNumSuffix"/>
+</scheme>
+
+<!-- 1.2E3 -->
+<scheme name="nemFloatNumb">
+   <regexp match="/\b(\d+(_\d+)*)?(\.)?~1\.\d+(_\d+)*([eE][\-\+]?\d+)?([fdmFDM]?)\b/xi" 
+   		region0="nemNumFloat" region6="nemNumSuffix"/>
+   <regexp match="/\b\d+(_\d+)*([eE][\-\+]?\d+)([fdmFDM]?)\b/ix" 
+   		region0="nemNumFloat" region3="nemNumSuffix"/>
+   <regexp match="/\b\d+(_\d+)*([fdmFDM])\b/ix" 
+   		region0="nemNumFloat" region2="nemNumSuffix"/>
+</scheme>
+
+<scheme name="nem_numb">
+   <inherit scheme="nemFloatNumb"/>
+   <inherit scheme="nemBinNumb"/>
+   <inherit scheme="nemDecNumb"/>
+   <inherit scheme="nemHexNumb"/>
+   <inherit scheme="nemOctNumb"/> 
+</scheme>
+
+</hrc>

Added: nemerle/trunk/misc/colorer/src/nem_paren.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/nem_paren.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+<!--
+ nemerle syntax description beta
+-->
+<hrc>
+
+<!-- <[ ]> -->
+<scheme name="nem_quote">
+   <block start="/(&lt;\[)/" end="/(\]&gt;)/" scheme="nem_quote"
+          region00="nemQuote" region01="nemOpen"
+          region10="nemQuote" region11="nemClose"/>
+</scheme>
+
+<!-- { } -->
+<scheme name="nem_fig">
+   <block start="/(\{)/" end="/(\})/" scheme="nem_fig"
+          region00="nemQuote" region01="nemOpen"
+          region10="nemQuote" region11="nemClose"/>
+          
+<!-- [ ] -->
+</scheme>
+<scheme name="nem_square">
+   <block start="/(\[)/" end="/(\])/" scheme="nem_square"
+          region00="nemOpSymbol" region01="nemOpen"
+          region10="nemOpSymbol" region11="nemClose"/>
+</scheme>
+
+<!-- ( ) -->
+<scheme name="nem_round">
+   <block start="/(\()/" end="/(\))/" scheme="nem_round"
+          region00="nemOpSymbol" region01="nemOpen"
+          region10="nemOpSymbol" region11="nemClose"/>
+</scheme>
+
+
+<scheme name="nem_paren">
+<inherit scheme='nem_quote'>
+	<virtual scheme='nem_quote' subst='nem_paren'/>
+</inherit>
+<inherit scheme='nem_round'>
+	<virtual scheme='nem_round' subst='nem_paren'/>
+</inherit>
+<inherit scheme='nem_square'>
+	<virtual scheme='nem_square' subst='nem_paren'/>
+</inherit>
+<inherit scheme='nem_fig'>
+	<virtual scheme='nem_fig' subst='nem_paren'/>
+</inherit>
+</scheme>
+
+</hrc>

Added: nemerle/trunk/misc/colorer/src/nem_pp.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/nem_pp.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+
+<hrc>
+
+<include name='base/nem_paren.hrc'/>
+<include name='base/nem_base.hrc'/>
+<include name='base/nem_comments.hrc'/>
+<include name='base/nem_num.hrc'/>
+<include name='base/nem_char.hrc'/>
+<include name='base/nem_str.hrc'/>
+<include name='base/nem_key.hrc'/>
+
+<scheme name='simple'>
+	<block 
+start='/^[\t ]*(#[\t ]*region[\t ]*)([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+end='/^[\t ]*(#[\t ]*endregion[\t ]*)([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+		scheme='simple'
+		region00='nemDirective' region10='nemDirective'
+		region01='nemOpen' region11='nemClose'
+		region03='nemWarn' region13='nemWarn'
+		region05='nemComment' region15='nemComment'
+		/>
+   <regexp 
+match='/^[ \t]*#[ \t]*define[ \t]+[\w]+([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/' 
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+   <regexp 
+match='/^[ \t]*#[ \t]*undef[ \t]+[\w]+([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/' 
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+
+   <regexp 
+match='/^[ \t]*#[ \t]*line[\r\t ]+default[ \t]*([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+   <regexp 
+match='/^[ \t]*#[ \t]*line[\r\t ]+[0-9]+([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))$/'
+region0='nemDirective'
+region2='nemWarn'
+region4='nemComment'
+	/>
+
+   <regexp 
+match='/^[ \t]*#[ \t]*pragma[\r\t ]+warning[\r\t ]+(disable)|(restore)([\r\t ]+\d+(,[\r\t ]+\d+)*)?([^\n\/]*(\/\/?!)?)*((\/\/.*)|(.*))/' 
+region0='nemDirective'
+region6='nemWarn'
+region8='nemComment'
+	/>
+   <regexp match='/^[ \t]*#[ \t]*pragma[\r\t ]+indent.*/' region0='nemDirective'/>
+
+   <regexp match='/^[ \t]*#[ \t]*error.*$/' region0='nemDirective'/>
+   <regexp match='/^[ \t]*#[ \t]*warning.*$/' region0='nemDirective'/>
+</scheme>
+
+<scheme name='if_expr'>
+	<block start='/(.?!|\n)/' scheme='if_end'
+		end='/^\M(([\t ]*#[\t ]*endif)).*$/'
+	/>
+	<inherit scheme='lComment'/>
+	
+	<!-- /, warning: expected // -->
+	<regexp match='/\/\/?!/' region0="nemWarn"/>
+
+	<inherit scheme='nem_round'>
+		<virtual scheme='nem_round' subst='if_expr'/>
+	</inherit>
+	<keywords region='nemKeyword'>
+		<word name='true'/>
+		<word name='false'/>
+	</keywords>
+	<keywords region='nemOpSymbol'>
+		<symb name='!'/>
+		<symb name='\x26\x26'/>
+		<symb name='||'/>
+		<symb name='=='/>
+		<symb name='!='/>
+	</keywords>
+	<regexp match='/[\w_]+/' region0='nemString'/>
+	
+	<!-- wrong characters in preprocessing directive -->
+	<regexp match='/[^ \t]/' region0='nemError' lowpriority='lowpriority'/>
+</scheme>
+
+<scheme name='if_end'>
+	<block start='/^([\t ]*#[\t ]*if)\M[ \t]/'
+		end='/^(([\t ]*#[\t ]*endif)).*$/'
+		scheme='ifexpr_end'
+		region00='nemDirective'	region11='nemDirective'
+		region01='nemOpen'		region12='nemClose'
+	/>
+	<block 	start='/^([\t ]*#[\t ]*elif)\M[ \t]/'
+		end='/^\M(([\t ]*#[\t ]*endif)).*$/'
+		region00='nemDirective'	region11='nemDirective'
+		region01='nemOpen' 		region12='nemClose'
+		scheme='ifexpr_end'
+	/>
+	<block 	start='/^([\t ]*#[\t ]*else).*$/'
+		end='/^\M(([\t ]*#[\t ]*endif)).*$/'
+		region00='nemDirective'	region11='nemDirective'
+		region01='nemOpen'     	region12='nemClose'
+		scheme='nemPP'
+	/>
+	<inherit scheme='simple'>
+		<virtual scheme='simple' subst='nemPP' />
+	</inherit>
+
+
+	<inherit scheme='lComment'/>
+	<inherit scheme='rComment'/>
+	<inherit scheme='nem_numb' />
+	<inherit scheme='nem_symb' />
+	<inherit scheme='nemString' />
+	<inherit scheme='nem_paren'>
+		<virtual scheme='nem_paren' subst='if_end'/>
+	</inherit>
+	<inherit scheme='nem_key' />
+
+
+<!---->
+
+	<regexp match='/^[ \t]*#.*$/' 
+		region0='nemError' 
+		lowpriority='lowpriority'
+	/>
+
+</scheme>
+	
+
+<scheme name='ifexpr_end'>
+	<block start='/.?#1[ \t]/' 
+		end='/^\M(([ \t]*#[ \t]*endif)).*$/'
+		scheme='if_expr'
+	/>             
+</scheme>
+
+<scheme name='nemPP'>
+	<inherit scheme='simple'>
+		<virtual scheme='simple' subst='nemPP' />
+	</inherit>
+	<block start='/^([\t ]*#[\t ]*if)\M[ \t]/'
+		end='/^([\t ]*#[\t ]*endif).*$/'
+		scheme='ifexpr_end'
+		region00='nemDirective'	region10='nemDirective'
+		region01='nemOpen'     	region11='nemClose'
+	/>
+	<regexp match='/^[ \t]*#.*$/' 
+		region0='nemError' 
+		lowpriority='lowpriority'
+	/>
+</scheme>
+</hrc>

Added: nemerle/trunk/misc/colorer/src/nem_str.hrc
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/nem_str.hrc	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="Windows-1251"?>
+<!DOCTYPE hrc SYSTEM "../hrc.dtd">
+<?xml-stylesheet type="text/xsl" href="../hrc.xsl"?>
+<!--
+    nemerle syntax description beta
+-->
+<hrc>
+
+<include name='base/nem_paren.hrc'/>
+
+<!-- $"$( here )"-->
+<scheme name="nem_dlr">
+	<inherit scheme="nem_round" />
+</scheme>
+
+<scheme name="nemString">
+<!-- $@"string" -->
+   <block 
+    start='/\$[ \r\t]*\@[ \r\t]*"/' end='/"/' 
+    scheme="nemStringMonkeyDollar" region="nemString" 
+    region00="nemOpen" region10="nemClose"
+   />
+<!-- $"abc" "def" "$g"-->
+   <block 
+    start='/\$[ \r\t]*\M(\")/' end='/\M./' 
+    scheme="nemPreStringCoreDollar" region="nemString"
+   />
+<!-- 
+   region00="nemOpen" region10="nemClose"
+-->
+<!-- @"verbatim" -->
+   <block 
+    start='/\@[ \r\t]*"/' end='/"/' 
+    scheme="nemStringMonkey" region="nemString"
+    region00="nemOpen" region10="nemClose"
+   />
+<!-- "string" -->
+   <block 
+    start='/"/' end='/"/' 
+    scheme="nemStringCore" region="nemString"
+    region00="nemOpen" region10="nemClose"
+   />
+</scheme>
+
+<!-- "qwe\n" -->
+<scheme name="nemStringCore">
+   <regexp match='/\\[ntrbe"\\0\$\x27]/' region0="nemEscSymb"/>
+   <regexp match='/\\x[\da-fA-F]{1,4}/' region0="nemEscSymb"/>
+   <regexp match='/\\u[\da-fA-F]{4}/' region0="nemEscSymb"/>
+   <regexp match='/\\U[\da-fA-F]{8}/' region0="nemEscSymb"/>
+   <regexp match='/\\\\$/' region0="nemError"/> 
+   <regexp match='/[^\\\"]$/' region0="nemError"/>
+   <regexp match='/\\./' region0="nemError"/>
+   <regexp match='/(\$)[\w\(]/' region1="nemWarn"/>
+</scheme>
+
+
+<scheme name="nemPreStringCoreDollar">
+   <regexp match='/[ \t\r]/'/> 
+   <block 
+    start='/\"/' end='/\"/' 
+    scheme="nemStringCoreDollar" region="nemString"
+    region00="nemOpen" region10="nemClose"
+   />
+</scheme>
+
+<!-- $ "$qwe\n" -->
+<scheme name="nemStringCoreDollar">
+
+   <regexp match='/\\[ntrbe"\\0\$\x27]/' region0="nemEscSymb"/>
+   <regexp match='/\\x[\da-fA-F]{1,4}/' region0="nemEscSymb"/>
+   <regexp match='/\\u[\da-fA-F]{4}/' region0="nemEscSymb"/>
+   <regexp match='/\\U[\da-fA-F]{8}/' region0="nemEscSymb"/>
+   <regexp match='/[^\"]$/' region0="nemError"/>
+   <regexp match='/\\./' region0="nemError"/>
+   <regexp match='/\$[\w]+/' region0="nemDollared"/>
+   <block start='/(\$[ \t\r]*\()/' end='/(\))/' 
+	scheme="nem_dlr"
+	region00="nemOpSymbol" region10="nemOpSymbol"
+	region01='nemOpen' region11='nemClose'
+   />
+</scheme>
+
+<!-- @"no escapes\" -->
+<scheme name="nemStringMonkey">
+   <regexp match='/""/' region0="nemEscSymb"/>
+</scheme>
+
+<!-- $@"no escapes\ but $dollars" -->
+<scheme name="nemStringMonkeyDollar">
+   <regexp match='/""/' region0="nemEscSymb"/>
+   <regexp match='/\$[\w]+/' region0="nemDollared"/>
+   <block start='/(\$\()/' end='/(\))/' 
+	scheme="nem_dlr"
+	region00="nemOpSymbol" region10="nemOpSymbol"
+	region01='nemOpen' region11='nemClose'
+   />
+</scheme>
+
+
+</hrc>

Added: nemerle/trunk/misc/colorer/src/readme
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/readme	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,4 @@
+Batch files gen4.bat and gen5.bat are used to merge schemes into one file,
+they are not very smart, but work in simple cases :)
+
+

Added: nemerle/trunk/misc/colorer/src/repl4.vbs
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/repl4.vbs	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,29 @@
+Const ForReading = 1
+Const ForWriting = 2
+
+Set objFSO = CreateObject("Scripting.FileSystemObject")
+Set objFile = objFSO.OpenTextFile("temp.hrc", ForReading)
+
+strText = objFile.ReadAll
+objFile.Close
+
+strNewText = strText
+strNewText = Replace(strNewText, "<?xml version=""1.0"" encoding=""Windows-1251""?>", "")
+strNewText = Replace(strNewText, "<!DOCTYPE hrc SYSTEM ""../hrc.dtd"">", "")
+strNewText = Replace(strNewText, "<?xml-stylesheet type=""text/xsl"" href=""../hrc.xsl""?>", "")
+strNewText = Replace(strNewText, "<hrc>", "")
+strNewText = Replace(strNewText, "</hrc>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_base.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_paren.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_comments.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_pp.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_num.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_char.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_str.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_key.hrc'/>", "")
+strNewText = Replace(strNewText, "", "")
+strNewText = "<?xml version=""1.0"" encoding=""Windows-1251""?>"+vbCrLf+"<!DOCTYPE hrc SYSTEM ""../hrc.dtd"">"+vbCrLf+"<?xml-stylesheet type=""text/xsl"" href=""../hrc.xsl""?>"+vbCrLf+"<hrc>" + vbCrLf + strNewText + vbCrLf+"</hrc>"
+
+Set objFile = objFSO.OpenTextFile("temp.hrc", ForWriting, true)
+objFile.WriteLine strNewText
+objFile.Close
\ No newline at end of file

Added: nemerle/trunk/misc/colorer/src/repl5.vbs
==============================================================================
--- (empty file)
+++ nemerle/trunk/misc/colorer/src/repl5.vbs	Sat Mar 10 10:15:25 2007
@@ -0,0 +1,33 @@
+Const ForReading = 1
+Const ForWriting = 2
+
+Set objFSO = CreateObject("Scripting.FileSystemObject")
+Set objFile = objFSO.OpenTextFile("temp.hrc", ForReading)
+
+strText = objFile.ReadAll
+objFile.Close
+
+strNewText = Replace(strText, "<define", "<region")
+strNewText = Replace(strNewText, "value=""", "parent=""")
+strNewText = Replace(strNewText, "lowpriority='lowpriority'", "priority='low'")
+
+strNewText = Replace(strNewText, "<?xml version=""1.0"" encoding=""Windows-1251""?>", "")
+strNewText = Replace(strNewText, "<!DOCTYPE hrc SYSTEM ""../hrc.dtd"">", "")
+strNewText = Replace(strNewText, "<?xml-stylesheet type=""text/xsl"" href=""../hrc.xsl""?>", "")
+strNewText = Replace(strNewText, "<hrc>", "")
+strNewText = Replace(strNewText, "</hrc>", "")
+strNewText = Replace(strNewText, "subst=", "subst-scheme=")
+strNewText = Replace(strNewText, "<include name='base/nem_base.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_paren.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_comments.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_pp.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_num.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_char.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_str.hrc'/>", "")
+strNewText = Replace(strNewText, "<include name='base/nem_key.hrc'/>", "")
+strNewText = Replace(strNewText, "", "")
+strNewText = "<?xml version=""1.0"" encoding=""windows-1251""?>"+vbCrLf+"<!DOCTYPE hrc PUBLIC ""-//Cail Lomecb//DTD Colorer HRC take5//EN"""+vbCrLf+"""http://colorer.sf.net/2003/hrc.dtd"">"+vbCrLf+""+"<hrc version=""take5"" xmlns=""http://colorer.sf.net/2003/hrc"""+vbCrLf+"xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"""+vbCrLf+"xsi:schemaLocation=""http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd"">"+vbCrLf+""+"<type name=""nem2"">"+vbCrLf+""+"<import type=""def""/>"+vbCrLf+""+strNewText + "</type>"+vbCrLf+"</hrc>"
+
+Set objFile = objFSO.OpenTextFile("temp.hrc", ForWriting)
+objFile.WriteLine strNewText
+objFile.Close
\ No newline at end of file



More information about the svn mailing list