Commit graph

11 commits

Author SHA1 Message Date
Yusuke Endoh
94d6d6d93f [ruby/error_highlight] Identify which node in Foo::Bar::Baz causes a NameError
In Ruby 3.2 or later, a nested constant access like `Foo::Bar::Baz` is
compiled to one instruction by the optimization https://github.com/ruby/ruby/pull/6187

We try to spot which sub-node caues a NameError in question based on the
constant name. We will give up if the same constant name is accessed in
a nested access (`Foo::Foo`).

Fixes https://github.com/ruby/error_highlight/pull/31

0a4db7da0a
2023-01-13 08:25:09 +00:00
eileencodes
350d0aa023 [ruby/error_highlight] Support nodes in spot
Fixes a bug where `spot` was using the wrong local variable.

We want to use error highlight with code that has been eval'd,
specifically ERB templates. We can recover the compiled source code of
the ERB template but we need an API to pass the node into error
highlight's `spot`.

Required Ruby PR: https://github.com/ruby/ruby/pull/6593

0b1b650a59

Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
2022-10-31 04:58:38 +00:00
Yusuke Endoh
d9f1b8baa3 [ruby/error_highlight] Add a note about the current limitation of ErrorHighlight.spot
489ce80a62
2022-08-12 14:04:41 +09:00
Yusuke Endoh
3a58009066 [ruby/error_highlight] Make backtrace_location keyword work
We had to keep backtrace_location before opts is overwritten.

2735e4681a
2022-08-10 21:19:10 +09:00
Yusuke Endoh
99e7fa5b37 [ruby/error_highlight] Make ErrorHighlight.spot accept Exception (https://github.com/ruby/error_highlight/pull/25)
... and move things from core_ext.rb to base.rb.
This will confine CRuby-dependent things to ErrorHighlight.spot.

22d1dd7824
2022-08-10 18:37:13 +09:00
Masataka Pocke Kuwabara
242f024bcb [ruby/error_highlight] Keep it work if paren exists after receiver
b79d679bbd
2021-07-31 22:15:16 +09:00
Yusuke Endoh
5fd5d71a4b [ruby/error_highlight] Support a file that has no final newline
9d671284cb
2021-07-13 16:54:17 +09:00
Yusuke Endoh
8b01d16ad6 [ruby/error_highlight] Stop showing a code snippet if it has non-ascii characters
See https://github.com/ruby/error_highlight/issues/4

c20efd3961
2021-07-12 16:48:15 +09:00
Yusuke Endoh
ca4e5b1eb3 [ruby/error_highlight] Reconsider the API of ErrorHighlight.spot
acb2046a82
2021-06-30 12:49:27 +09:00
Yusuke Endoh
f428ced69c [ruby/error_highlight] Experimentally support a custom formatter
f40a1de20e
2021-06-30 12:49:18 +09:00
Yusuke Endoh
9438c99590 Rename error_squiggle to error_highlight 2021-06-29 23:45:49 +09:00
Renamed from lib/error_squiggle/base.rb (Browse further)