Adds the syntax_suggest syntax error display tool to Ruby through the same mechanism as error_highlight and did_you_mean. Reference ticket: https://bugs.ruby-lang.org/issues/18159
SyntaxSearch's approach of showing syntax errors only works through integration with require, load, autoload, and require_relative (since it monkeypatches them to detect syntax errors). It does not work with direct Ruby file invocations https://github.com/zombocom/dead_end/issues/31.
This causes failure in the test suite (test_expected_backtrace_location_when_inheriting_from_basic_object_and_including_kernel) and confusion when inspecting backtraces if there's a different error when trying to require a file such as measuring memory (https://github.com/zombocom/syntax_suggest/issues/124#issuecomment-1006705016).
Discussed fix. We previously talked about opening up SyntaxError to be monkeypatched in the same way that other gems hook into NoMethodError. This is currently not possible and requires development work. When we last talked about it at RubyKaigi Nobu expressed an ability to make such a change.
Setup SyntaxSuggest as default gem
Adds the
syntax_suggest
syntax error display tool to Ruby through the same mechanism aserror_highlight
anddid_you_mean
. Reference ticket: https://bugs.ruby-lang.org/issues/18159close #4845
What is syntax_suggest?ΒΆ
When a syntax error is raised by requiring a file, dead_end will use a combination of indentation and lexing to identify the problem.
Known issuesΒΆ
require
,load
,autoload
, andrequire_relative
(since it monkeypatches them to detect syntax errors). It does not work with direct Ruby file invocations https://github.com/zombocom/dead_end/issues/31.SyntaxError
to be monkeypatched in the same way that other gems hook intoNoMethodError
. This is currently not possible and requires development work. When we last talked about it at RubyKaigi Nobu expressed an ability to make such a change.