| 
									
										
										
										
											2018-01-21 10:33:32 -05:00
										 |  |  | // CodeMirror, copyright (c) by Marijn Haverbeke and others
 | 
					
						
							| 
									
										
										
										
											2018-10-07 12:02:07 +02:00
										 |  |  | // Distributed under an MIT license: https://codemirror.net/LICENSE
 | 
					
						
							| 
									
										
										
										
											2018-01-21 10:33:32 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | (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]", | 
					
						
							| 
									
										
										
										
											2019-06-02 09:59:07 +02:00
										 |  |  |     "[keyword wordwrapentities]", | 
					
						
							| 
									
										
										
										
											2018-01-21 10:33:32 -05:00
										 |  |  |     "[keyword alt]","[keyword loop]","[keyword opt]","[keyword ref]","[keyword else]","[keyword break]","[keyword par]","[keyword seq]","[keyword assert]" | 
					
						
							|  |  |  |   ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   MT("xù/ msgenny constants classify as 'variable'", | 
					
						
							|  |  |  |     "[variable auto]", | 
					
						
							|  |  |  |     "[variable true]", "[variable false]", "[variable on]", "[variable off]" | 
					
						
							|  |  |  |   ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   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 =][variable 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?;]" | 
					
						
							|  |  |  |   ); | 
					
						
							|  |  |  | })(); |