lib/exceptions.rb in markdown_exec-2.3.0 vs lib/exceptions.rb in markdown_exec-2.4.0

- old
+ new

@@ -1,14 +1,17 @@ #!/usr/bin/env ruby # frozen_string_literal: true # encoding=utf-8 +require_relative 'ansi_string' + module Exceptions def self.error_handler(name = '', opts = {}, backtrace: $@, format_string: "\nError: %{name} -- %{message}", color_symbol: :red, take_count: 16) - warn(error = format(format_string, - { name: name, message: $! }).send(color_symbol)) + warn(error = AnsiString.new(format(format_string, + { name: name, + message: $! })).send(color_symbol)) if backtrace warn(backtrace.select do |s| s.include? 'markdown_exec' end.reject { |s| s.include? 'vendor' }.take(take_count).map.with_index { |line, ind| " * #{ind}: #{line}" }) end @@ -19,13 +22,13 @@ exit 1 end def self.warn_format(message = '', opts = {}) warn( - error = format( - opts.fetch(:format_string, "\nError: %{error}"), - { error: message } - ).send(opts.fetch(:color_symbol, :yellow)) + error = AnsiString.new(format( + opts.fetch(:format_string, "\nError: %{error}"), + { error: message } + )).send(opts.fetch(:color_symbol, :yellow)) ) # warn(caller.take(4).map.with_index { |line, ind| " * #{ind}: #{line}" }) binding.pry if $tap_enable raise ArgumentError, error unless opts.fetch(:abort, false)