internal KeywordCollection(Scintilla scintilla)
: base(scintilla)
{
// Auugh, this plagued me for a while. Each of the lexers cna define their own "Name"
// and also asign themsleves to a Scintilla Lexer Constant. Most of the time these
// match the defined constant, but sometimes they don't. We'll always use the constant
// name since it's easier to use, consistent and will always have valid characters.
// However its still valid to access the lexers by this name (as SetLexerLanguage
// uses this value) so we'll create a lookup.
this._lexerAliasMap = new Dictionary<string, Lexer>(StringComparer.OrdinalIgnoreCase)
{
{
"PL/M", Lexer.Plm
},
{
"props", Lexer.Properties
},
{
"inno", Lexer.InnoSetup
},
{
"clarion", Lexer.Clw
},
{
"clarionnocase", Lexer.ClwNoCase
}
};
// I have no idea how Progress fits into this. It's defined with the PS lexer const
// and a name of "progress"
//_lexerKeywordListMap = new Dictionary<string,string[]>(StringComparer.OrdinalIgnoreCase);
//_lexerKeywordListMap.Add("xml", new string[] { "HTML elements and attributes", "JavaScript keywords", "VBScript keywords", "Python keywords", "PHP keywords", "SGML and DTD keywords" });
//_lexerKeywordListMap.Add("yaml", new string[] { "Keywords" });
// baan, kix, ave, scriptol, diff, props, makefile, errorlist, latex, null, lot, haskell
// lexers don't have keyword list names
}