Tilde sfuggite nel nuovo editor rich text sono buggate

Quando si scrive un paragrafo che contiene codice inline delimitato da due o più tilde nell’editor di testo rich text per eseguire l’escape delle tilde interne, la digitazione di tilde successive (all’esterno) non funziona come previsto. Nello specifico, se ho del testo che usa una ` (tilde) in questo modo, premere nuovamente il tasto \u003ckbd\u003e\`\u003c/kbd\u003e più tardi nello stesso paragrafo fa sì che l’intervallo di codice inline venga attivato/disattivato.

Anche la tilde con escape ` è problematica.

Copia e incolla quanto segue nell’editor di testo rich text per replicarlo:

Quando si scrive un paragrafo che contiene codice inline delimitato
da due o più tilde nell'editor di testo rich text per eseguire l'escape delle tilde interne, la digitazione di tilde successive (all'esterno) non funziona come previsto.
Nello specifico, se ho del testo che `` usa una ` (tilde) `` in questo modo,
premere nuovamente il tasto \u003ckbd\u003e\\`\u003c/kbd\u003e più tardi nello stesso paragrafo
fa sì che l'intervallo di codice inline venga attivato/disattivato.

Anche la tilde con escape ` è problematica.
1 Mi Piace

Questo è un caso difficile, \ non riceve alcuna semantica speciale da quanto posso dire, viene semplicemente convertito da \ a \\\\ durante il round trip.

@renato potrebbe avere qualche idea qui, caso limite interessante.

1 Mi Piace

Questo dovrebbe essere risolto ora, riesci ancora a riprodurre questo problema eseguendo latest (ad esempio su Meta/Try)?

2 Mi Piace
\\` si comporta ancora in modo un po' strano per me. in particolare \\` diventa \\\\\\` e poi quando guardi aggiungi un altro ` le cose si chiudono.

Sembra davvero difficile da sistemare completamente.

Mi dispiace, non capisco. Il carattere ` non dovrebbe essere usato per l’escape.

In markdown type

\`hello

Then flick to to rich and type

\` 

That creates a code block and technically it should render

`hello`

2 Mi Piace

Questo funziona come previsto, l’escape viene perso durante l’analisi ed è previsto poiché l’escape è un concetto di markdown.

Il modo intenzionale di effettuare l’escape in modalità editor avanzato è premere il tasto backspace dopo che la regola di immissione ha avuto effetto.

1 Mi Piace

Capisco, grazie per aver chiarito

1 Mi Piace

Sì, questo è un po’ meglio, ma è ancora impossibile scrivere codice inline che contenga un ` senza qualche aggiustamento dopo aver sbagliato inizialmente. Non è possibile usare preventivamente più di un `. Digitare quel \u003ckbd\u003e\\u003c/kbd\u003e di cui sopra o il codice escapato che lo crea (``\u003ckbd\u003e\\\u003c/kbd\u003e``) sono esempi perfetti di cose che sono quasi impossibili da fare con la modalità WYSIWYG, anche con aggiustamenti.

Capisco che si possa usare il tasto Backspace per annullare la formattazione e implicitamente “escaparla”, ma ho difficoltà a prevedere quando la formattazione avrà effetto. Ad esempio, `4*5*6` si scrive naturalmente quando è preceduto immediatamente da quel ` aperto, ma non è sempre così. 4*5*6=120 si digita bene ma 120=456 no (il cinque è stato momentaneamente in corsivo lì).

Cosa suggerisci di fare in questi casi specifici? Hai un esempio di un altro prodotto che lo fa in un modo da cui possiamo trarre ispirazione?

Puoi digitare , selezionarlo, quindi digitare `` ocmd+E` per convertirlo in un segno inline.

Puoi premere cmd+E e poi digitare . Puoi usare cmd+E per attivare il segno inline per il carattere successivo durante la digitazione, proprio come puoi fare con cmd+B per il grassetto o cmd+I per il corsivo.

La regola di input \u003ckbd\u003e seleziona automaticamente un carattere vuoto (per evitare che il browser elimini automaticamente un nodo vuoto), quindi devi solo deselezionarlo prima (poiché premere in questo caso crea un segno inline della selezione – potremmo potenzialmente rimuovere quel comportamento, dato che abbiamo cmd+E per questo).

Capisco che questi potrebbero non essere ideali, ma sono i compromessi che abbiamo per tutte le particolarità che abbiamo all’interno di Discourse. Siamo aperti a suggerimenti, se puoi condividere come vorresti che funzionasse invece.

Beh, ho aperto questo argomento quando sembrava che l’abilitazione dell’editor WYSIWYG avrebbe reso quello markdown monospace (cfr Monospace font in the Markdown-only editor - #58 by mbauman ). Sono molto contento che non sia più così e che ora sia configurabile, perché, sì, non ho mai incontrato un editor WYSIWYG markdown che mi piacesse. Ci stiamo avvicinando, però. :slight_smile:

Scrivo molto markdown in molte caselle di testo (sia in contesti renderizzati che non renderizzati, infatti), e so di essere un po’ un’eccezione. Penso, però, che ci sia un gruppo di noi “outlier”, e tendiamo a radunarci nel contesto dei forum di linguaggi di programmazione.