
// This configuration holds information we need for the Scintilla lexers in our script editor.
// This indicates which styles to configure for the syntax highlighting we want. It also maps our
// keywords and constants to the indices and styles for every lexer.
// -1 indicates it is an unused style or index.

// NOTE: The styles are mapped backwards with the scintilla style as key and our style as value.
// Styles that are not mapped will be set to the plain text style. For our styles see the
// ScriptStyleType enum. The indices for keywords and constants are mapped forwards (the value
// is the index for the Scintilla control).


lexer1	// None
{
	0 = 0;		// plain text
	33 = 5;	  // line numbers
	37 = 5;   // ident guides
	
	keywordsindex = -1;
	constantsindex = -1;
}


lexer3	// CPP-style, case-sensitive
{
	10 = 0;		// operator -> plain text
	11 = 0;		// identifier -> plain text
	33 = 5;	  // line numbers
	1 = 3;		// comments
	2 = 3;		// comments
	5 = 1;		// keywords
	4 = 4;		// literal
	7 = 4;		// literal
	16 = 2;	  // constants
	37 = 5;   // ident guides
	6 = 6;    // strings
	9 = 7;    // includes
	19 = 8;   // Global class -> properties
	
	keywordsindex = 0;
	constantsindex = 1;
	propertiesindex = 3;
	snippetindex = 2;
}


lexer6	// Perl-style
{
	0 = 0;		// plain text
	2 = 3;		// comments
	4 = 4;		// literal
	5 = 1;		// keywords
	6 = 4;		// literal
	7 = 4;		// literal
	33 = 5;	  // line numbers
	37 = 5;   // ident guides
	
	keywordsindex = 0;
	constantsindex = 1;
}

lexer15 // Lua-style
{
	10 = 0;		// operator -> plain text
	11 = 0;		// identifier -> plain text
	1 = 3;		// comments
	2 = 3;		// comments
	3 = 3;		// comments
	5 = 1;		// keywords
	4 = 4;		// literal
	7 = 4;		// literal
	8 = 4;		// literal
	6 = 6;    // strings
	9 = 7;    // includes
	
	keywordsindex = 0;
	constantsindex = 1;
	snippetindex = 2;
}

lexer18	// Pascal-style
{
	0 = 0;		// plain text
	33 = 5;	  // line numbers
	1 = 3;		// comments
	2 = 3;		// comments
	5 = 1;		// keywords
	4 = 4;		// literal
	6 = 4;		// literal
	7 = 4;		// literal
	16 = 2;	  // constants
	37 = 5;   // ident guides
	
	keywordsindex = 0;
	constantsindex = 1;
	snippetindex = 2;
}


lexer35	// CPP-style, case-insensitive
{
	10 = 0;		// operator -> plain text
	11 = 0;		// identifier -> plain text
	33 = 5;	  // line numbers
	1 = 3;		// comments
	2 = 3;		// comments
	5 = 1;		// keywords
	4 = 4;		// literal
	7 = 4;		// literal
	16 = 2;	  // constants
	37 = 5;   // ident guides
	6 = 6;    // strings
	9 = 7;    // includes
	19 = 8;   // global class -> properties
	
	keywordsindex = 0;
	constantsindex = 1;
	propertiesindex = 3;
	snippetindex = 2;
}