Commit Graph
7 Commits
Author SHA1 Message Date
buildnwriteandGitHub 72f17665cb fix(mermaid): parse compact labeled links (#85)
Recognize compact Mermaid edge labels without phantom nodes while preserving near-miss operators and chained links, with regression coverage and synchronized plugin version 2.4.8. Fixes #80.
2026-08-18 00:29:46 -07:00
4a769fe3eb fix(mermaid): parse quoted participants, create, and the full sequence arrow vocabulary (#54)
* fix(mermaid): parse quoted participants, create, and the full sequence arrow vocabulary

The shipped sequenceDiagram extractor silently dropped or rejected
Mermaid-valid constructs:

- `participant "Alice Smith"` (quoted name, no alias) vanished from the
  IR because the participant regex only accepted bare [\w.:-]+ ids.
- `participant "Alice Smith" as A` and `actor "Bob Builder" as B`
  lost their quoted display names and aliases.
- `create participant B` directives were ignored.
- Bidirectional messages `A<<->>B` / `A<<-->>B` (Mermaid v11.0+)
  hard-failed with "malformed edge".
- `->` / `-->` (open arrows with no arrowhead per the Mermaid docs)
  were misclassified as filled arrows.
- A message touching a declared `actor` overwrote its shape with
  "lifeline" because endpoints were force-added as lifelines.

The fix expands the participant regex to quoted names (with or without
an `as` alias) plus the `create` prefix, teaches the message regex the
bidirectional and open arrow forms, preserves declared actor shapes, and
classifies open arrows as undirected with no arrowhead. Multi-word
endpoints introduced by quoted declarations resolve correctly while
compact forms like `A-->>B` keep their ids. All forms were verified
against the real Mermaid v11.16.1 parser.

Adds a verification gate covering every form and updates the import
reference to document the supported sequence grammar.

* chore: bump plugin version to 2.4.2

---------

Co-authored-by: Cathryn Lavery <50469282+cathrynlavery@users.noreply.github.com>
Co-authored-by: Cathryn Lavery <cathryn@bestself.co>
2026-08-17 15:00:41 -07:00
Praveen Bishnoi 5f3aa8fdda fix(ci): enable Python UTF-8 mode globally and enforce utf-8 encoding in subprocess verify scripts for Windows 2026-08-12 13:20:58 +05:30
Cathryn Lavery 1387e57bf8 fix(import): support current Mermaid syntax 2026-08-11 21:37:11 -07:00
Matt Van Horn a4be5bed0d fix: parse class suffixes, labeled dotted/thick links, and frontmatter 2026-08-11 19:31:39 -07:00
Matt Van Horn 9e50da6d67 fix: address self-review findings 2026-08-11 19:25:40 -07:00
Matt Van Horn 410e2f6627 fix: address self-review findings 2026-08-11 16:44:04 -07:00