: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
<title>CodeMirror: MscGen mode</title>
<link rel=stylesheet href="../../doc/docs.css">
<link rel="stylesheet" href="../../lib/codemirror.css">
<script src="../../lib/codemirror.js"></script>
<script src="mscgen.js"></script>
<style>.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
<a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
<li><a href="../../index.html">Home</a>
<li><a href="../../doc/manual.html">Manual</a>
<li><a href="https://github.com/codemirror/codemirror">Code</a>
<li><a href="../index.html">Language modes</a>
<li><a class=active href="#">MscGen</a>
<div><textarea id="mscgen-code">
# See http://www.mcternan.me.uk/mscgen or
# https://sverweij.github.io/mscgen_js for more samples
b [label="Entity B", linecolor="red", arclinecolor="red", textbgcolor="pink"],
a => c [label="doSomething(args)"];
b => c [label="doSomething(args)"];
c >> * [label="everyone asked me", arcskip="1"];
c =>> c [label="doing something"];
c -x * [label="report back", arcskip="1"];
--- [label="shows's over, however ..."];
b => a [label="did you see c doing something?"];
b :> a [label="shall we ask again?"];
<div><textarea id="xu-code">
# Xù - expansions to MscGen to support inline expressions
# https://github.com/sverweij/mscgen_js/blob/master/wikum/xu.md
# More samples: https://sverweij.github.io/mscgen_js
b [label="change store"],
e [label="natalis queue"],
a =>> b [label="get change list()"];
a alt f [label="changes found"] { /* alt is a xu specific keyword*/
b >> a [label="list of changes"];
a =>> c [label="cull old stuff (list of changes)"];
b loop e [label="for each change"] { // loop is xu specific as well...
* Interesting stuff happens.
c =>> b [label="get change()"];
c alt e [label="change too old"] {
c =>> d [label="queue(change)"];
--- [label="change newer than latest run"];
c =>> e [label="queue(change)"];
--- [label="all other cases"];
||| [label="leave well alone"];
/* shucks! nothing found ...*/
--- [label="nothing found"];
b >> a [label="nothing"];
a note a [label="silent exit"];
<div><textarea id="msgenny-code">
# MsGenny - simplified version of MscGen / Xù
# https://github.com/sverweij/mscgen_js/blob/master/wikum/msgenny.md
# More samples: https://sverweij.github.io/mscgen_js
a -> b : a -> b (signal);
a => b : a => b (method);
b >> a : b >> a (return value);
a =>> b : a =>> b (callback);
a :> b : a :> b (emphasis);
a .. b : a .. b (dotted);
a -- b : "a -- b straight line";
a note a : a note a\n(note),
b box b : b box b\n(action);
a rbox a : a rbox a\n(reference),
b abox b : b abox b\n(state/ condition);
Simple mode for highlighting MscGen and two derived sequence
var mscgenEditor = CodeMirror.fromTextArea(document.getElementById("mscgen-code"), {
var xuEditor = CodeMirror.fromTextArea(document.getElementById("xu-code"), {
var msgennyEditor = CodeMirror.fromTextArea(document.getElementById("msgenny-code"), {
<p><strong>MIME types defined:</strong>
<code>text/x-mscgen</code>
<code>text/x-msgenny</code>