Feature #19019
openNicely formatted exception messages in HTML
Description
We have made a lot of improvements to exception formatting. See https://bugs.ruby-lang.org/issues/18296 for details.
I'd like us to consider adding support for HTML formatting of messages, e.g.
or something to that effect.
Another option is to convert terminal style errors to html by converting control characters. However, I'm less optimistic about parsing sequences like ^^^^^ to apply a style to the above line.
Maybe it's sufficient when highlight: true is specified to avoid ^^^^^ characters.
When I've personally implemented this in the past, I've used a formatting object, e.g.
The formatter has a rich interface for printing, and uses a set of abstractions to map to the underlying output.
e.g.
formatter.puts(:exception, "NoMethodError", :reset, ": ", :message, "undefined method 'bar' for ", :object, "#<Foo...>")
formatter.puts(:code, "x = foo", :error, ".bar, :reset)
This can be easily mapped to HTML, XTerm, plain text, json, etc.