package Ġjp . ito hi ro . intellij . simple plugin Ċ Ċ import Ġcom . intellij . lexer . Lexer Ċ import Ġcom . intellij . openapi . editor . Default Language Highlight er Colors Ċ import Ġcom . intellij . openapi . editor . Highlight er Colors Ċ import Ġcom . intellij . openapi . editor . colors . Text Attributes Key Ċ import Ġcom . intellij . openapi . file Types . Syntax Highlight er Base Ċ import Ġcom . intellij . psi . TokenType Ċ import Ġcom . intellij . psi . tree . I ElementType Ċ import Ġjp . ito hi ro . intellij . simple plugin . psi . Simple Types Ċ Ċ import Ġcom . intellij . openapi . editor . colors . Text Attributes Key . createText Attributes Key ; Ċ import Ġorg . jetbrains . annotations . NotNull Ċ Ċ public Ġclass ĠSimple Syntax Highlight er : ĠSyntax Highlight er Base () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠSE PAR ATOR Ġ= Ġcreate Text Attributes Key (" SIMPLE _ SEPARATOR ", ĠDefault Language Highlight er Colors . OPERATION _ SIGN ) ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠKEY Ġ= Ġcreate Text Attributes Key (" SIMPLE _ KEY ", ĠDefault Language Highlight er Colors . KEYWORD ) ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠVALUE Ġ= Ġcreate Text Attributes Key (" SIMPLE _ VALUE ", ĠDefault Language Highlight er Colors . STRING ) ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠCOMMENT Ġ= Ġcreate Text Attributes Key (" SIMPLE _ COMMENT ", ĠDefault Language Highlight er Colors . LINE _ COMMENT ) ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠBAD _ CHARACTER Ġ= Ġcreate Text Attributes Key (" SIMPLE _ BAD _ CHARACTER ", ĠHighlight er Colors . BAD _ CHARACTER ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠBAD _ CHAR _ KEYS Ġ= ĠarrayOf ( BAD _ CHARACTER ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠSE PAR ATOR _ KEYS Ġ= ĠarrayOf ( SEPARATOR ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠKEY _ KEYS Ġ= ĠarrayOf ( KEY ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠVALUE _ KEYS Ġ= ĠarrayOf ( VALUE ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠCOMMENT _ KEYS Ġ= ĠarrayOf ( COMMENT ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠEMPTY _ KEYS Ġ= ĠarrayOf < Text Attributes Key >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġoverride Ġfun ĠgetToken Highlight s ( token Type : ĠI ElementType ?): ĠArray < out ĠText Attributes Key > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( token Type Ġ== ĠSimple Types . SEPARATOR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSE PAR ATOR _ KEYS ; ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( token Type Ġ== ĠSimple Types . KEY ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠKEY _ KEYS ; ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( token Type Ġ== ĠSimple Types . VALUE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠVALUE _ KEYS ; ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( token Type Ġ== ĠSimple Types . COMMENT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCOMMENT _ KEYS ; ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( token Type Ġ== ĠTokenType . BAD _ CHARACTER ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBAD _ CHAR _ KEYS ; ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠEMPTY _ KEYS ; ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ NotNull ĊĠĠĠ Ġoverride Ġfun Ġget Highlighting Lexer (): ĠLex er Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSimple Lexer Adapter () ĊĠĠĠ Ġ} Ċ }