Warning, /frameworks/syntax-highlighting/data/syntax/metamath.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language [
0003         <!ENTITY label "[0-9A-Za-z.\-_]+">
0004         <!ENTITY symbol "[^ $]+">
0005 ]>
0006 <!-- low priority to let Objective-C++ win for .mm files per default -->
0007 <language name="Metamath" section="Scientific" extensions="*.mm" priority="-9"
0008         version="5" kateversion="5.0" author="Aaron Puchert" license="MIT">
0009 <highlighting>
0010         <contexts>
0011                 <!-- Block: ${ statement* $} -->
0012                 <context name="Block" attribute="Normal" lineEndContext="#stay">
0013                         <DetectSpaces/>
0014                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0015                         <Detect2Chars char="$" char1="[" attribute="Keyword" context="Include"/>
0016                         <Detect2Chars char="$" char1="{" attribute="Keyword" context="Block" beginRegion="block"/>
0017                         <Detect2Chars char="$" char1="}" attribute="Keyword" context="#pop" endRegion="block"/>
0018                         <Detect2Chars char="$" char1="v" attribute="Keyword" context="VariableDeclaration"/>
0019                         <Detect2Chars char="$" char1="c" attribute="Keyword" context="ConstantDeclaration"/>
0020                         <Detect2Chars char="$" char1="d" attribute="Keyword" context="DisjointRestriction"/>
0021                         <RegExpr String="&label;" attribute="Label" context="LabelledStatement"/>
0022                 </context>
0023                 <!-- Comment: $( text $) -->
0024                 <context name="Comment" attribute="Comment" lineEndContext="#stay">
0025                         <RegExpr String=" ~ *&label;" attribute="ReferenceLabel" context="#stay"/>
0026                         <Detect2Chars char="$" char1=")" attribute="Comment" context="#pop" endRegion="comment"/>
0027                         <IncludeRules context="##Comments"/>
0028                 </context>
0029                 <!-- Include: $[ filename $] -->
0030                 <context name="Include" attribute="Include" lineEndContext="#stay">
0031                         <Detect2Chars char="$" char1="]" attribute="Keyword" context="#pop"/>
0032                 </context>
0033                 <!-- Variable symbol declaration: $v symbol* $. -->
0034                 <context name="VariableDeclaration" attribute="Variable" lineEndContext="#stay">
0035                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0036                         <Detect2Chars char="$" char1="." attribute="Keyword" context="#pop"/>
0037                 </context>
0038                 <!-- Constant symbol declaration: $c symbol* $. -->
0039                 <context name="ConstantDeclaration" attribute="Constant" lineEndContext="#stay">
0040                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0041                         <Detect2Chars char="$" char1="." attribute="Keyword" context="#pop"/>
0042                 </context>
0043                 <!-- Disjoint variable restriction: $d [variable]* $. -->
0044                 <context name="DisjointRestriction" attribute="Variable" lineEndContext="#stay">
0045                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0046                         <Detect2Chars char="$" char1="." attribute="Keyword" context="#pop"/>
0047                 </context>
0048                 <!-- Labeled statements: label $* ... $. -->
0049                 <context name="LabelledStatement" attribute="Normal" lineEndContext="#stay">
0050                         <DetectSpaces/>
0051                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0052                         <Detect2Chars char="$" char1="f" attribute="Keyword" context="#pop!VariableTypeHypothesis"/>
0053                         <Detect2Chars char="$" char1="e" attribute="Keyword" context="#pop!LogicalHypothesis"/>
0054                         <Detect2Chars char="$" char1="a" attribute="Keyword" context="#pop!AxiomaticAssertion"/>
0055                         <Detect2Chars char="$" char1="p" attribute="Keyword" context="#pop!ProvableAssertion"/>
0056                 </context>
0057                 <!-- Variable-type hypothesis: label $f constant variable $. -->
0058                 <context name="VariableTypeHypothesis" attribute="Normal" lineEndContext="#stay">
0059                         <DetectSpaces/>
0060                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0061                         <RegExpr String="&symbol;" attribute="Constant" context="#pop!SymbolList"/>
0062                 </context>
0063                 <!-- Logical hypothesis: label $e constant symbol* $. -->
0064                 <context name="LogicalHypothesis" attribute="Normal" lineEndContext="#stay">
0065                         <DetectSpaces/>
0066                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0067                         <RegExpr String="&symbol;" attribute="Constant" context="#pop!SymbolList"/>
0068                 </context>
0069                 <!-- Axiomatic assertion: label $a constant symbol* $. -->
0070                 <context name="AxiomaticAssertion" attribute="Normal" lineEndContext="#stay">
0071                         <DetectSpaces/>
0072                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0073                         <RegExpr String="&symbol;" attribute="Constant" context="#pop!SymbolList"/>
0074                 </context>
0075                 <!-- Provable assertion: label $p constant symbol* $= label* $. -->
0076                 <context name="ProvableAssertion" attribute="Normal" lineEndContext="#stay">
0077                         <DetectSpaces/>
0078                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0079                         <RegExpr String="&symbol;" attribute="Constant" context="#pop!ProvableAssertionSymbolList"/>
0080                 </context>
0081                 <!-- List of symbols, ending either with $. or $= -->
0082                 <context name="SymbolList" attribute="Variable" lineEndContext="#stay">
0083                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0084                         <Detect2Chars char="$" char1="." attribute="Keyword" context="#pop"/>
0085                 </context>
0086                 <context name="ProvableAssertionSymbolList" attribute="Variable" lineEndContext="#stay">
0087                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0088                         <Detect2Chars char="$" char1="=" attribute="Keyword" context="#pop!Proof" beginRegion="proof"/>
0089                 </context>
0090                 <!-- Proof: label* -->
0091                 <context name="Proof" attribute="Label" lineEndContext="#stay">
0092                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0093                         <DetectChar char="(" attribute="Keyword" context="#pop!CompressedProofStatements"/>
0094                         <Detect2Chars char="$" char1="." attribute="Keyword" context="#pop" endRegion="proof"/>
0095                 </context>
0096                 <!-- Compressed proof syntax: instead of label* we have (label*) [A-Z]* -->
0097                 <context name="CompressedProofStatements" attribute="Label" lineEndContext="#stay">
0098                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0099                         <DetectChar char=")" attribute="Keyword" context="#pop!CompressedProofSteps"/>
0100                 </context>
0101                 <context name="CompressedProofSteps" attribute="CompressedProof" lineEndContext="#stay">
0102                         <Detect2Chars char="$" char1="(" attribute="Comment" context="Comment" beginRegion="comment"/>
0103                         <Detect2Chars char="$" char1="." attribute="Keyword" context="#pop" endRegion="proof"/>
0104                 </context>
0105         </contexts>
0106         <itemDatas>
0107                 <itemData name="Normal"   defStyleNum="dsNormal" spellChecking="false"/>
0108                 <itemData name="Comment"  defStyleNum="dsComment"/>
0109                 <itemData name="Include"  defStyleNum="dsImport" spellChecking="false"/>
0110                 <itemData name="Keyword"  defStyleNum="dsKeyword" spellChecking="false"/>
0111                 <itemData name="Variable" defStyleNum="dsVariable" spellChecking="false"/>
0112                 <itemData name="Constant" defStyleNum="dsFunction" spellChecking="false"/>
0113                 <itemData name="Label"    defStyleNum="dsSpecialString" spellChecking="false"/>
0114                 <itemData name="ReferenceLabel"  defStyleNum="dsCommentVar" spellChecking="false"/>
0115                 <itemData name="CompressedProof" defStyleNum="dsString" spellChecking="false"/>
0116         </itemDatas>
0117 </highlighting>
0118 <general>
0119         <keywords casesensitive="1"/>
0120         <comments>
0121                 <comment name="multiLine" start="$(" end="$)" region="comment"/>
0122         </comments>
0123 </general>
0124 </language>
0125 <!-- kate: replace-tabs off; -->