package Ġcom . win dea . plugin . idea . sb text . highlighter Ċ Ċ import Ġcom . intellij . openapi . editor . colors .* Ċ import Ġcom . intellij . openapi . file Types .* Ċ import Ġcom . intellij . psi . TokenType .* Ċ import Ġcom . intellij . psi . tree .* Ċ import Ġcom . win dea . plugin . idea . sb text . psi .* Ċ import Ġcom . win dea . plugin . idea . sb text . psi . Sb Text Types .* Ċ Ċ class ĠS b Text Syntax Highlight er : ĠSyntax Highlight er Base (){ Ċ ĉ comp anion Ġobject { Ċĉ ĉ private Ġval ĠMARK ER _ KEYS Ġ= ĠarrayOf ( Sb Text Attributes Keys . MARKER _ KEY ) Ċĉ ĉ private Ġval ĠCOLOR _ CODE _ KEYS Ġ= ĠarrayOf ( Sb Text Attributes Keys . COLOR _ CODE _ KEY ) Ċĉ ĉ private Ġval ĠTEXT _ KEYS Ġ= ĠarrayOf ( Sb Text Attributes Keys . TEXT _ KEY ) Ċĉ ĉ private Ġval ĠVALID _ ESCAPE _ KEYS Ġ= ĠarrayOf ( Sb Text Attributes Keys . VALID _ ESCAPE _ KEY ) Ċĉ ĉ private Ġval ĠINVALID _ ESCAPE _ KEYS Ġ= ĠarrayOf ( Sb Text Attributes Keys . INVALID _ ESCAPE _ KEY ) Ċĉ ĉ private Ġval ĠBAD _ CHARACTER _ KEYS Ġ= ĠarrayOf ( Sb Text Attributes Keys . BAD _ CHARACTER _ KEY ) Ċĉ ĉ private Ġval ĠEMPTY _ KEYS Ġ= ĠText Attributes Key . EMPTY _ ARRAY Ċ ĉ } ĊĊ ĉ override Ġfun ĠgetToken Highlight s ( token Type : ĠI ElementType ?): ĠArray < Text Attributes Key > Ġ{ Ċĉ ĉ return Ġwhen ( token Type ){ Ċĉĉ ĉ COLOR _ MARKER _ START , ĠCOLOR _ MARKER _ END , ĠCOLOR _ RESET _ MARKER _ TOKEN Ġ-> ĠMARK ER _ KEYS Ċĉĉ ĉ COLOR _ CODE Ġ-> ĠCOLOR _ CODE _ KEYS Ċĉĉ ĉ TEXT _ TOKEN Ġ-> ĠTEXT _ KEYS Ċĉĉ ĉ VALID _ ESCAPE _ TOKEN Ġ-> ĠVALID _ ESCAPE _ KEYS Ċĉĉ ĉ INVALID _ ESCAPE _ TOKEN Ġ-> ĠINVALID _ ESCAPE _ KEYS Ċĉĉ ĉ BAD _ CHARACTER Ġ-> ĠBAD _ CHARACTER _ KEYS Ċĉĉ ĉ else Ġ-> ĠEMPTY _ KEYS Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ override Ġfun Ġget Highlighting Lexer () Ġ= ĠS b Text Lexer Adapter () Ċ } ĊĊ