##// END OF EJS Templates
i18n: replaced fragile extraction of JS translations from an _TM variable....
i18n: replaced fragile extraction of JS translations from an _TM variable. We replaced it with similar to babel functions _gettext, and _ngettext, that will prevent UI from breaking in case of untranslated strings. This also will allow to use babel built in extractors to fetch the translations stored inside html and JS.

File last commit:

r1:854a839a default
r325:9f2e29d4 stable
Show More
msgenny_test.js
71 lines | 3.0 KiB | application/javascript | JavascriptLexer
project: added all source files and assets
r1 // 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-msgenny");
function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "msgenny"); }
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, mscgen/ xù attributes classify as base",
"[base [[label]",
"[base idurl id url]",
"[base linecolor linecolour textcolor textcolour textbgcolor textbgcolour]",
"[base arclinecolor arclinecolour arctextcolor arctextcolour arctextbgcolor arctextbgcolour]",
"[base arcskip]]]"
);
MT("outside an attribute list, mscgen/ xù attributes classify as base",
"[base label]",
"[base idurl id url]",
"[base linecolor linecolour textcolor textcolour textbgcolor textbgcolour]",
"[base arclinecolor arclinecolour arctextcolor arctextcolour arctextbgcolor arctextbgcolour]",
"[base arcskip]"
);
MT("a typical program",
"[comment # typical msgenny program]",
"[keyword wordwraparcs][operator =][string \"true\"][base , ][keyword hscale][operator =][string \"0.8\"][base , ][keyword arcgradient][operator =][base 30;]",
"[base a : ][string \"Entity A\"][base ,]",
"[base b : Entity B,]",
"[base c : Entity C;]",
"[base a ][keyword =>>][base b: ][string \"Hello entity B\"][base ;]",
"[base a ][keyword alt][base c][bracket {]",
"[base a ][keyword <<][base b: ][string \"Here's an answer dude!\"][base ;]",
"[keyword ---][base : ][string \"sorry, won't march - comm glitch\"]",
"[base a ][keyword x-][base b: ][string \"Here's an answer dude! (won't arrive...)\"][base ;]",
"[bracket }]",
"[base c ][keyword :>][base *: What about me?;]"
);
})();