ruby / ruby/error_highlight

JRuby support

Open
#72 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Ruby
Stars
155
Forks
37
Avg merge
4d 2h
Merged PRs (30d)
1

Description

This gem is unusable on anything but CRuby mostly because it uses the following CRuby-specific features:

lib/error_highlight/base.rb  (4 usages found)
    59           RubyVM::AbstractSyntaxTree.of(loc, keep_script_lines: true)
    70     when RubyVM::AbstractSyntaxTree::Node, Prism::Node
    93     node_id = RubyVM::AbstractSyntaxTree.node_id_for_backtrace_location(location)

We could fix this for JRuby in one of two ways:

  • Switch to the Prism gem where possible. I'm not sure if it can help us get a specific AST node from a backtrace element without reparsing, though. cc @kddnewton
  • Use JRuby-specific methods to access similar internal code structures.

It would be nice if JRuby users could benefit from the features of this gem.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the four CRuby-specific usages listed in lib/error_highlight/base.rb, especially the RubyVM::AbstractSyntaxTree calls and the Prism::Node branch. Investigate whether Prism can provide the needed backtrace AST information or whether JRuby-specific methods are required, then verify that the gem's exception-highlighting features work on JRuby.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.