ruby / ruby/error_highlight

JRuby support

Ouverte
#72 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Ruby
Étoiles
155
Forks
37
Merge moyen
4 j 2 h
PR mergées (30 j)
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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par les quatre utilisations spécifiques à CRuby listées dans lib/error_highlight/base.rb, en particulier les appels à RubyVM::AbstractSyntaxTree et la branche Prism::Node. Cherchez à déterminer si Prism peut fournir les informations AST nécessaires à partir du backtrace ou si des méthodes spécifiques à JRuby sont requises, puis vérifiez que les fonctionnalités de mise en évidence des exceptions du gem fonctionnent sur JRuby.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
ruby
Domaine
devtools
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.