Skip to content

Commit ca9944f

Browse files
committed
Add tlaplus syntax (TLA+). Closes #199.
1 parent e959d9e commit ca9944f

File tree

2 files changed

+99
-0
lines changed

2 files changed

+99
-0
lines changed

skylighting-core/xml/tlaplus.xml

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE language>
3+
<!--
4+
SPDX-FileCopyrightText: 2024 Younes IO <[email protected]>
5+
SPDX-License-Identifier: MIT
6+
-->
7+
<language name="TLA+" version="1" kateversion="5.0" section="Sources" extensions="*.tla" mimetype="text/x-tlaplus" priority="5" author="Younes ([email protected])">
8+
<highlighting>
9+
<list name="keywords">
10+
<item>ASSUME</item>
11+
<item>ASSUMPTION</item>
12+
<item>AXIOM</item>
13+
<item>CASE</item>
14+
<item>CHOOSE</item>
15+
<item>CONSTANT</item>
16+
<item>CONSTANTS</item>
17+
<item>DOMAIN</item>
18+
<item>ELSE</item>
19+
<item>ENABLED</item>
20+
<item>EXCEPT</item>
21+
<item>EXTENDS</item>
22+
<item>IF</item>
23+
<item>IN</item>
24+
<item>INSTANCE</item>
25+
<item>LET</item>
26+
<item>LOCAL</item>
27+
<item>MODULE</item>
28+
<item>OTHER</item>
29+
<item>SUBSET</item>
30+
<item>THEN</item>
31+
<item>THEOREM</item>
32+
<item>UNCHANGED</item>
33+
<item>UNION</item>
34+
<item>VARIABLE</item>
35+
<item>VARIABLES</item>
36+
<item>WITH</item>
37+
</list>
38+
<list name="operators">
39+
<item>/\</item>
40+
<item>\/</item>
41+
<item>~</item>
42+
<item>=&gt;</item>
43+
<item>&lt;=&gt;</item>
44+
<item>\E</item>
45+
<item>\A</item>
46+
<item>\in</item>
47+
<item>\notin</item>
48+
<item>\subset</item>
49+
<item>\subseteq</item>
50+
<item>\supset</item>
51+
<item>\supseteq</item>
52+
<item>\union</item>
53+
<item>\intersect</item>
54+
<item>\setminus</item>
55+
</list>
56+
<contexts>
57+
<context attribute="Normal Text" lineEndContext="#stay" name="Normal">
58+
<keyword attribute="Keyword" context="#stay" String="keywords"/>
59+
<keyword attribute="Operator" context="#stay" String="operators"/>
60+
<Float attribute="Float" context="#stay"/>
61+
<Int attribute="Decimal" context="#stay"/>
62+
<DetectChar attribute="String" context="String" char="&quot;"/>
63+
<Detect2Chars attribute="Comment" context="SingleLineComment" char="\" char1="*" beginRegion="Comment"/>
64+
<Detect2Chars attribute="Comment" context="MultiLineComment" char="(" char1="*" beginRegion="Comment"/>
65+
</context>
66+
<context attribute="String" lineEndContext="#pop" name="String">
67+
<DetectChar attribute="String" context="#pop" char="&quot;"/>
68+
</context>
69+
<context attribute="Comment" lineEndContext="#pop" name="SingleLineComment">
70+
<DetectSpaces/>
71+
<IncludeRules context="##Alerts"/>
72+
<DetectIdentifier/>
73+
</context>
74+
<context attribute="Comment" lineEndContext="#stay" name="MultiLineComment">
75+
<Detect2Chars attribute="Comment" context="#pop" char="*" char1=")" endRegion="Comment"/>
76+
<DetectSpaces/>
77+
<IncludeRules context="##Alerts"/>
78+
<DetectIdentifier/>
79+
</context>
80+
</contexts>
81+
<itemDatas>
82+
<itemData name="Normal Text" defStyleNum="dsNormal"/>
83+
<itemData name="Keyword" defStyleNum="dsKeyword"/>
84+
<itemData name="Operator" defStyleNum="dsOperator"/>
85+
<itemData name="Float" defStyleNum="dsFloat"/>
86+
<itemData name="Decimal" defStyleNum="dsDecVal"/>
87+
<itemData name="String" defStyleNum="dsString"/>
88+
<itemData name="Comment" defStyleNum="dsComment"/>
89+
</itemDatas>
90+
</highlighting>
91+
<general>
92+
<comments>
93+
<comment name="singleLine" start="\*"/>
94+
<comment name="multiLine" start="(*" end="*)"/>
95+
</comments>
96+
<keywords casesensitive="1"/>
97+
</general>
98+
</language>

skylighting/skylighting.cabal

+1
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ library
194194
Skylighting.Syntax.Tcsh
195195
Skylighting.Syntax.Terraform
196196
Skylighting.Syntax.Texinfo
197+
Skylighting.Syntax.Tlaplus
197198
Skylighting.Syntax.Toml
198199
Skylighting.Syntax.Typescript
199200
Skylighting.Syntax.Verilog

0 commit comments

Comments
 (0)