Keep Markdown source editable in the composer
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 2.1k
- Fork
- 153
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
### 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.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách xác định composer của ứng dụng desktop GitHub Copilot và điểm truy cập chỉnh sửa Markdown của nó. Tái hiện các ví dụ được liệt kê, bao gồm liên kết, các khối mã được phân cách bằng fences, danh sách tác vụ và blockquote lồng nhau, sau đó so sánh kết quả đã render với mã nguồn hiển thị có thể chỉnh sửa. Công việc được hoàn tất khi các dấu đánh dấu trong mã nguồn vẫn có thể chỉnh sửa, đồng thời việc định dạng, tương tác với checkbox và hiển thị các trích dẫn lồng nhau hoạt động như mô tả.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- markdown
- Lĩnh vực
- desktop
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100