You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
14 lines
452 B
14 lines
452 B
require_relative 'ansi_colors'
|
|
|
|
# gather common definitions and functions
|
|
class AnsiCommon
|
|
ANSI_REGEX = /\e\[[0-9;]*m/ # TODO: support for \x1b and \033
|
|
|
|
def self.ansi_trace(trace, symbol)
|
|
match = trace.match(/(↳ )?(.*:\d+)(:in `)?(.*'?)/) # only m2(=file) and m4(=optional function) are useful
|
|
return trace unless match
|
|
|
|
_, m2, _, m4 = match.captures
|
|
"#{symbol} #{m2} #{AnsiColors::BOLD}#{m4.chop}#{AnsiColors::CLEAR}"
|
|
end
|
|
end
|