File: j.xml

package info (click to toggle)
ksyntax-highlighting 5.116.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 44,640 kB
  • sloc: xml: 186,656; cpp: 12,164; python: 1,202; sh: 898; perl: 515; ruby: 406; pascal: 393; php: 149; javascript: 140; jsp: 132; lisp: 131; haskell: 124; ansic: 107; f90: 94; cobol: 81; makefile: 78; ml: 75; yacc: 71; csh: 62; erlang: 54; sql: 51; objc: 37; java: 32; awk: 31; asm: 30; tcl: 29; fortran: 18; cs: 10
file content (123 lines) | stat: -rw-r--r-- 6,651 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?xml version="1.0" encoding="UTF-8"?>
<!--

Changes:

Version 1.5 (2015-04-29) by Igor Zhuravlov
- language/@kateversion upgraded from "2.4" to "3.4"

Version 1.4 (2015-04-20) by Igor Zhuravlov
- merge versions 1.2 and 1.3
- removed not used def and defc entities
- approached color scheme to JQt
- separated out color scheme to j14.katehlcolor file
- dropped ExpArg: n. m. u. v. x. y.
- reformatted a bit

Version 1.3 (2014-05-26) by greg heil
- based on version 1.1
- add Foldable feature
- change color scheme
- add def and defc entities
- split long lines

Version 1.2 (2013-09-29) by Igor Zhuravlov
- fix Adverb regexp's pattern
- fix Verb regexp's pattern

Version 1.1 (2013-03-18) by Igor Zhuravlov
- fix enum entity's exponent definition
- rework String regexp's pattern
- use entities in Number regexp's pattern
- use entities in Control regexp's pattern

Version 1.0 (2012-03-21) by Igor Zhuravlov
- initial release

-->
<!DOCTYPE language
[
  <!ENTITY unum "\d+">                                 <!-- Unsigned integer number -->
  <!ENTITY anum "[a-z\d]+">                            <!-- Non-10-based unsigned integer number, e.g. 1a -->
  <!ENTITY bnum "\b&unum;b_?&anum;(\.&anum;)\b">       <!-- Based integer number, e.g. 36b_1a.z2 -->
  <!ENTITY inum "_?&unum;">                            <!-- Integer number -->
  <!ENTITY xnum "\b&inum;x\b">                         <!-- Extended precision integer number, e.g. _123x -->
  <!ENTITY rnum "\b&inum;r&inum;\b">                   <!-- Rational number, e.g. _1r23 -->
  <!ENTITY fnum "&inum;(\.&unum;)?">                   <!-- Floating point number, e.g. 1.23 -->
  <!ENTITY enum "(&fnum;(e&inum;)?|_?_|_\.)">          <!-- Exponential (scientific) notation, e.g. 1.2e_3 -->
  <!ENTITY cnum "&enum;((j|a[dr])&enum;)?">            <!-- Complex number, e.g. 1.2e3j4.5e_6 -->
  <!ENTITY pnum "\b&cnum;([px]&cnum;)?(?![a-z\d_.])">  <!-- Number based on pi or e, e.g. 1j2p3j4 -->
  <!ENTITY name "[a-zA-Z][a-zA-Z\d_]*">                <!-- Name -->
  <!ENTITY lname "\b&name;_(&name;)?_\b">              <!-- Locative, a__ means a_base_ -->
  <!ENTITY ilname "\b&name;__&name;\b">                <!-- Indirect locative -->
]>
<!--
  j.xml syntax highlighting for J programming language under Kate

  J is a modern, high-level, general-purpose, high-performance, portable programming language
  http://www.jsoftware.com

  Kate is a KDE Advanced Text Editor
  http://kate.kde.org/
