Warning, /frameworks/syntax-highlighting/data/syntax/j.xml is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!--
0003
0004 Changes:
0005
0006 Version 1.5 (2015-04-29) by Igor Zhuravlov
0007 - language/@kateversion upgraded from "2.4" to "3.4"
0008
0009 Version 1.4 (2015-04-20) by Igor Zhuravlov
0010 - merge versions 1.2 and 1.3
0011 - removed not used def and defc entities
0012 - approached color scheme to JQt
0013 - separated out color scheme to j14.katehlcolor file
0014 - dropped ExpArg: n. m. u. v. x. y.
0015 - reformatted a bit
0016
0017 Version 1.3 (2014-05-26) by greg heil
0018 - based on version 1.1
0019 - add Foldable feature
0020 - change color scheme
0021 - add def and defc entities
0022 - split long lines
0023
0024 Version 1.2 (2013-09-29) by Igor Zhuravlov
0025 - fix Adverb regexp's pattern
0026 - fix Verb regexp's pattern
0027
0028 Version 1.1 (2013-03-18) by Igor Zhuravlov
0029 - fix enum entity's exponent definition
0030 - rework String regexp's pattern
0031 - use entities in Number regexp's pattern
0032 - use entities in Control regexp's pattern
0033
0034 Version 1.0 (2012-03-21) by Igor Zhuravlov
0035 - initial release
0036
0037 -->
0038 <!DOCTYPE language
0039 [
0040 <!ENTITY unum "\d+"> <!-- Unsigned integer number -->
0041 <!ENTITY anum "[a-z\d]+"> <!-- Non-10-based unsigned integer number, e.g. 1a -->
0042 <!ENTITY bnum "\b&unum;b_?&anum;(\.&anum;)\b"> <!-- Based integer number, e.g. 36b_1a.z2 -->
0043 <!ENTITY inum "_?&unum;"> <!-- Integer number -->
0044 <!ENTITY xnum "\b&inum;x\b"> <!-- Extended precision integer number, e.g. _123x -->
0045 <!ENTITY rnum "\b&inum;r&inum;\b"> <!-- Rational number, e.g. _1r23 -->
0046 <!ENTITY fnum "&inum;(\.&unum;)?"> <!-- Floating point number, e.g. 1.23 -->
0047 <!ENTITY enum "(&fnum;(e&inum;)?|_?_|_\.)"> <!-- Exponential (scientific) notation, e.g. 1.2e_3 -->
0048 <!ENTITY cnum "&enum;((j|a[dr])&enum;)?"> <!-- Complex number, e.g. 1.2e3j4.5e_6 -->
0049 <!ENTITY pnum "\b&cnum;([px]&cnum;)?(?![a-z\d_.])"> <!-- Number based on pi or e, e.g. 1j2p3j4 -->
0050 <!ENTITY name "[a-zA-Z][a-zA-Z\d_]*"> <!-- Name -->
0051 <!ENTITY lname "\b&name;_(&name;)?_\b"> <!-- Locative, a__ means a_base_ -->
0052 <!ENTITY ilname "\b&name;__&name;\b"> <!-- Indirect locative -->
0053 ]>
0054 <!--
0055 j.xml syntax highlighting for J programming language under Kate
0056
0057 J is a modern, high-level, general-purpose, high-performance, portable programming language
0058 http://www.jsoftware.com
0059
0060 Kate is a KDE Advanced Text Editor
0061 http://kate.kde.org/
0062 -->
0063 <language name="J"
0064 section="Scripts"
0065 version="5"
0066 kateversion="5.0"
0067 extensions="*.ijs;*.ijt;*.IJS;*.IJT"
0068 mimetype="text/x-j;text/x-jsrc"
0069 author="Igor Zhuravlov (zhuravlov.ip@ya.ru), greg heil (gheil.j@gmail.com)"
0070 indenter="normal"
0071 license="GPL">
0072 <highlighting>
0073 <contexts>
0074 <context attribute="Sentence" lineEndContext="#pop" name="sentence">
0075 <DetectSpaces/>
0076 <RegExpr attribute="Foldable" context="#stay" String=":\s*0|\bdefine\b" beginRegion="Fold"/>
0077 <LineContinue attribute="Foldable" context="#stay" char=")" endRegion="Fold" column="0"/>
0078 <StringDetect attribute="Comment" context="#stay" String="NB.(" beginRegion="Fold"/>
0079 <StringDetect attribute="Comment" context="#stay" String="NB.)" endRegion="Fold"/>
0080 <StringDetect attribute="Comment" context="comment line" String="NB."/>
0081 <RegExpr attribute="String" context="#stay" String="'([^']|'')*'"/>
0082 <RegExpr attribute="Adverb" context="#stay" String="([/\\]\.|\b[bfMt]\.|\bt:|[~/\\}])(?![.:])"/>
0083 <RegExpr attribute="Verb" context="#stay" String="(_?\d:|p\.\.|[ACeEIjLor]\.|[_/\\iqsux]:|\{::|[=!\]]|[-<>+*%$|,#\{][.:]?|[;\[]:?|[~}"ip][.:]|[?^]\.?)(?![.:])"/>
0084 <RegExpr attribute="Number" context="#stay" String="&bnum;|&xnum;|&rnum;|&pnum;"/>
0085 <AnyChar attribute="Parens" context="#stay" String="()"/>
0086 <RegExpr attribute="Conjunction" context="#stay" String="("|[@&][.:]?|[.:][.:]?|[!D][.:]|&\.:|[;dHT]\.|`:?|[LS^]:)(?![.:])"/>
0087 <RegExpr attribute="Control" context="#stay" String="\b(assert|break|f?case|catch[dt]?|continue|do|else(if)?|end|for(_&name;)?|(goto|label)_&name;|if|return|select|throw|try|whil(e|st))\.(?![.:])"/>
0088 <Detect2Chars attribute="Copulae Global" context="#stay" char="=" char1=":"/>
0089 <Detect2Chars attribute="Copulae Local" context="#stay" char="=" char1="."/>
0090 <RegExpr attribute="ExpArg" context="#stay" String="\b[nmuvxy](?![\w:.])"/>
0091 <RegExpr attribute="Noun" context="#stay" String="\ba[.:](?![.:])"/>
0092 </context>
0093 <context attribute="Comment" lineEndContext="#pop" name="comment line">
0094 <DetectSpaces />
0095 <IncludeRules context="##Comments"/>
0096 </context>
0097 </contexts>
0098 <itemDatas>
0099 <itemData name="Sentence" defStyleNum="dsNormal"/>
0100 <itemData name="Adverb" defStyleNum="dsKeyword" spellChecking="false"/>
0101 <itemData name="Comment" defStyleNum="dsComment" spellChecking="true"/>
0102 <itemData name="Conjunction" defStyleNum="dsKeyword" spellChecking="false"/>
0103 <itemData name="Control" defStyleNum="dsKeyword" spellChecking="false"/>
0104 <itemData name="Copulae Global" defStyleNum="dsKeyword" spellChecking="false"/>
0105 <itemData name="Copulae Local" defStyleNum="dsKeyword" spellChecking="false"/>
0106 <itemData name="ExpArg" defStyleNum="dsKeyword" spellChecking="false" italic="true"/>
0107 <itemData name="Foldable" defStyleNum="dsRegionMarker" spellChecking="false"/>
0108 <itemData name="Noun" defStyleNum="dsKeyword" spellChecking="false" bold="true"/>
0109 <itemData name="Number" defStyleNum="dsDecVal" spellChecking="false"/>
0110 <itemData name="Parens" defStyleNum="dsRegionMarker" spellChecking="false"/>
0111 <itemData name="String" defStyleNum="dsString" spellChecking="false"/>
0112 <itemData name="Verb" defStyleNum="dsKeyword" spellChecking="false"/>
0113 </itemDatas>
0114 </highlighting>
0115 <general>
0116 <comments>
0117 <comment name="multiLine" start="NB.(" end="NB.)" region="Fold"/>
0118 <comment name="singleLine" start="NB."/>
0119 </comments>
0120 <folding indentationsensitive="true"/>
0121 </general>
0122 </language>
0123 <!-- kate: replace-tabs on; indent-width 2; -->