Project

General

Profile

Β« Previous | Next Β» 

Revision a50df1ab

Added by schneems (Richard Schneeman) about 3 years ago

Setup SyntaxSuggest as default gem

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

close #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.

Note: Previously this tool was named dead_end.

Known issuesΒΆ

  • 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.