Add inline rich Markdown editing

LA
8d ago
+3069-35

Problem

Markdown preview was read-only, and the raw editor was a separate surface. Formatted editing, tables, links, and saving did not share one document state.

Change

  • New Markdown panels open directly in inline edit mode.
  • Keep the rendered WebKit document as the editing surface and the panel as the single dirty/save owner.
  • Add visible formatting controls and a Table actions menu for inserting tables, rows, columns, deleting rows or columns, and toggling the header row.
  • Add Tab cell navigation and automatic row creation at the end of a table.
  • Add link actions: open in cmux, open in the default browser, copy the URL, and edit the URL or label.
  • Preserve frontmatter and Mermaid/Vega blocks as locked source blocks in rich edit mode.
  • Flush pending edits before Save, Command-S, mode switches, and Revert.
  • Add focused behavior tests for tables, links, line breaks, images, empty documents, and pending edits.

Validation

  • 11 focused inline editor tests pass.
  • TypeScript checking passes.
  • Swift parser checks pass.
  • Localization catalog parity passes for all nine macOS locales.
  • Xcode test wiring passes.
  • Tagged build mdedit-5a6dcd15bc66 succeeded from commit 5ccfb2117f8; the app is installed at the mdedit Tag Opener URL.
  • Live CUA verification confirmed default edit mode, the Table actions menu, adding a row to the demo table, and the link action menu with link editing fields.

Limits

  • Frontmatter and diagrams stay read-only in inline mode.
  • Markdown syntax is normalized on save.
  • Large-document typing performance still needs profiling.