| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | // CodeMirror, copyright (c) by Marijn Haverbeke and others// Distributed under an MIT license: http://codemirror.net/LICENSE(function() {  var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-xu");  function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "xu"); }  MT("empty chart",     "[keyword msc][bracket {]",     "[base   ]",     "[bracket }]"   );  MT("comments",    "[comment // a single line comment]",    "[comment # another  single line comment /* and */ ignored here]",    "[comment /* A multi-line comment even though it contains]",    "[comment msc keywords and \"quoted text\"*/]");  MT("strings",    "[string \"// a string\"]",    "[string \"a string running over]",    "[string two lines\"]",    "[string \"with \\\"escaped quote\"]"  );  MT("xù/ msgenny keywords classify as 'keyword'",    "[keyword watermark]",    "[keyword alt]","[keyword loop]","[keyword opt]","[keyword ref]","[keyword else]","[keyword break]","[keyword par]","[keyword seq]","[keyword assert]"  );  MT("mscgen options classify as keyword",    "[keyword hscale]", "[keyword width]", "[keyword arcgradient]", "[keyword wordwraparcs]"  );  MT("mscgen arcs classify as keyword",    "[keyword note]","[keyword abox]","[keyword rbox]","[keyword box]",    "[keyword |||...---]", "[keyword ..--==::]",    "[keyword ->]", "[keyword <-]", "[keyword <->]",    "[keyword =>]", "[keyword <=]", "[keyword <=>]",    "[keyword =>>]", "[keyword <<=]", "[keyword <<=>>]",    "[keyword >>]", "[keyword <<]", "[keyword <<>>]",    "[keyword -x]", "[keyword x-]", "[keyword -X]", "[keyword X-]",    "[keyword :>]", "[keyword <:]", "[keyword <:>]"  );  MT("within an attribute list, attributes classify as attribute",    "[bracket [[][attribute label]",    "[attribute id]","[attribute url]","[attribute idurl]",    "[attribute linecolor]","[attribute linecolour]","[attribute textcolor]","[attribute textcolour]","[attribute textbgcolor]","[attribute textbgcolour]",    "[attribute arclinecolor]","[attribute arclinecolour]","[attribute arctextcolor]","[attribute arctextcolour]","[attribute arctextbgcolor]","[attribute arctextbgcolour]",    "[attribute arcskip][bracket ]]]"  );  MT("outside an attribute list, attributes classify as base",    "[base label]",    "[base id]","[base url]","[base idurl]",    "[base linecolor]","[base linecolour]","[base textcolor]","[base textcolour]","[base textbgcolor]","[base textbgcolour]",    "[base arclinecolor]","[base arclinecolour]","[base arctextcolor]","[base arctextcolour]","[base arctextbgcolor]","[base arctextbgcolour]",    "[base arcskip]"  );  MT("a typical program",    "[comment # typical mscgen program]",    "[keyword msc][base  ][bracket {]",    "[keyword wordwraparcs][operator =][string \"true\"][keyword hscale][operator =][string \"0.8\"][keyword arcgradient][operator =][base 30;]",    "[base   a][bracket [[][attribute label][operator =][string \"Entity A\"][bracket ]]][base ,]",    "[base   b][bracket [[][attribute label][operator =][string \"Entity B\"][bracket ]]][base ,]",    "[base   c][bracket [[][attribute label][operator =][string \"Entity C\"][bracket ]]][base ;]",    "[base   a ][keyword =>>][base  b][bracket [[][attribute label][operator =][string \"Hello entity B\"][bracket ]]][base ;]",    "[base   a ][keyword <<][base  b][bracket [[][attribute label][operator =][string \"Here's an answer dude!\"][bracket ]]][base ;]",    "[base   c ][keyword :>][base  *][bracket [[][attribute label][operator =][string \"What about me?\"][base , ][attribute textcolor][operator =][base red][bracket ]]][base ;]",    "[bracket }]"  );})();
 |