Trailing comma in AST
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Empieza leyendo cómo Prism maneja ArrayNode y HashNode y cómo rubyfmt consume el AST de Prism. Investiga si la presencia de una coma final puede representarse para estos nodos sin cambiar el comportamiento de formateo existente. Se considera terminado cuando se documente una recomendación concreta sobre si Prism debería rastrear esta información.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
For background, Stripe uses rubyfmt to format Ruby. One thing rubyfmt doesn't have today is trailing commas: all trailing commas are stripped by formatting, which is the preference of the maintainers of that project.
For a while I've wished for something like "rubyfmt + trailing commas." Before it even makes sense to have the conversation about whether to make that change, I was thinking through what it would even look like in practice. One thing which would make things easier to adopt would be if rubyfmt could run in a mode that preserves trailing commas, rather than universally adding or removing them (you could migrate slices of a codebase at a time, instead of having to land a PR touching hundreds of thousands of files all at once).
rubyfmt now uses prism for parsing Ruby files, and prism omits information about whether various constructs had trailing commas.
I was curious to get a temperature check on whether this is something that prism would ever want to see tracked. For example, in ArrayNode or in HashNode, to have some way to know that the user had written a trailing comma.
This is a very "what if" sort of line of thought, so please don't feel rushed to answer, and also I completely understand if the answer is definitively "that's not something prism is open to incorporating."
- Lenguaje dominante
- C
- Estrellas
- 1k
- Forks
- 194
- Merge medio
- 2 d 6 h
- PR fusionados (30 d)
- 15
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ruby/prism
-
Revisit comments Abiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
-
java
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Release official Java API Abiertojava
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
java
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Todos los issues de ruby/prism
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
bradcypert/plum#53 ·
-
Component: GLib
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Status: Opened
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
nextbsd/nextbsd-userland#285 ·