Keep Markdown source editable in the composer
- 主要语言
- 没有语言数据
- 星标
- 2.1k
- 派生
- 153
- PR 合并指标
- 30 天内没有已合并 PR
描述
### 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.
贡献指南
调研方向
首先定位 GitHub Copilot 桌面应用的 composer 及其 Markdown 编辑入口。复现列出的示例,包括链接、由 fences 包围的代码块、任务列表和嵌套 blockquote,然后将渲染结果与可见且可编辑的源代码进行比较。当源代码标记仍可编辑,并且格式化、复选框交互和嵌套引用渲染都按描述正常工作时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- markdown
- 领域
- desktop
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100