# Vim snippets file
# Author    : Justin Donaldson (jdonaldson@gmail.com)
#  Based extensively on a version by Marc Weber (marco-oweber@gmx.de)
# Language  : haxe

#javadoc
snippet doc
	/**
	  ${1}
	 **/
snippet switch
	switch(${1}){
		case ${2}: ${3}
	}
snippet case
	case ${1}: ${2}
snippet try
	try{
		${1}
	}catch(e:${2}){
	  ${3:// Ignore any errors.}
	}
snippet for
	for( ${1:var} in ${2:itr} ){
		${3}
	}
snippet class HAXE
	class `expand('%:t:r')` {

		public function new(${1}) {
			${2://initialize variables}
		}

		static function main() {
			${3:trace("hello world");}
		}

	}
snippet main
	static function main() {
		${1:trace("hello world");}
	}
snippet new
	public function new(${1:arg}) {
		super($1);
	}
snippet fn func
	function(${1:arg}) {
		${2}
	}
snippet fu function
	function ${1:name}(${2:arg}) {
		${3}
	}
snippet prifu private function
	private function ${1:name}(${2:arg}) {
		${3}
	}
snippet pufu public function
	public function ${1:name}(${2:arg}) {
		${3}
	}
snippet pustafu public static function
	public static function ${1:name}(${2:arg}) {
		${3}
	}
snippet pristafu private static function
	private static function ${1:name}(${2:arg}) {
		${3}
	}
snippet trace
	trace(${1});
snippet desc function
	trace(${1} + " is the value for $1");
snippet cast
	cast(${1:cast_this}, ${2:type})
snippet interface
	interface ${1:name}${2: implements this}${3:, implements other}{
		${4}
	}
snippet #if
	#if js, php, cpp, flash
	${1}
	#end{2}
snippet typedef
	typedef ${1}${2:<T>} = {
		var ${3}:$2;
	}${4}
snippet untyped
	untyped{ ${1} }${2}
snippet enum
	enum ${1:Name} {
		${2:Construct}
	}