Age | Commit message (Collapse) | Author |
|
[Feature #16495]
|
|
https://bugs.ruby-lang.org/issues/18285
https://github.com/ruby/ruby/pull/6950
https://github.com/ruby/error_highlight/commit/a7c2da052e
|
|
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
https://github.com/ruby/error_highlight/commit/0a4db7da0a
|
|
These tests were unintentionally disabled by `if false`
https://github.com/ruby/error_highlight/commit/fa6d00d80d
|
|
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
https://github.com/ruby/error_highlight/commit/0b1b650a59
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
|
|
We had to keep backtrace_location before opts is overwritten.
https://github.com/ruby/error_highlight/commit/2735e4681a
|
|
(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.
https://github.com/ruby/error_highlight/commit/22d1dd7824
|
|
#message (https://github.com/ruby/error_highlight/pull/24)
See https://bugs.ruby-lang.org/issues/18564.
Ref: https://github.com/ruby/did_you_mean/pull/177
https://github.com/ruby/error_highlight/commit/671b7c61b2
|
|
filename
Previously, RubyVM::AST.of opened a wrong file if the iseq's file path is spoofed.
```
module Dummy
binding.irb
end
```
```
$ ruby test.rb
From: test.rb @ line 2 :
1: module Dummy
=> 2: binding.irb
3: end
irb(Dummy):001:0> foo
/home/mame/work/ruby/local/lib/ruby/3.1.0/error_highlight/base.rb:412:in `spot_colon2': undefined method `last_lineno' for nil:NilClass (NoMethodError)
if nd_parent.last_lineno == @node.last_lineno
^^^^^^^^^^^^
```
Found by @kateinoigakukun
This issue is already fixed in the interpreter side.
This change just adds a test for the case.
https://github.com/ruby/error_highlight/commit/f3626b9032
|
|
When we have no backtrace locations, we can't have the highlight,
so just return the message.
https://github.com/ruby/error_highlight/commit/9f5c639494
|
|
embedded Ruby
The test fails with the following error:
Error: test_simulate_funcallv_from_embedded_ruby(ErrorHighlightTest): TypeError: wrong argument type nil (expected method)
https://github.com/ruby/error_highlight/commit/52943c9cd2
|
|
Now the formatter configuration is per Ractor. DefaultFormatter is used
if not set.
DefaultFormatter#message_for is now a class method to allow sub-Ractors
to call the method.
https://github.com/ruby/error_highlight/commit/9fbaa8ab7c
|
|
Looks like this bug was hidden by did_you_mean's rescuing any
exceptions.
https://github.com/ruby/error_highlight/commit/7a8f0b4796
|
|
https://github.com/ruby/error_highlight/commit/b79d679bbd
|
|
https://github.com/ruby/error_highlight/commit/25ef7dbeda4f2cfcad1675f70319401ef4916f40#diff-1ce41a048bf2c08aa7bf25b741e9d3a4e08ea03f0d80bc6b8ee6d1c3c259704dR1022
|
|
https://github.com/ruby/error_highlight/commit/8b353a10a7
|
|
https://github.com/ruby/error_highlight/commit/8273d3b6f2
|
|
https://github.com/ruby/error_highlight/commit/9d671284cb
|
|
Now, the highlight line is created by replacing non-tab characters with
spaces, and keeping all hard tabs as-is. This means the highlight line
has the completely same indentation as the code snippet line.
Fixes #7
https://github.com/ruby/error_highlight/commit/38f20fa542
|
|
https://github.com/ruby/error_highlight/commit/2fc70d7f8e
|
|
https://github.com/ruby/error_highlight/commit/f40a1de20e
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4586
|