Formato incorrecto utilizado al aplicar formato de "texto preformateado" a una selección de varias líneas

Prioridad/Severidad:

Medio

Plataforma

Sistema Operativo

Windows 11

Navegador

Google Chrome 139.0.7258.67

Discourse

dee24bd73b158ba97453f20035eabce430a1abcd

Descripción:

Existen dos estilos de formato de “texto preformateado”:

  • en línea: para usar con contenido que no es prosa dentro de un pasaje de prosa (por ejemplo, “llama a la función foo”), o una sola línea corta de contenido que no es prosa.
  • de bloque: para usar con varias líneas de contenido que no es prosa.

El usuario puede adoptar uno de dos enfoques para aplicar el formato al usar el editor:

  • proactivo: el modo de formato se activa antes de agregar el contenido a formatear.
  • retroactivo: el contenido se agrega sin formato, luego se selecciona y se aplica el formato a esa selección.

:bug: Al usar el editor en el modo “editor de texto enriquecido”, aplicar el formato de “texto preformateado” retroactivamente cuando se seleccionan varias líneas aplica el estilo en línea. Esto hace que la publicación sea difícil de leer y que el contenido que no es prosa sea difícil de copiar (un requisito común para el código compartido).

Pasos para reproducir:

  1. Abre el editor.

  2. Coloca el interruptor del modo editor en la posición “editor de texto enriquecido”.

  3. Agrega el siguiente contenido a la publicación:

    void setup() {
      // put your setup code here, to run once:
    
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    
    }
    
  4. Selecciona el contenido de la publicación.

  5. Haz clic en el botón </> en la barra de herramientas del editor.

:bug: Cada una de las líneas seleccionadas se formateó individualmente en el estilo en línea:

void setup() {

// put your setup code here, to run once:

}

void loop() {

// put your main code here, to run repeatedly:

}

El comportamiento correcto habría sido colocar el contenido en un solo bloque de código:

void setup() {

  // put your setup code here, to run once:



}



void loop() {

  // put your main code here, to run repeatedly:



}

Contexto adicional

El editor de Markdown tiene el comportamiento correcto de colocar el contenido seleccionado en un bloque de código cuando el formato de “texto preformateado” se aplica retroactivamente a una selección de varias líneas.


Puedo reproducir la falla en try.discourse.org en “modo seguro”.

5 Me gusta

Gracias por el informe de errores, puedo reproducirlo.

Trabajaremos en una solución.

5 Me gusta

¿Puedes volver a probar cuando tengas oportunidad, por favor?

Hemos realizado algunas mejoras en esta PR: DEV: make formatCode action more context-aware on rich editor by renato · Pull Request #35362 · discourse/discourse · GitHub

Confirmo que la publicación ahora está formateada como se esperaba cuando realizo el procedimiento proporcionado en el informe.

¡Muchas gracias por la corrección @renato, y por tomarte el tiempo de publicar una actualización aquí!

1 me gusta