improvement(rich-markdown-editor): strict inline-mark paste, table column-resize cursor, docs#5455
Conversation
… borders prosemirror-tables toggles a `resize-cursor` class on the editor while the pointer is over a column boundary, but there was no rule to change the cursor — the blue resize handle showed with no cursor affordance. Add the scoped `col-resize` rule.
Cover every rich construct (headings, marks, lists, task lists, blockquote, code block, image, thematic break, table), markdown parsed despite an HTML sibling, multi-block order, read-only rejection, and the defer/verbatim cases for non-markdown input.
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryLow Risk Overview Fixes table column resize UX: when Expands Reviewed by Cursor Bugbot for commit 5581443. Configure here. |
Document the inline rich markdown editor — formatting, structure, lists, tables, code blocks, images, the slash menu, and markdown fidelity — with a rendered overview screenshot.
Greptile SummaryThis PR makes three independent improvements to the rich markdown editor: a one-line CSS bug fix that adds the
Confidence Score: 5/5Safe to merge — all three changes are narrowly scoped, independently correct, and carry no cross-cutting side-effects. The CSS addition is a single, well-scoped rule that fixes a missing cursor affordance without touching any shared selector. The test expansion correctly reclassifies the three inline marks that were previously misassigned and verifies every structural construct the extension gates on. The docs page adds navigation only (the sidebar entry and two cross-links that already exist) with no runtime code changes. No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[ClipboardEvent fires] --> B{Editor editable?}
B -- No --> C[return false]
B -- Yes --> D{Cursor inside code block?}
D -- Yes --> C
D -- No --> E[Read text/plain from clipboard]
E --> F{looksLikeMarkdown?}
F -- No --> C
F -- Yes --> G[Parse via @tiptap/markdown]
G --> H[Insert as rich ProseMirror content]
H --> I[return true]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[ClipboardEvent fires] --> B{Editor editable?}
B -- No --> C[return false]
B -- Yes --> D{Cursor inside code block?}
D -- Yes --> C
D -- No --> E[Read text/plain from clipboard]
E --> F{looksLikeMarkdown?}
F -- No --> C
F -- Yes --> G[Parse via @tiptap/markdown]
G --> H[Insert as rich ProseMirror content]
H --> I[return true]
Reviews (2): Last reviewed commit: "test(rich-markdown-editor): scope paste ..." | Re-trigger Greptile |
…ctually gates Inline-only marks (single-asterisk italic, ~~, single-backtick code) are intentionally not detected by looksLikeMarkdown (single `*` would false-positive on e.g. `*args`); they route through the Markdown extension's own paste path, not MarkdownPaste. Move them from the rich-render cases to the defers-to-default cases so the suite tests the handler it names.
|
@cursor review |
|
@greptile review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 5581443. Configure here.
|
Added a real paste-correctness fix in |
Summary
col-resizecursor on hover. prosemirror-tables toggles aresize-cursorclass on the editor while the pointer is over a column boundary, but there was no CSS rule to change the cursor — the blue resize handle appeared with no cursor affordance. Added one scoped rule (.rich-markdown-prose.resize-cursor { cursor: col-resize }).Type of Change
Testing
col-resize; plugin class present →col-resize; scoped, no leak).Checklist