package Ġorg . ice 1 0 0 0 . tt . editing . red pr l Ċ Ċ import Ġcom . intellij . openapi . editor . colors . Text Attributes Key Ċ import Ġcom . intellij . openapi . options . colors . Attributes Descriptor Ċ import Ġcom . intellij . psi . tree . I ElementType Ċ import Ġorg . ice 1 0 0 0 . tt . TT Bundle Ċ import Ġorg . ice 1 0 0 0 . tt . psi . red pr l . Red P rl TokenType Ċ import Ġorg . ice 1 0 0 0 . tt . psi . red pr l . Red P rl Types Ċ import Ġorg . intellij . lang . annotations . Language Ċ Ċ object ĠRed P rl Highlight er Ġ: ĠRed P rl Generated Syntax Highlight er () Ġ{ Ċ ĉ @ Jvm Field Ġval ĠOPER ATORS Ġ= ĠlistOf ( Ċĉ ĉ Red P rl Types . RAN GLE , Ċĉ ĉ Red P rl Types . DOT , Ċĉ ĉ Red P rl Types . COL ON , Ċĉ ĉ Red P rl Types . EQUAL S , Ċĉ ĉ Red P rl Types . RIGHT _ ARROW , Ċĉ ĉ Red P rl Types . LEFT _ ARROW , Ċĉ ĉ Red P rl Types . S QU IG GLE _ RIGHT _ ARROW , Ċĉ ĉ Red P rl Types . S QU IG GLE _ LEFT _ ARROW , Ċĉ ĉ Red P rl Types . DOUBLE _ RIGHT _ ARROW , Ċĉ ĉ Red P rl Types . BACK _ TICK , Ċĉ ĉ Red P rl Types . TIMES , Ċĉ ĉ Red P rl Types . B ANG , Ċĉ ĉ Red P rl Types . AT _ SIGN , Ċĉ ĉ Red P rl Types . DO LL AR _ SIGN , Ċĉ ĉ Red P rl Types . DOUBLE _ PIPE , Ċĉ ĉ Red P rl Types . PIPE , Ċĉ ĉ Red P rl Types . PERCENT , Ċĉ ĉ Red P rl Types . UNDER , Ċĉ ĉ Red P rl Types . PLUS , Ċĉ ĉ Red P rl Types . DOUBLE _ PLUS ) ĊĊ ĉ // ĠRegular Ġexpression Ġused : Ċ ĉ // Ġs /[ a - zA - Z \- ]+ Ġ\{ Ġreturn Ġ([ A - Z _ ]+ ); Ġ} / Red P rl Types .$ 1 ,/ rg Ċ ĉ @ Jvm Field Ġval ĠKEY WORDS Ġ= ĠlistOf ( Ċĉ ĉ Red P rl Types . P US HOUT _ REC , Ċĉ ĉ Red P rl Types . TAC _ ASS UMP TION , Ċĉ ĉ Red P rl Types . TAC _ AUTO _ STEP , Ċĉ ĉ Red P rl Types . TAC _ IN VERSION , Ċĉ ĉ Red P rl Types . CO EQUAL IZER _ REC , Ċĉ ĉ Red P rl Types . MT AC _ PROGRESS , Ċĉ ĉ Red P rl Types . TAC _ SYM METRY , Ċĉ ĉ Red P rl Types . DIS CRE TE , Ċĉ ĉ Red P rl Types . NAT _ REC , Ċĉ ĉ Red P rl Types . NEG SU CC , Ċĉ ĉ Red P rl Types . INT _ REC , Ċĉ ĉ Red P rl Types . P US HOUT , Ċĉ ĉ Red P rl Types . WITHOUT , Ċĉ ĉ Red P rl Types . EXTRACT , Ċĉ ĉ Red P rl Types . THE ORE M , Ċĉ ĉ Red P rl Types . TAC _ REWRITE , Ċĉ ĉ Red P rl Types . RECORD , Ċĉ ĉ Red P rl Types . REF INE , Ċĉ ĉ Red P rl Types . DEFINE , Ċĉ ĉ Red P rl Types . T ACT IC _ KW , Ċĉ ĉ Red P rl Types . MT AC _ REPEAT , Ċĉ ĉ Red P rl Types . TAC _ RED UCE , Ċĉ ĉ Red P rl Types . TAC _ UN FOLD , Ċĉ ĉ Red P rl Types . T UP LE , Ċĉ ĉ Red P rl Types . RIGHT , Ċĉ ĉ Red P rl Types . CE COD , Ċĉ ĉ Red P rl Types . CED OM , Ċĉ ĉ Red P rl Types . V PRO J , Ċĉ ĉ Red P rl Types . CL AIM , Ċĉ ĉ Red P rl Types . RULE _ EX ACT , Ċĉ ĉ Red P rl Types . MATCH , Ċĉ ĉ Red P rl Types . QUERY , Ċĉ ĉ Red P rl Types . CON CL , Ċĉ ĉ Red P rl Types . PRINT , Ċĉ ĉ Red P rl Types . F COM , Ċĉ ĉ Red P rl Types . BOOL , Ċĉ ĉ Red P rl Types . ZERO , Ċĉ ĉ Red P rl Types . SU CC , Ċĉ ĉ Red P rl Types . VOID , Ċĉ ĉ Red P rl Types . BASE , Ċĉ ĉ Red P rl Types . LOOP , Ċĉ ĉ Red P rl Types . PATH , Ċĉ ĉ Red P rl Types . LINE , Ċĉ ĉ Red P rl Types . LEFT , Ċĉ ĉ Red P rl Types . GL UE , Ċĉ ĉ Red P rl Types . CO EQUAL IZER , Ċĉ ĉ Red P rl Types . SELF , Ċĉ ĉ Red P rl Types . E COM , Ċĉ ĉ Red P rl Types . H COM , Ċĉ ĉ Red P rl Types . THEN , Ċĉ ĉ Red P rl Types . ELSE , Ċĉ ĉ Red P rl Types . WITH , Ċĉ ĉ Red P rl Types . CASE , Ċĉ ĉ Red P rl Types . L MAX , Ċĉ ĉ Red P rl Types . QU IT , Ċĉ ĉ Red P rl Types . DATA , Ċĉ ĉ Red P rl Types . TAC _ FAIL , Ċĉ ĉ Red P rl Types . MT AC _ AUTO , Ċĉ ĉ Red P rl Types . TAC _ E LIM , Ċĉ ĉ Red P rl Types . TRUE _ KW , Ċĉ ĉ Red P rl Types . TYPE , Ċĉ ĉ Red P rl Types . NAT , Ċĉ ĉ Red P rl Types . INT , Ċĉ ĉ Red P rl Types . POS , Ċĉ ĉ Red P rl Types . L AMBDA , Ċĉ ĉ Red P rl Types . REC , Ċĉ ĉ Red P rl Types . MEM , Ċĉ ĉ Red P rl Types . BOX , Ċĉ ĉ Red P rl Types . CAP , Ċĉ ĉ Red P rl Types . V IN , Ċĉ ĉ Red P rl Types . ABS , Ċĉ ĉ Red P rl Types . COM , Ċĉ ĉ Red P rl Types . CO E , Ċĉ ĉ Red P rl Types . LET , Ċĉ ĉ Red P rl Types . USE , Ċĉ ĉ Red P rl Types . DIM , Ċĉ ĉ Red P rl Types . L VL , Ċĉ ĉ Red P rl Types . K ND , Ċĉ ĉ Red P rl Types . EXP , Ċĉ ĉ Red P rl Types . TAC _ KW , Ċĉ ĉ Red P rl Types . J DG , Ċĉ ĉ Red P rl Types . VAL , Ċĉ ĉ Red P rl Types . KAN , Ċĉ ĉ Red P rl Types . PRE , Ċĉ ĉ Red P rl Types . AX , Ċĉ ĉ Red P rl Types . TT , Ċĉ ĉ Red P rl Types . FF , Ċĉ ĉ Red P rl Types . IF , Ċĉ ĉ Red P rl Types . MEM , Ċĉ ĉ Red P rl Types . OF , Ċĉ ĉ Red P rl Types . BY , Ċĉ ĉ Red P rl Types . IN , Ċĉ ĉ Red P rl Types . FN , Ċĉ ĉ Red P rl Types . TAC _ ID , Ċĉ ĉ Red P rl Types . AT , Ċĉ ĉ Red P rl Types . V , Ċĉ ĉ Red P rl Types . UN IVER SE ) ĊĊ ĉ override Ġfun ĠgetToken Highlight s ( type : ĠI ElementType ?): ĠArray < Text Attributes Key > Ġ= Ġwhen Ġ( type ) Ġ{ Ċĉ ĉ Red P rl Types . COMMA Ġ-> ĠCOM MA _ KEY Ċĉ ĉ Red P rl Types . HASH Ġ-> ĠHASH _ KEY Ċĉ ĉ Red P rl Types . VAR NAME Ġ-> ĠVAR _ NAME _ CALL _ KEY Ċĉ ĉ Red P rl Types . H OL ENAME Ġ-> ĠHO LE _ KEY Ċĉ ĉ Red P rl Types . OP NAME Ġ-> ĠOP _ NAME _ CALL _ KEY Ċĉ ĉ Red P rl Types . SE MI Ġ-> ĠS EM IC OL ON _ KEY Ċĉ ĉ Red P rl Types . DOT Ġ-> ĠDOT _ KEY Ċĉ ĉ Red P rl Types . NUM ER AL Ġ-> ĠNUM ER AL _ KEY Ċĉ ĉ Red P rl Types . LS QUARE , ĠRed P rl Types . RS QUARE Ġ-> ĠBR ACK _ KEY Ċĉ ĉ Red P rl Types . LP AREN , ĠRed P rl Types . RP AREN Ġ-> ĠP AREN _ KEY Ċĉ ĉ Red P rl Types . L BRACK ET , ĠRed P rl Types . R BRACK ET Ġ-> ĠBR ACE _ KEY Ċĉ ĉ Red P rl TokenType . LINE _ COMMENT Ġ-> ĠLINE _ COMMENT _ KEY Ċĉ ĉ Red P rl TokenType . BLOCK _ COMMENT Ġ-> ĠBLOCK _ COMMENT _ KEY Ċĉ ĉ in ĠOPER ATORS Ġ-> ĠOPER ATOR _ KEY Ċĉ ĉ in ĠKEY WORDS Ġ-> ĠKEY WORD _ KEY Ċĉ ĉ else Ġ-> Ġempty Array () Ċ ĉ } Ċ } Ċ Ċ class ĠRed P rl Color Settings Page Ġ: ĠRed P rl Generated Color Settings Page () Ġ{ Ċ ĉ private Ġcompanion Ġobject ĠDescriptor Holder Ġ{ Ċĉ ĉ private Ġval ĠDESCRIP T ORS Ġ= ĠarrayOf ( Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" red pr l . highlighter . settings . meta - decl "), ĠRed P rl Highlight er . META _ VAR _ DECL ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" red pr l . highlighter . settings . meta - call "), ĠRed P rl Highlight er . META _ VAR _ CALL ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" red pr l . highlighter . settings . var - decl "), ĠRed P rl Highlight er . VAR _ NAME _ DECL ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" red pr l . highlighter . settings . var - call "), ĠRed P rl Highlight er . VAR _ NAME _ CALL ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" red pr l . highlighter . settings . op - decl "), ĠRed P rl Highlight er . OP _ NAME _ DECL ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" red pr l . highlighter . settings . op - call "), ĠRed P rl Highlight er . OP _ NAME _ CALL ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" red pr l . highlighter . settings . hash "), ĠRed P rl Highlight er . HASH ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . keyword "), ĠRed P rl Highlight er . KEYWORD ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . number "), ĠRed P rl Highlight er . NUM ER AL ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . hole "), ĠRed P rl Highlight er . HO LE ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . sem icolon "), ĠRed P rl Highlight er . SE MIC OL ON ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . comma "), ĠRed P rl Highlight er . COMMA ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . dot "), ĠRed P rl Highlight er . DOT ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . operator "), ĠRed P rl Highlight er . OPERATOR ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . paren "), ĠRed P rl Highlight er . PAREN ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . bracket "), ĠRed P rl Highlight er . BRACK ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . brace "), ĠRed P rl Highlight er . BRACE ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . line - comment "), ĠRed P rl Highlight er . LINE _ COMMENT ), Ċĉĉ ĉ Attributes Descriptor ( TT Bundle . message (" tt . highlighter . settings . block - comment "), ĠRed P rl Highlight er . BLOCK _ COMMENT )) ĊĊĉ ĉ private Ġval ĠADD ITION AL _ DESCRIPT ORS Ġ= Ġmap Of ( Ċĉĉ ĉ " MD " Ġto ĠRed P rl Highlight er . META _ VAR _ DECL , Ċĉĉ ĉ " MC " Ġto ĠRed P rl Highlight er . META _ VAR _ CALL , Ċĉĉ ĉ " VD " Ġto ĠRed P rl Highlight er . VAR _ NAME _ DECL , Ċĉĉ ĉ " VC " Ġto ĠRed P rl Highlight er . VAR _ NAME _ CALL , Ċĉĉ ĉ " OD " Ġto ĠRed P rl Highlight er . OP _ NAME _ DECL , Ċĉĉ ĉ " OC " Ġto ĠRed P rl Highlight er . OP _ NAME _ CALL , Ċĉĉ ĉ " H " Ġto ĠRed P rl Highlight er . HO LE ) Ċ ĉ } ĊĊ ĉ override Ġfun Ġget Additional Highlighting Tag To Descriptor Map () Ġ= ĠADD ITION AL _ DESCRIPT ORS Ċ ĉ override Ġfun Ġget Attribute Descriptors () Ġ= ĠDESCRIP T ORS Ċ ĉ @ Language (" HTML ") Ċ ĉ override Ġfun Ġget Demo Text () Ġ= Ġ""" Ċ // ĠJ Ġrule Ġdefinition Ċ the orem Ġ< OD > J </ OD >(< MD ># l </ MD >: Ġlvl ) Ġ: ĊĠ Ġ(-> ĊĠĠ Ġ[< VD > ty </ VD > Ġ: Ġ( U Ġ< MC ># l </ MC > Ġkan )] ĊĠĠ Ġ/* Ġignored Ġsome Ġtrivial Ġparts Ġ*/ ĊĠĠ Ġ(${ '$ '} Ġfam Ġx Ġp )) Ċ by Ġ{ ĊĠ Ġ< H >? check - this - out </ H >; ĊĠ Ġlam Ġ< VD > ty </ VD > Ġ< VD > a </ VD > Ġ< VD > fam </ VD > Ġ< VD > d </ VD > Ġ< VD > x </ VD > Ġ< VD > p </ VD > Ġ=> ĊĠĠĠĠ Ġ` (< OC > J / coe </ OC > Ġ( dim Ġ 1 ) Ġ< VC > ty </ VC > Ġ< VC > a </ VC > Ġ< VC > fam </ VC > Ġ< VC > d </ VC > Ġ< VC > p </ VC >) Ċ }. Ċ """ Ċ } Ċ