annotate .cms/lib/codemirror/mode/mscgen/msgenny_test.js @ 1:1d486627aa1e draft default tip

24.10
author Coffee CMS <info@coffee-cms.ru>
date Sat, 12 Oct 2024 02:51:39 +0000
parents 78edf6b517a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
1 // CodeMirror, copyright (c) by Marijn Haverbeke and others
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
2 // Distributed under an MIT license: https://codemirror.net/5/LICENSE
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
3
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
4 (function() {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
5 var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-msgenny");
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
6 function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "msgenny"); }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
7
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
8 MT("comments",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
9 "[comment // a single line comment]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
10 "[comment # another single line comment /* and */ ignored here]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
11 "[comment /* A multi-line comment even though it contains]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
12 "[comment msc keywords and \"quoted text\"*/]");
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
13
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
14 MT("strings",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
15 "[string \"// a string\"]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
16 "[string \"a string running over]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
17 "[string two lines\"]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
18 "[string \"with \\\"escaped quote\"]"
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
19 );
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
20
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
21 MT("xù/ msgenny keywords classify as 'keyword'",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
22 "[keyword watermark]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
23 "[keyword wordwrapentities]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
24 "[keyword alt]","[keyword loop]","[keyword opt]","[keyword ref]","[keyword else]","[keyword break]","[keyword par]","[keyword seq]","[keyword assert]"
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
25 );
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
26
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
27 MT("xù/ msgenny constants classify as 'variable'",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
28 "[variable auto]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
29 "[variable true]", "[variable false]", "[variable on]", "[variable off]"
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
30 );
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
31
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
32 MT("mscgen options classify as keyword",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
33 "[keyword hscale]", "[keyword width]", "[keyword arcgradient]", "[keyword wordwraparcs]"
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
34 );
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
35
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
36 MT("mscgen arcs classify as keyword",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
37 "[keyword note]","[keyword abox]","[keyword rbox]","[keyword box]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
38 "[keyword |||...---]", "[keyword ..--==::]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
39 "[keyword ->]", "[keyword <-]", "[keyword <->]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
40 "[keyword =>]", "[keyword <=]", "[keyword <=>]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
41 "[keyword =>>]", "[keyword <<=]", "[keyword <<=>>]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
42 "[keyword >>]", "[keyword <<]", "[keyword <<>>]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
43 "[keyword -x]", "[keyword x-]", "[keyword -X]", "[keyword X-]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
44 "[keyword :>]", "[keyword <:]", "[keyword <:>]"
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
45 );
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
46
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
47 MT("within an attribute list, mscgen/ xù attributes classify as base",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
48 "[base [[label]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
49 "[base idurl id url]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
50 "[base linecolor linecolour textcolor textcolour textbgcolor textbgcolour]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
51 "[base arclinecolor arclinecolour arctextcolor arctextcolour arctextbgcolor arctextbgcolour]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
52 "[base arcskip]]]"
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
53 );
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
54
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
55 MT("outside an attribute list, mscgen/ xù attributes classify as base",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
56 "[base label]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
57 "[base idurl id url]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
58 "[base linecolor linecolour textcolor textcolour textbgcolor textbgcolour]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
59 "[base arclinecolor arclinecolour arctextcolor arctextcolour arctextbgcolor arctextbgcolour]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
60 "[base arcskip]"
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
61 );
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
62
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
63 MT("a typical program",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
64 "[comment # typical msgenny program]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
65 "[keyword wordwraparcs][operator =][variable true][base , ][keyword hscale][operator =][string \"0.8\"][base , ][keyword arcgradient][operator =][base 30;]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
66 "[base a : ][string \"Entity A\"][base ,]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
67 "[base b : Entity B,]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
68 "[base c : Entity C;]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
69 "[base a ][keyword =>>][base b: ][string \"Hello entity B\"][base ;]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
70 "[base a ][keyword alt][base c][bracket {]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
71 "[base a ][keyword <<][base b: ][string \"Here's an answer dude!\"][base ;]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
72 "[keyword ---][base : ][string \"sorry, won't march - comm glitch\"]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
73 "[base a ][keyword x-][base b: ][string \"Here's an answer dude! (won't arrive...)\"][base ;]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
74 "[bracket }]",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
75 "[base c ][keyword :>][base *: What about me?;]"
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
76 );
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
77 })();