/*
 * JsMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/
*/

dp.sh.Brushes.Gambas=function()
{
	var funcs='Abs Access ACos ACosh Alloc Ang Asc ASin ASinh Asl Asr Assign ATan ATan2 ATanh BChg BClr Bin$ BSet BTst CBool '+
		'Cbr CByte CDate CFloat Choose Chr$ CInt CLong Comp Conv$ Cos Cosh CShort CSng CStr CVariant Date DateAdd DateDiff '+
		'Day DConv$ Deg DFree Dir Eof Exist Exp Exp10 Exp2 Expm Eval Fix Format$ Frac Free Hex$ Hour Html$ Hyp IIf InStr '+
		'Int IsAscii IsBlank IsBoolean IsByte IsDate IsDigit IsDir IsFloat IsHexa IsInteger IsLCase IsLetter IsLong IsNull '+
		'IsNumber IsObject IsPointer IsPunct IsShort IsSingle IsSpace IsString IsUCase IsVariant LCase$ Left$ Len Lof Log '+
		'Log10 Log2 Logp Lsl Lsr LTrim$ Mag Max Mid$ Min Minute Month Now Pi Quote$ Rad RDir Realloc Replace$ Right$ '+
		'RInStr Rnd Rol Ror Round RTrim$ Scan SConv$ Second Seek Sgn Shell$ Shl Shr Sin Sinh Space$ Split Sqr Stat Str$ '+
		'String$ StrPtr Subst$ Tan Tanh Temp$ Time Timer Tr$ Trim$ TypeOf UCase$ Unquote$ Val VarPtr Week WeekDay Year';
		
	var keywords='AND APPEND AS BEGINS BREAK BYREF CASE CATCH CLASS CLOSE CONST CONTINUE COPY CREATE DEBUG DEC DEFAULT DIM '+
		'DIV DO EACH ELSE END ENDIF ENDS ENUM ERROR EVENT EXEC EXPORT EXTERN FALSE FINALLY FLUSH FOR FUNCTION GOTO IF IN '+
		'INC INHERITS INPUT IS KILL LAST LIBRARY LIKE LINE LINK LOCK LOOP ME MEMORY MKDIR MOD MOVE NEW NEXT NOT NULL OPEN '+
		'OPTIONAL OR OUTPUT PIPE PRINT PRIVATE PROCEDURE PROPERTY PUBLIC QUIT RAISE RANDOMIZE READ REPEAT RETURN RMDIR SEEK '+
		'SELECT SHELL SLEEP STATIC STEP STOP STRUCT SUB SUPER SWAP THEN TO TRUE TRY UNLOCK UNTIL WAIT WATCH WEND WHILE WITH '+
		'WRITE XOR';
		
		
	this.regexList=[
		{regex:new RegExp('\'.*$','gm'),css:'comment'},
		{regex:dp.sh.RegexLib.DoubleQuotedString,css:'string'},
		{regex:new RegExp(this.GetKeywords(funcs),'gm'),css:'func'},
		{regex:new RegExp(this.GetKeywords(keywords),'gm'),css:'keyword'},
		{regex:new RegExp('\\b[\\d\\.]+\\b','g'),css:'number'},
		{regex:new RegExp('\\$[a-zA-Z0-9]+\\b','g'),css:'number'}];
		
	this.CssClass='dp-gb';
	this.Style=	'.dp-gb .number { color: #FF0000; }'+
				'.dp-gb .comment { color: #808080; }'+
				'.dp-gb .string { color: #FF00FF; }'+
				'.dp-gb .func { color: #0000FF; }'+
				'.dp-gb .keyword { color: #0080FF; font-weight: bold; }';}
				
dp.sh.Brushes.Gambas.prototype=new dp.sh.Highlighter();
dp.sh.Brushes.Gambas.Aliases=['gambas'];

