annotate .cms/lib/codemirror/mode/mscgen/index.html @ 0:78edf6b517a0 draft

24.10
author Coffee CMS <info@coffee-cms.ru>
date Fri, 11 Oct 2024 22:40:23 +0000
parents
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 <!doctype html>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
2
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
3 <title>CodeMirror: MscGen mode</title>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
4 <meta charset="utf-8"/>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
5 <link rel=stylesheet href="../../doc/docs.css">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
6
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
7 <link rel="stylesheet" href="../../lib/codemirror.css">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
8 <script src="../../lib/codemirror.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
9 <script src="mscgen.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
10 <style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
11 <div id=nav>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
12 <a href="https://codemirror.net/5"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png" alt=""></a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
13 <ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
14 <li><a href="../../index.html">Home</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
15 <li><a href="../../doc/manual.html">Manual</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
16 <li><a href="https://github.com/codemirror/codemirror5">Code</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
17 </ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
18 <ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
19 <li><a href="../index.html">Language modes</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
20 <li><a class=active href="#">MscGen</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
21 </ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
22 </div>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
23
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
24 <article>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
25 <h2>MscGen mode</h2>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
26
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
27 <div><textarea id="mscgen-code">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
28 # Sample mscgen program
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
29 # See http://www.mcternan.me.uk/mscgen or
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
30 # https://sverweij.github.io/mscgen_js for more samples
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
31 msc {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
32 # options
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
33 hscale="1.2";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
34
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
35 # entities/ lifelines
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
36 a [label="Entity A"],
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
37 b [label="Entity B", linecolor="red", arclinecolor="red", textbgcolor="pink"],
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
38 c [label="Entity C"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
39
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
40 # arcs/ messages
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
41 a => c [label="doSomething(args)"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
42 b => c [label="doSomething(args)"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
43 c >> * [label="everyone asked me", arcskip="1"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
44 c =>> c [label="doing something"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
45 c -x * [label="report back", arcskip="1"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
46 |||;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
47 --- [label="shows's over, however ..."];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
48 b => a [label="did you see c doing something?"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
49 a -> b [label="nope"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
50 b :> a [label="shall we ask again?"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
51 a => b [label="naah"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
52 ...;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
53 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
54 </textarea></div>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
55
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
56 <h2>Xù mode</h2>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
57
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
58 <div><textarea id="xu-code">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
59 # Xù - expansions to MscGen to support inline expressions
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
60 # https://github.com/sverweij/mscgen_js/blob/master/wikum/xu.md
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
61 # More samples: https://sverweij.github.io/mscgen_js
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
62 xu {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
63 hscale="0.8",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
64 width="700";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
65
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
66 a,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
67 b [label="change store"],
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
68 c,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
69 d [label="necro queue"],
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
70 e [label="natalis queue"],
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
71 f;
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
72
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
73 a =>> b [label="get change list()"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
74 a alt f [label="changes found"] { /* alt is a xu specific keyword*/
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
75 b >> a [label="list of changes"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
76 a =>> c [label="cull old stuff (list of changes)"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
77 b loop e [label="for each change"] { // loop is xu specific as well...
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
78 /*
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
79 * Interesting stuff happens.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
80 */
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
81 c =>> b [label="get change()"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
82 b >> c [label="change"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
83 c alt e [label="change too old"] {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
84 c =>> d [label="queue(change)"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
85 --- [label="change newer than latest run"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
86 c =>> e [label="queue(change)"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
87 --- [label="all other cases"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
88 ||| [label="leave well alone"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
89 };
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
90 };
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
91
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
92 c >> a [label="done
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
93 processing"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
94
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
95 /* shucks! nothing found ...*/
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
96 --- [label="nothing found"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
97 b >> a [label="nothing"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
98 a note a [label="silent exit"];
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
99 };
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
100 }
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
101 </textarea></div>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
102
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
103 <h2>MsGenny mode</h2>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
104 <div><textarea id="msgenny-code">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
105 # MsGenny - simplified version of MscGen / Xù
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
106 # https://github.com/sverweij/mscgen_js/blob/master/wikum/msgenny.md
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
107 # More samples: https://sverweij.github.io/mscgen_js
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
108 a -> b : a -> b (signal);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
109 a => b : a => b (method);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
110 b >> a : b >> a (return value);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
111 a =>> b : a =>> b (callback);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
112 a -x b : a -x b (lost);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
113 a :> b : a :> b (emphasis);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
114 a .. b : a .. b (dotted);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
115 a -- b : "a -- b straight line";
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
116 a note a : a note a\n(note),
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
117 b box b : b box b\n(action);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
118 a rbox a : a rbox a\n(reference),
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
119 b abox b : b abox b\n(state/ condition);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
120 ||| : ||| (empty row);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
121 ... : ... (omitted row);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
122 --- : --- (comment);
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
123 </textarea></div>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
124
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
125 <p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
126 Simple mode for highlighting MscGen and two derived sequence
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
127 chart languages.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
128 </p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
129
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
130 <script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
131 var mscgenEditor = CodeMirror.fromTextArea(document.getElementById("mscgen-code"), {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
132 lineNumbers: true,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
133 mode: "text/x-mscgen",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
134 });
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
135 var xuEditor = CodeMirror.fromTextArea(document.getElementById("xu-code"), {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
136 lineNumbers: true,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
137 mode: "text/x-xu",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
138 });
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
139 var msgennyEditor = CodeMirror.fromTextArea(document.getElementById("msgenny-code"), {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
140 lineNumbers: true,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
141 mode: "text/x-msgenny",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
142 });
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
143 </script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
144
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
145 <p><strong>MIME types defined:</strong>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
146 <code>text/x-mscgen</code>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
147 <code>text/x-xu</code>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
148 <code>text/x-msgenny</code>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
149 </p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
150
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
151 </article>