module Parser::Lexer::Explanation
def decorate(range, token, info)
def decorate(range, token, info) from, to = range.begin.column, range.end.column line = range.source_line + ' ' line[from...to] = Color.underline(line[from...to]) tail_len = to - from - 1 tail = '~' * (tail_len >= 0 ? tail_len : 0) decoration = "#{" " * from}#{Color.red("^#{tail}", bold: true)} #{token} ". ljust(68) + info [ line, decoration ] end