SyntaxHighlighter.brushes.ls = function()
{
	var keywords =	'Abs ACos ActivateApp ArrayAppend ArrayGetIndex ArrayReplace ArrayUnique Asc As ASin ' +
					'ATn ATn2 Base Beep Bin Boolean Bracket Byte Call Case CBool CByte CCur CDat CDbl ChDir ChDrive Chr ' +
					'CInt Class CLng Close CodeLock CodeLockCheck CodeUnlock Command Compare Const Cos CreateLock ' +
					'CreateObject CSng CStr CurDir CurDrive Currency CVar DataType Date Date DateNumber DateValue Day ' +
					'Declare Declare Declare Deftype Delete DestroyLock Dim Dim Dir Do Dot Double Else Else Elseif ' +
					'ElseIf End Environ EOF Erase Erl Err Err Error Error Error Evalute Evalute Event Execute Execute ' +
					'Exit Exp False FileAttr FileCopy FileDateTime FileLen Fix For ForAll Format Fraction FreeFile ' +
					'FullTrim Function Get GetFileAttr GetObject GetThreadInfo GoSub GoSub Goto GoTo GoTo Hex Hour If ' +
					'IMESetMode IMEStatus Implode Input Input Input InputB InputBox InputBP InStr InStrB InStrBP InStrC ' +
					'Int Integer Is IsArray IsDate IsElement IsEmpty IsList IsNull IsNumeric IsObject IsScalar ' +
					'IsUnknown Join Kill LBound LCase Left LeftB LeftBP LeftC Len LenB LenBP LenC Let Line ListTag LOC ' +
					'Lock Lock LOF Log Long LSet LTrim MessageBox Mid Mid MidB MidB MidBP MidC Minute MkDir Month ' +
					'MsgBox Name New Nothing Now Oct On Open Option Print Print Property Public Put Randomize ReDim Rem ' +
					'Replace Reset Resume Return Right RightB RightBP RightC RmDir Rnd Round RSet RTrim Run Second Seek ' +
					'Seek Select SendKeys Set SetFileAttr Sgn Shell Sin Single Sleep Space Spc Split Sqr Stop Str ' +
					'StrCompare StrConv String String StrLeft StrLeftBack StrRight StrRightBack StrToken Sub Sub Sub ' +
					'Tab Tan Then Time Time TimeNumber Timer TimeValue Today Trim True Type TypeName UBound UCase UChr ' +
					'Uni Unlock Use UseLSX UString Val Variant Weekday While Width With Write Year Yield Yield';

	this.regexList = [
		{ regex: /'.*$/gm,										css: 'comments' },			// one line comments
		{ regex: /%REM[\s\S]*?%END REM/gm,						css: 'comments' },			// multiline line comments
		{ regex: /^%\S*/gm,										css: 'lsdirectives' },		// %include
		{ regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi,			css: 'lsconstant' },		// numbers
		{ regex: SyntaxHighlighter.regexLib.doubleQuotedString,	css: 'lsconstant' },		// strings
		{ regex: /\|[\s\S]*?\|/gm,								css: 'lsconstant' },		// string in pipes
		{ regex: new RegExp(this.getKeywords(keywords), 'gim'),	css: 'lskeywords' }			// keyword
		];

};

SyntaxHighlighter.brushes.ls.prototype	= new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.ls.aliases	= ['ls', 'LS', 'LotusScript', 'lotusscript'];