-->
<language name="J"
          section="Scripts"
          version="5"
          kateversion="5.0"
          extensions="*.ijs;*.ijt;*.IJS;*.IJT"
          mimetype="text/x-j;text/x-jsrc"
          author="Igor Zhuravlov (zhuravlov.ip@ya.ru), greg heil (gheil.j@gmail.com)"
          indenter="normal"
          license="GPL">
  <highlighting>
    <contexts>
      <context attribute="Sentence" lineEndContext="#pop" name="sentence">
        <DetectSpaces/>
        <RegExpr      attribute="Foldable"       context="#stay"        String=":\s*0|\bdefine\b" beginRegion="Fold"/>
        <LineContinue attribute="Foldable"       context="#stay"        char=")" endRegion="Fold" column="0"/>
        <StringDetect attribute="Comment"        context="#stay"        String="NB.(" beginRegion="Fold"/>
        <StringDetect attribute="Comment"        context="#stay"        String="NB.)" endRegion="Fold"/>
        <StringDetect attribute="Comment"        context="comment line" String="NB."/>
        <RegExpr      attribute="String"         context="#stay"        String="&apos;([^&apos;]|&apos;&apos;)*&apos;"/>
        <RegExpr      attribute="Adverb"         context="#stay"        String="([/\\]\.|\b[bfMt]\.|\bt:|[~/\\}])(?![.:])"/>
        <RegExpr      attribute="Verb"           context="#stay"        String="(_?\d:|p\.\.|[ACeEIjLor]\.|[_/\\iqsux]:|\{::|[=!\]]|[-&lt;&gt;+*%$|,#\{][.:]?|[;\[]:?|[~}&quot;ip][.:]|[?^]\.?)(?![.:])"/>
        <RegExpr      attribute="Number"         context="#stay"        String="&bnum;|&xnum;|&rnum;|&pnum;"/>
        <AnyChar      attribute="Parens"         context="#stay"        String="()"/>
        <RegExpr      attribute="Conjunction"    context="#stay"        String="(&quot;|[@&amp;][.:]?|[.:][.:]?|[!D][.:]|&amp;\.:|[;dHT]\.|`:?|[LS^]:)(?![.:])"/>
        <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))\.(?![.:])"/>
        <Detect2Chars attribute="Copulae Global" context="#stay"        char="=" char1=":"/>
        <Detect2Chars attribute="Copulae Local"  context="#stay"        char="=" char1="."/>
        <RegExpr      attribute="ExpArg"         context="#stay"        String="\b[nmuvxy](?![\w:.])"/>
        <RegExpr      attribute="Noun"           context="#stay"        String="\ba[.:](?![.:])"/>
      </context>
      <context attribute="Comment" lineEndContext="#pop" name="comment line">
        <DetectSpaces />
        <IncludeRules context="##Comments"/>
      </context>
    </contexts>
    <itemDatas>
      <itemData name="Sentence"       defStyleNum="dsNormal"/>
      <itemData name="Adverb"         defStyleNum="dsKeyword"      spellChecking="false"/>
      <itemData name="Comment"        defStyleNum="dsComment"      spellChecking="true"/>
      <itemData name="Conjunction"    defStyleNum="dsKeyword"      spellChecking="false"/>
      <itemData name="Control"        defStyleNum="dsKeyword"      spellChecking="false"/>
      <itemData name="Copulae Global" defStyleNum="dsKeyword"      spellChecking="false"/>
      <itemData name="Copulae Local"  defStyleNum="dsKeyword"      spellChecking="false"/>
      <itemData name="ExpArg"         defStyleNum="dsKeyword"      spellChecking="false" italic="true"/>
      <itemData name="Foldable"       defStyleNum="dsRegionMarker" spellChecking="false"/>
      <itemData name="Noun"           defStyleNum="dsKeyword"      spellChecking="false" bold="true"/>
      <itemData name="Number"         defStyleNum="dsDecVal"       spellChecking="false"/>
      <itemData name="Parens"         defStyleNum="dsRegionMarker" spellChecking="false"/>
      <itemData name="String"         defStyleNum="dsString"       spellChecking="false"/>
      <itemData name="Verb"           defStyleNum="dsKeyword"      spellChecking="false"/>
    </itemDatas>
  </highlighting>
  <general>
    <comments>
      <comment name="multiLine" start="NB.(" end="NB.)" region="Fold"/>
      <comment name="singleLine" start="NB."/>
    </comments>
    <folding indentationsensitive="true"/>
  </general>
</language>
<!-- kate: replace-tabs on; indent-width 2; -->