Warning, /frameworks/syntax-highlighting/data/syntax/roff.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <!DOCTYPE language 0003 [ 0004 <!ENTITY roffidc "[^]\s]"> 0005 <!ENTITY roffid "(?:&roffidc;|\(&roffidc;{2}|\[&roffidc;+\])"> 0006 <!ENTITY roffnum "([0-9]+)"> 0007 <!ENTITY argsep1 "([^\\]|\\[% |\^{}'`\-!?@)/,&:~0E_acdeprtu])"> 0008 <!ENTITY argsep2 "([^\\0-9]|\\[%:{}'`\-_!@/cep])"> 0009 0010 <!ENTITY font1 "\\[fF]&roffid;"> 0011 <!ENTITY font2 "\\f([0-9]|\([0-9][0-9]|\[[0-9]+\])"> 0012 <!ENTITY font3 "\\s(\[([1-3][0-9]|[04-9])\]|[04-9]|[+-][0-9]|([+-]?\(|\([+-])[0-9][0-9])"> 0013 0014 <!ENTITY escape1 "\\(\$[0-9*@]|[.:% |^{}_!?@)/,&:~0acdeEprtu])"> 0015 <!ENTITY escape2 "\\[gkmMVYz]&roffid;"> 0016 <!ENTITY escape3 "\\O([0-4]|\[5[lrci][^]]\])"> 0017 ]> 0018 <language name="Roff" section="Markup" version="9" kateversion="5.0" extensions="" author="Matthew Woehlke (mw_triad@users.sourceforge.net)" license="GPL"> 0019 0020 <highlighting> 0021 0022 <list name="layout"> 0023 <item>br</item> 0024 <item>sp</item> 0025 </list> 0026 0027 <list name="formatting"> 0028 </list> 0029 0030 <list name="gnuext"> 0031 </list> 0032 0033 <contexts> 0034 0035 <!-- root context --> 0036 <context name="Normal" attribute="Normal Text" lineEndContext="#stay"> 0037 <IncludeRules context="DetectComments"/> 0038 <DetectChar attribute="Other Macros" context="DetectDirective" char="." column="0"/> 0039 <IncludeRules context="DetectOthers"/> 0040 </context> 0041 0042 <context name="DetectComments" attribute="Normal Text" lineEndContext="#stay"> 0043 <RegExpr attribute="Comment" context="Comment" String="^\.\s*\\"" column="0"/> 0044 <Detect2Chars attribute="Comment" context="Comment" char="\" char1="""/> 0045 <Detect2Chars attribute="Comment" context="Comment" char="\" char1="#"/> 0046 </context> 0047 0048 <!-- catch glyphc, registers, strings, etc --> 0049 <context name="DetectOthers" attribute="Normal Text" lineEndContext="#stay"> 0050 <IncludeRules context="DetectComments"/> 0051 <DetectChar attribute="Escape" context="DetectEscape" char="\" lookAhead="true"/> 0052 <DetectChar attribute="String" context="String" char="""/> 0053 </context> 0054 0055 <!-- detect escapes --> 0056 <context name="DetectEscape" attribute="Error" lineEndContext="#pop"> 0057 <RegExpr attribute="Register" context="#pop" String="\\(\*|n[+-]?)&roffid;"/> 0058 <RegExpr attribute="Font" context="#pop" String="&font1;|&font2;|&font3;"/> 0059 <Detect2Chars attribute="Escape" context="#pop" char="\" char1="\"/> 0060 <RegExpr attribute="Escape" context="Argument" String="\\[ABDXZbow]&argsep1;"/> 0061 <RegExpr attribute="Escape" context="#pop" String="&escape1;|&escape2;|&escape3;"/> 0062 <RegExpr attribute="Escape" context="Measurement" String="(?|\\[hHSvx]&argsep1;|\\[lL]&argsep1;\|?)"/> <!-- TODO - optional trailing &glyph; --> 0063 <RegExpr attribute="Escape" context="Argument" String="\\R&argsep1;"/> <!-- TODO - &roffid; (register), measurement --> 0064 <RegExpr attribute="Glyph" context="GlyphArgument" String="\\C&argsep1;"/> 0065 <RegExpr attribute="Glyph" context="#pop" String="\\N&argsep2;[0-9]+\1|\\&roffid;"/> 0066 <LineContinue attribute="Escape" context="#pop" char="\"/> 0067 <DetectChar attribute="Error" context="#pop" char="\"/> 0068 </context> 0069 0070 <!-- directive start --> 0071 <context name="DetectDirective" attribute="Other Macros" lineEndContext="#pop"> 0072 <keyword attribute="Layout Macros" context="Directive" String="layout"/> 0073 <keyword attribute="Format Macros" context="Directive" String="formatting"/> 0074 <keyword attribute="GNU Macros" context="Directive" String="gnuext"/> 0075 <RegExpr attribute="Other Macros" context="dsDirective" String="\s*ds\b" column="1"/> 0076 <RegExpr attribute="Other Macros" context="deDirective" String="\s*de\b" column="1" beginRegion="de"/> 0077 <RegExpr attribute="Other Macros" context="daDirective" String="\s*da(?=\s+[A-Za-z]+)" column="1" beginRegion="di"/> 0078 <RegExpr attribute="Other Macros" context="diDirective" String="\s*di(?=\s+[A-Za-z]+)" column="1" beginRegion="di"/> 0079 <RegExpr attribute="Other Macros" context="Directive" String="\s*[A-Za-z]+\b" column="1"/> 0080 </context> 0081 0082 <!-- comment --> 0083 <context name="Comment" attribute="Comment" lineEndContext="#pop"> 0084 <DetectSpaces /> 0085 <IncludeRules context="##Comments"/> 0086 <DetectIdentifier /> 0087 </context> 0088 0089 <!-- error --> 0090 <context name="Error" attribute="Error" lineEndContext="#stay"/> 0091 0092 <!-- generic directive --> 0093 <context name="Directive" attribute="Identifier" lineEndContext="#pop"> 0094 <Float attribute="Number" context="#stay"/> 0095 <Int attribute="Number" context="#stay"/> 0096 <IncludeRules context="DetectOthers"/> 0097 </context> 0098 0099 <!-- quoted string --> 0100 <context name="String" attribute="String" lineEndContext="#pop"> 0101 <Detect2Chars attribute="Escape" context="#stay" char="\" char1="""/> 0102 <DetectChar attribute="String" context="#pop" char="""/> 0103 <IncludeRules context="DetectOthers"/> 0104 </context> 0105 0106 <!-- \!, \? escapes --> 0107 <context name="LiteralSL" attribute="Normal Text" lineEndContext="#pop"/> 0108 <context name="LiteralIL" attribute="Normal Text" lineEndContext="Error"> 0109 <Detect2Chars attribute="Escape" context="#stay" char="\" char1="\"/> 0110 <Detect2Chars attribute="Escape" context="#pop" char="\" char1="?"/> 0111 </context> 0112 0113 <!-- escape argument --> 0114 <context name="Argument" attribute="String" lineEndContext="Error" dynamic="true"> 0115 <StringDetect attribute="Escape" context="#pop#pop" String="%1" dynamic="true"/> 0116 <IncludeRules context="DetectOthers"/> 0117 </context> 0118 0119 <!-- glyph escape argument --> 0120 <context name="GlyphArgument" attribute="Glyph" lineEndContext="Error" dynamic="true"> 0121 <StringDetect attribute="Glyph" context="#pop#pop" String="%1" dynamic="true"/> 0122 </context> 0123 0124 <!-- measurement (or expression) escape argument --> 0125 <context name="Measurement" attribute="Error" lineEndContext="Error" dynamic="true"> 0126 <StringDetect attribute="Escape" context="#pop#pop" String="%1" dynamic="true"/> 0127 <!-- TODO --> 0128 </context> 0129 0130 <!-- .de directive --> 0131 <context name="deDirective" attribute="Identifier" lineEndContext="deBody"/> 0132 <context name="deBody" attribute="Normal Text" lineEndContext="#stay"> 0133 <Detect2Chars attribute="Other Macros" context="#pop#pop" char="." char1="." column="0" endRegion="de"/> 0134 <IncludeRules context="Normal"/> 0135 </context> 0136 0137 <!-- .di directives --> 0138 <context name="diDirective" attribute="Identifier" lineEndContext="diBody"/> 0139 <context name="diBody" attribute="Normal Text" lineEndContext="#stay"> 0140 <RegExpr attribute="Other Macros" context="#pop#pop" String="^\.\s*di\b" column="0" endRegion="di"/> 0141 <Detect2Chars attribute="Escape" context="LiteralSL" char="\" char1="!"/> 0142 <Detect2Chars attribute="Escape" context="LiteralIL" char="\" char1="?"/> 0143 <IncludeRules context="Normal"/> 0144 </context> 0145 0146 <!-- .da directives --> 0147 <context name="daDirective" attribute="Identifier" lineEndContext="daBody"/> 0148 <context name="daBody" attribute="Normal Text" lineEndContext="#stay"> 0149 <RegExpr attribute="Other Macros" context="#pop#pop" String="^\.\s*da\b" column="0" endRegion="di"/> 0150 <Detect2Chars attribute="Escape" context="LiteralSL" char="\" char1="!"/> 0151 <Detect2Chars attribute="Escape" context="LiteralIL" char="\" char1="?"/> 0152 <IncludeRules context="Normal"/> 0153 </context> 0154 0155 <!-- .ds directive --> 0156 <context name="dsDirective" attribute="Identifier" lineEndContext="#pop"> 0157 <Float attribute="Number" context="#stay"/> 0158 <Int attribute="Number" context="#stay"/> 0159 <DetectChar attribute="String" context="dsString" char="""/> 0160 <IncludeRules context="DetectOthers"/> 0161 </context> 0162 0163 <!-- .ds quoted value --> 0164 <context name="dsString" attribute="String" lineEndContext="#pop"> 0165 <IncludeRules context="DetectOthers"/> 0166 </context> 0167 0168 </contexts> 0169 0170 <itemDatas> 0171 <itemData name="Normal Text" defStyleNum="dsNormal"/> 0172 <itemData name="Comment" defStyleNum="dsComment"/> 0173 <itemData name="Layout Macros" defStyleNum="dsKeyword"/> 0174 <itemData name="Format Macros" defStyleNum="dsKeyword"/> 0175 <itemData name="GNU Macros" defStyleNum="dsDataType"/> 0176 <itemData name="Other Macros" defStyleNum="dsFunction"/> 0177 <itemData name="Identifier" defStyleNum="dsString"/> 0178 <itemData name="Number" defStyleNum="dsDecVal"/> 0179 <itemData name="Register" defStyleNum="dsOthers"/> 0180 <itemData name="Font" defStyleNum="dsOthers"/> 0181 <itemData name="Glyph" defStyleNum="dsOthers"/> 0182 <itemData name="Escape" defStyleNum="dsChar"/> 0183 <itemData name="String" defStyleNum="dsString"/> 0184 <itemData name="Error" defStyleNum="dsError"/> 0185 </itemDatas> 0186 0187 </highlighting> 0188 0189 <general> 0190 0191 <comments> 0192 <comment name="singleLine" start=".\"" /> 0193 </comments> 0194 0195 <keywords casesensitive="1"/> 0196 0197 </general> 0198 0199 </language> 0200 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->