The details

Start...End time (UTC)
2022-09-10 00:30 - 01:00
Language
ja
Description about the talk
Ruby 3.1 has introduced a gem called "error_highlight", which shows a code snippet with an underline to spot where `NameError` or `NoMethodError` was raised. ``` $ ruby test.rb test.rb:1:in `<main>': undefined method `[]' for nil:NilClass (NoMethodError) json[:foo][:bar] ^^^^^^ ``` We will talk about the design and implementation of error_highlight: how it works, why and how we designed it, how we resolved the difficulties we faced during implementation, and the feedback we received. This feature goes further in Ruby 3.2: more error support other than `NameError`/`NoMethodError` and more fine-grained error spotting. We also redesigned its backend by introducing a new API, `Exception#detailed_message`, which allows us to enhance error messages with fewer incompatibilities. In fact, it allowed simple integration with other error message extensions such as did_you_mean and dead_end. We will also talk about what we would like users to help us with to make error_highlight better.