[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="/(<\[)/" end="/(\]>)/" 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="<"/><symb name=">"/>
+ <symb name="@"/><symb name="^"/><symb name="|"/>
+ <symb name="&"/><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="/(<\[)/" end="/(\]>)/" 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="<"/><symb name=">"/>
+ <symb name="@"/><symb name="^"/><symb name="|"/>
+ <symb name="&"/><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="<"/><symb name=">"/>
+ <symb name="@"/><symb name="^"/><symb name="|"/>
+ <symb name="&"/><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="/(<\[)/" end="/(\]>)/" 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