pretty function

Colorize pretty(
  1. Token token
)

Implementation

Colorize pretty(Token token) => switch (token.type) {
  TokenType.kIf ||
  TokenType.kElseIf ||
  TokenType.kElse ||
  TokenType.kFor ||
  TokenType.kWhile ||
  TokenType.kDo ||
  TokenType.kRepeat ||
  TokenType.kFunc ||
  TokenType.kEnd ||
  TokenType.kIn ||
  TokenType.kThen ||
  TokenType.kColon => Colorize(token.lexeme).yellow(),
  TokenType.kComma ||
  TokenType.kDot ||
  TokenType.kEQ ||
  TokenType.kNEQ ||
  TokenType.kGT ||
  TokenType.kGTE ||
  TokenType.kLT ||
  TokenType.kLTE ||
  TokenType.kLParen ||
  TokenType.kRParen ||
  TokenType.kLBracket ||
  TokenType.kRBracket ||
  TokenType.kLCurly ||
  TokenType.kRCurly ||
  TokenType.kConcat => Colorize(token.lexeme).lightGray(),
  TokenType.kAdd ||
  TokenType.kSub ||
  TokenType.kDiv ||
  TokenType.kDivFloor ||
  TokenType.kMult ||
  TokenType.kCarrot ||
  TokenType.kBitAnd ||
  TokenType.kBitOr ||
  TokenType.kBitNot => Colorize(token.lexeme).magenta(),
  TokenType.kReturn ||
  TokenType.kBreak ||
  TokenType.kAssign ||
  TokenType.kLocal ||
  TokenType.kNot ||
  TokenType.kAnd ||
  TokenType.kOr => Colorize(token.lexeme).green(),
  TokenType.kTrue ||
  TokenType.kFalse ||
  TokenType.kNil ||
  TokenType.kSelf => Colorize(token.lexeme).lightBlue(),
  TokenType.kNumber => Colorize(token.lexeme).lightCyan(),
  TokenType.kString => Colorize('"${token.lexeme}"').bold().yellow(),
  TokenType.kLineComment ||
  TokenType.kBlockComment => Colorize(token.lexeme).darkGray(),
  _ => Colorize(token.lexeme).white(),
};