Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

136
Visualizações
¿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
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda