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; -->