Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

127
Views
¿Cómo puedo conservar los comentarios en mi complemento Prettier personalizado?

Estoy tratando de escribir un complemento Prettier y ya tengo varias piezas de la lógica para reconstruir el código del AST y algunos bits de formato funcionan. Sin embargo, en este momento me está costando mucho entender cómo manejar los comentarios, y parece que no puedo darme cuenta de lo que estoy haciendo mal.

El analizador que estoy usando no conserva los comentarios, así que estoy usando una versión modificada de esta máquina de estado para extraer y adjuntar los comentarios manualmente.

Mi mayor problema es que, si bien los comentarios aparentemente se adjuntan correctamente a los nodos AST según core.js::attachComments() , dicho método también elimina la matriz de comments del nodo raíz AST. Sin embargo, más adelante en comments.js::printCommentsSeparately() , el código verifica si la raíz AST pasada tiene una matriz de comments , y si no, omite cualquier lógica de impresión.

En contexto, eso tiene sentido (en el sentido de "¿por qué intentar imprimir cosas que no están ahí?"), pero mirando el flujo del programa que he rastreado hasta ahora, no entiendo por qué sucede esto o qué puedo hacer. hacer para que mis comentarios se mantengan y lleguen al código de impresión real. En este momento, todo lo que recibo es "Comment xyz was not printed. Please report this error!" excepciones

El orden de llamada que he estado ejecutando:

 core.js::coreFormat() > core.js::attachComments() // removes ast.comments > ast-to-doc.js::printAstToDoc() > ast-to-doc.js::mainPrint() > ast-to-doc.js::mainPrintInternal() > ast-to-doc.js::callPluginPrintFunction() > comments.js::printComments() > comments.js::printCommentsSeparately() // checks for ast.comments

¿Qué me estoy perdiendo? La documentación para el desarrollo de complementos no está exactamente detallada, y no he encontrado ninguna discusión o tema útil en mis búsquedas.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!