dp.sh.Brushes.BPELscript = function()
{
	var keywords = 'namespace import process partnerLink try parallel and join signal catch receive invoke reply';

	this.regexList = [
		{ regex: dp.sh.RegexLib.SingleLineCComments,				css: 'comment' },			// one line comments
		{ regex: dp.sh.RegexLib.MultiLineCComments,					css: 'comment' },			// multiline comments
		{ regex: dp.sh.RegexLib.DoubleQuotedString,					css: 'string' },			// double quoted strings
		{ regex: dp.sh.RegexLib.SingleQuotedString,					css: 'string' },			// single quoted strings
		{ regex: new RegExp('\\s*@.*', 'gm'),						css: 'preprocessor' },		// preprocessor tags like #region and #endregion
		{ regex: new RegExp(this.GetKeywordsBPELscript(keywords), 'gm'),		css: 'keyword' }			// keywords
		];

	this.CssClass = 'dp-c';
}

dp.sh.Highlighter.prototype.GetKeywordsBPELscript = function(str)
{
	return '\\b' + str.replace(/ /g, '(?!-)\\b|\\b()') + '[^-]\\b';
};

dp.sh.Brushes.BPELscript.prototype	= new dp.sh.Highlighter();
dp.sh.Brushes.BPELscript.Aliases	= ['bpelscript'];

