You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/kate/data/noweb.xml

53 lines
2.6 KiB

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="noweb" version="1.01" kateversion="2.5" section="Sources" extensions="*.w;*.nw" author="Scott Collins (scc@scottcollins.net)">
<!--
#########################################################################
# First version added to repository was 0.4, added as 1.0 .
#
# Article about this highlighter:
# http://scottcollins.net/articles/Kate.html
#
# Indirect source file:
# http://scottcollins.net/articles/Kate.w
#
# Command used for extraction:
# $ notangle Kate.w -R"noweb.xml" > syntax/data/noweb.xml
#########################################################################
-->
<highlighting>
<contexts>
<context name="RawDocumentation" attribute="Prose" lineEndContext="#stay">
<RegExpr String="^&lt;&lt;.*&gt;&gt;=$" attribute="SectionName" context="CodeSection" beginRegion="CodeSection" />
<Detect2Chars char="@" char1="[" context="#stay" />
<Detect2Chars char="[" char1="[" attribute="Punctuation" context="CodeQuote" />
<IncludeRules context="##HTML" includeAttrib="true" />
</context>
<context name="CodeQuote" attribute="Code" lineEndContext="#stay">
<Detect2Chars char="@" char1="]" context="#stay" />
<RegExpr String="\]\](?!\])" minimal="true" attribute="Punctuation" context="#pop" />
<IncludeRules context="SectionNames" />
<IncludeRules context="##C++" includeAttrib="true" />
</context>
<context name="CodeSection" attribute="Code" lineEndContext="#stay">
<RegExpr String="^@$" attribute="Punctuation" context="RawDocumentation" endRegion="CodeSection" />
<RegExpr String="^@(?=[\s%])" attribute="Punctuation" context="RawDocumentation" endRegion="CodeSection" />
<RegExpr String="^&lt;&lt;.*&gt;&gt;=$" context="RawDocumentation" lookAhead="true" endRegion="CodeSection" />
<IncludeRules context="SectionNames" />
<IncludeRules context="##C++" includeAttrib="true" />
</context>
<context name="SectionNames" attribute="Prose" lineEndContext="#stay">
<RegExpr String="@&lt;&lt;" context="#stay" />
<RegExpr String="&lt;&lt;.*[^@]&gt;&gt;(?!=)" minimal="true" attribute="SectionName" />
</context>
</contexts>
<itemDatas>
<itemData name="Prose" defStyleNum="dsNormal" />
<itemData name="Code" defStyleNum="dsNormal" />
<itemData name="Punctuation" defStyleNum="dsRegionMarker" bold="true" />
<itemData name="SectionName" defStyleNum="dsRegionMarker" italic="true" />
</itemDatas>
</highlighting>
</language>