Keep Markdown source editable in the composer
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 2.1k
- Forks
- 153
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
### Feature summary
Use a Discord-style Markdown editor that renders formatting while keeping the Markdown source markers visible and editable.
### What problem are you trying to solve?
The GitHub Copilot app composer now renders Markdown as WYSIWYG, but it hides the source syntax after applying formatting. This affects all of the Markdown forms I tested:
- Inline code hides its backticks.
- Bold, italic, and strikethrough hide their asterisks, underscores, or tildes.
- Headings and blockquotes hide their `#` and `>` markers.
- Ordered, unordered, and task lists hide their list markers, including when used inside blockquotes.
- Fenced multiline code blocks are not rendered as WYSIWYG at all.
- Links show only the label from `[label](URL)`. The parentheses, URL, and all other link syntax are completely hidden.
The rendered result can look correct, and task-list checkboxes remain clickable, but the underlying Markdown is difficult or impossible to inspect, change, or remove. Links are especially problematic because there is no visible indication of the destination URL or an obvious way to edit it.
Nested blockquotes entered as `> >` also do not render at the correct nesting level.
### Proposed solution
Render Markdown formatting while preserving its source markers in the editable text, similar to Discord. Keep backticks, asterisks, underscores, tildes, heading markers, list markers, quote markers, link destinations, and code fences visible and directly editable while still showing the resulting formatting.
Add WYSIWYG rendering for fenced multiline code blocks while keeping their fences visible. Interactive behavior such as clickable task-list checkboxes should remain. Formatting should also be reversible by deleting or changing the visible Markdown rather than requiring users to select text and guess its current state.
Nested blockquotes should render at the correct nesting level.
### Workflow impact
This would make formatting easier to inspect, edit, and undo. It would prevent hidden links and accidental formatting changes, and improve the experience of composing technical messages with code, emphasis, lists, links, headings, and quotes.
### Installation context
GitHub Copilot desktop app composer, current release.
### Additional context
Confirmed affected examples:
````markdown
`code`
**bold**
*italic*
_italic_
~~strikethrough~~
# heading
- unordered item
1. ordered item
- [ ] task item
[link text](https://example.com)
```js
const value = 1;
```
> quote
> > nested quote
> - list inside quote
````
Multiline fenced code blocks currently remain unrendered. Lists inside blockquotes have the same hidden-marker behavior as lists outside blockquotes.
Guía de contribución
Línea de trabajo
Comienza localizando el composer de la aplicación de escritorio GitHub Copilot y su punto de entrada para la edición de Markdown. Reproduce los ejemplos enumerados, incluidos enlaces, bloques de código delimitados por fences, listas de tareas y blockquotes anidados; después, compara el resultado renderizado con el código fuente visible y editable. Se considera completado cuando los marcadores del código fuente siguen siendo editables y el formato, la interacción con las casillas de verificación y la representación de las citas anidadas funcionan como se describe.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- markdown
- Área
- desktop
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100