| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 | <!doctype html><title>CodeMirror: Haxe mode</title><meta charset="utf-8"/><link rel=stylesheet href="../../doc/docs.css"><link rel="stylesheet" href="../../lib/codemirror.css"><script src="../../lib/codemirror.js"></script><script src="haxe.js"></script><style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style><div id=nav>  <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>  <ul>    <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>  </ul>  <ul>    <li><a href="../index.html">Language modes</a>    <li><a class=active href="#">Haxe</a>  </ul></div><article><h2>Haxe mode</h2><div><p><textarea id="code-haxe" name="code">import one.two.Three;@attr("test")class Foo<T> extends Three{	public function new()	{		noFoo = 12;	}		public static inline function doFoo(obj:{k:Int, l:Float}):Int	{		for(i in 0...10)		{			obj.k++;			trace(i);			var var1 = new Array();			if(var1.length > 1)				throw "Error";		}		// The following line should not be colored, the variable is scoped out		var1;		/* Multi line		 * Comment test		 */		return obj.k;	}	private function bar():Void	{		#if flash		var t1:String = "1.21";		#end		try {			doFoo({k:3, l:1.2});		}		catch (e : String) {			trace(e);		}		var t2:Float = cast(3.2);		var t3:haxe.Timer = new haxe.Timer();		var t4 = {k:Std.int(t2), l:Std.parseFloat(t1)};		var t5 = ~/123+.*$/i;		doFoo(t4);		untyped t1 = 4;		bob = new Foo<Int>	}	public var okFoo(default, never):Float;	var noFoo(getFoo, null):Int;	function getFoo():Int {		return noFoo;	}		public var three:Int;}enum Color{	red;	green;	blue;	grey( v : Int );	rgb (r:Int,g:Int,b:Int);}</textarea></p><p>Hxml mode:</p><p><textarea id="code-hxml">-cp test-js path/to/file.js#-remap nme:flash--next-D source-map-content-cmd 'test'-lib lime</textarea></p></div>    <script>      var editor = CodeMirror.fromTextArea(document.getElementById("code-haxe"), {      	mode: "haxe",        lineNumbers: true,        indentUnit: 4,        indentWithTabs: true      });            editor = CodeMirror.fromTextArea(document.getElementById("code-hxml"), {      	mode: "hxml",        lineNumbers: true,        indentUnit: 4,        indentWithTabs: true      });    </script>    <p><strong>MIME types defined:</strong> <code>text/x-haxe, text/x-hxml</code>.</p>  </article>
 |