Guilherme Carreiro
0b3d518e81
[ruby/error_highlight] Rename the `ErrorHighlight::DefaultFormatter` setting to `max_snippet_width` for clarity
...
https://github.com/ruby/error_highlight/commit/e13cbd4335
2024-10-24 00:29:20 +00:00
Guilherme Carreiro
e9ba6c2ea4
[ruby/error_highlight] Adjust truncation, add opt-out mechanism, rename methods, and prepare error highlighting to render on extremely small screens
...
https://github.com/ruby/error_highlight/commit/c565340958
2024-10-23 00:58:50 +00:00
Guilherme Carreiro
e7c9dfb3e9
[ruby/error_highlight] Handle very long lines with errors in the middle of the line
...
https://github.com/ruby/error_highlight/commit/0657bc1afa
2024-10-23 00:58:50 +00:00
Guilherme Carreiro
5aa8b9e3b5
[ruby/error_highlight] Handle very long lines
...
https://github.com/ruby/error_highlight/commit/383490a4b4
2024-10-23 00:58:50 +00:00
Luke Gruber
2a0ee408af
[ruby/error_highlight] Fix error with prism when method given no arguments
...
such as:
p = Proc.new
This now matches the RubyVM::AbstractSyntaxTree behavior, which is
not to highlight anything.
https://github.com/ruby/error_highlight/commit/d5c592a1ba
2024-09-24 13:28:01 +00:00
Adam Hess
4b1e852d3e
[ruby/error_highlight] Prism added node_id and Node#breadth_first_search in the 1.0 release. These methods are required for Prism to be able to find the method from the backtrace.
...
https://github.com/ruby/prism/blob/main/CHANGELOG.md#100---2024-08-28
In practice you will likely only end up in this situation if you previously had pre-1.0 prism installed and upgrade Ruby to a version with Prism as the default parser.
https://github.com/ruby/error_highlight/commit/cb574daf62
2024-09-24 15:33:31 +09:00
Kevin Newton
c1df15c3e6
[PRISM] Use node ids for error highlight
2024-07-11 14:25:54 -04:00
Kevin Newton
51bb5dcd2e
[ruby/error_highlight] Trim trailing spaces in base.rb
...
https://github.com/ruby/error_highlight/commit/8ce3f6f145
2024-06-07 13:28:23 +00:00
Kevin Newton
40ec860de7
[ruby/error_highlight] Support for the prism compiler
...
https://github.com/ruby/error_highlight/commit/69fbacfd49
2024-06-07 13:15:14 +00:00
Kevin Newton
82a4c3af16
Add error for iseqs compiled by prism
2024-02-21 11:44:40 -05:00
Yusuke Endoh
edb8fc24d4
[ruby/error_highlight] Bump version
...
https://github.com/ruby/error_highlight/commit/942a723d32
2023-12-09 08:34:08 +00:00
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
https://github.com/ruby/error_highlight/commit/0a4db7da0a
2023-01-13 08:25:09 +00:00
Yusuke Endoh
d019c3a4bd
[ruby/error_highlight] Bump version
...
https://github.com/ruby/error_highlight/commit/5275078dc6
2022-11-14 06:37:33 +00:00
Yusuke Endoh
8bfd4dd4e1
[ruby/error_highlight] Enable ErrorHighlight for TypeError/ArgumentError only after Ruby 3.2
...
... because changing TypeError#message and ArgumentError#message is
highly incompatible.
https://github.com/ruby/error_highlight/commit/39aa897c7a
2022-11-14 06:06:12 +00:00
Yusuke Endoh
4e728486b9
[ruby/error_highlight] Bump version
...
https://github.com/ruby/error_highlight/commit/59c291cce1
2022-11-08 08:07:39 +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
https://github.com/ruby/error_highlight/commit/0b1b650a59
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
2022-10-31 04:58:38 +00:00
Yusuke Endoh
6bcb473d9c
[ruby/error_highlight] Apply ErrorHighlight::CoreExt to TypeError and ArgumentError
...
https://github.com/ruby/error_highlight/commit/defcaf1beb
2022-08-19 18:34:15 +09:00
Yusuke Endoh
d9f1b8baa3
[ruby/error_highlight] Add a note about the current limitation of ErrorHighlight.spot
...
https://github.com/ruby/error_highlight/commit/489ce80a62
2022-08-12 14:04:41 +09:00
Yusuke Endoh
1b32a4c7bb
[ruby/error_highlight] Bump version
...
https://github.com/ruby/error_highlight/commit/6edf0a0a5d
2022-08-10 21:51:51 +09:00
Yusuke Endoh
3a58009066
[ruby/error_highlight] Make backtrace_location keyword work
...
We had to keep backtrace_location before opts is overwritten.
https://github.com/ruby/error_highlight/commit/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.
https://github.com/ruby/error_highlight/commit/22d1dd7824
2022-08-10 18:37:13 +09:00
Yusuke Endoh
f075be3dcb
[ruby/error_highlight] Use Exception#detailed_message instead of overriding #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
2022-06-07 17:40:19 +09:00
Christian Boos
11b1ebe606
[ruby/error_highlight] Fix the spurious TypeError.
...
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
2022-01-04 23:09:01 +09:00
Yusuke Endoh
d5019949b5
[ruby/error_highlight] Bump version
...
https://github.com/ruby/error_highlight/commit/ae3053686f
2021-12-23 12:56:07 +09:00
Yusuke Endoh
52b1c76534
Manually sync d2140d795a
2021-12-19 04:13:14 +09:00
Yusuke Endoh
acac2b8128
Make RubyVM::AbstractSyntaxTree.of raise for backtrace location in eval
...
This check is needed to fix a bug of error_highlight when NameError
occurred in eval'ed code.
https://github.com/ruby/error_highlight/pull/16
The same check for proc/method has been already introduced since
64ac984129
.
2021-12-19 03:51:37 +09:00
Yusuke Endoh
dc46529b64
[ruby/error_highlight] Ignore all syscall errors
...
At least, Error::ENOTSUP may be raised on some extreme environments
https://github.com/ruby/error_highlight/commit/2787983ff7
2021-11-30 13:49:04 +09:00
Yusuke Endoh
4c32fcb84f
[ruby/error_highlight] Make the formatter mechanism support Ractor
...
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
2021-10-27 11:29:20 +09:00
Yusuke Endoh
cad83fa3c4
ast.c: Rename "save_script_lines" to "keep_script_lines"
...
... as per ko1's preference. He is preparing to extend this feature to
ISeq for his new debugger. He prefers "keep" to "save" for this wording.
This API is internal and not included in any released version, so I
change it in advance.
2021-08-20 16:18:36 +09:00
Masataka Pocke Kuwabara
242f024bcb
[ruby/error_highlight] Keep it work if paren exists after receiver
...
https://github.com/ruby/error_highlight/commit/b79d679bbd
2021-07-31 22:15:16 +09:00
Yusuke Endoh
5fd5d71a4b
[ruby/error_highlight] Support a file that has no final newline
...
https://github.com/ruby/error_highlight/commit/9d671284cb
2021-07-13 16:54:17 +09:00
Yusuke Endoh
23c8bc367c
[ruby/error_highlight] Support hard tabs
...
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
2021-07-13 16:51:02 +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
https://github.com/ruby/error_highlight/commit/c20efd3961
2021-07-12 16:48:15 +09:00
Yusuke Endoh
3a95834739
[ruby/error_highlight] Suppress SyntaxError during RubyVM::AST.of
...
When the original source code is erb, RubyVM::AST.of does not work well.
https://github.com/rails/rails/issues/42678 .
https://github.com/ruby/error_highlight/commit/b1572761a6
2021-07-02 16:48:20 +09:00
Yusuke Endoh
b6c910e1f4
[ruby/error_highlight] Allow the development version (= master branch) of Ruby 3.1
...
https://github.com/ruby/error_highlight/commit/2dca1446c9
2021-06-30 17:33:57 +09:00
Yusuke Endoh
8ccc257434
Add the gemspec for error_highlight
2021-06-30 14:02:28 +09:00
Yusuke Endoh
6c6b128c67
[ruby/error_highlight] Bump version
...
https://github.com/ruby/error_highlight/commit/8d483c251e
2021-06-30 13:36:31 +09:00
Yusuke Endoh
ca4e5b1eb3
[ruby/error_highlight] Reconsider the API of ErrorHighlight.spot
...
https://github.com/ruby/error_highlight/commit/acb2046a82
2021-06-30 12:49:27 +09:00
Yusuke Endoh
f428ced69c
[ruby/error_highlight] Experimentally support a custom formatter
...
https://github.com/ruby/error_highlight/commit/f40a1de20e
2021-06-30 12:49:18 +09:00
Yusuke Endoh
db7e9b1aac
[ruby/error_highlight] Add some comments
...
https://github.com/ruby/error_highlight/commit/e0c90c72c3
2021-06-30 11:46:47 +09:00
Yusuke Endoh
9438c99590
Rename error_squiggle to error_highlight
2021-06-29 23:45:49 +09:00