private void InitHighlighters()
{
this.Highlighter = new SimpleSyntaxHighlighter();
this.Highlighter.AddTokenHighlighter(new ValidationEnforcementTokenHighlighter(this.Definition));
foreach(var argument in Definition.Arguments)
{
foreach(var alias in argument.Aliases)
{
this.Highlighter.AddKeyword("-" + alias, ArgumentNameForeground, comparison: argument.IgnoreCase ? StringComparison.InvariantCultureIgnoreCase : StringComparison.InvariantCulture);
}
}
foreach(var action in Definition.Actions)
{
foreach(var alias in action.Aliases)
{
this.Highlighter.AddConditionalKeyword(alias, (readerContext, highlighterContext) => { return highlighterContext.CurrentTokenIndex == 0; }, ActionForeground, comparison: action.IgnoreCase ? StringComparison.InvariantCultureIgnoreCase : StringComparison.InvariantCulture);
}
foreach(var argument in action.Arguments)
{
foreach(var alias in argument.Aliases)
{
this.Highlighter.AddConditionalKeyword("-" + alias, (context, highlighterContext) =>
{
return action.IsMatch(context.Tokens.First().Value);
}
, ArgumentNameForeground, comparison: argument.IgnoreCase ? StringComparison.InvariantCultureIgnoreCase : StringComparison.InvariantCulture);
}
}
}
this.Highlighter.SetNumericHighlight(NumericForeground);
this.Highlighter.SetQuotedStringLiteralHighlight(StringLiteralForeground);
}