Skip to content

Commit c61b879

Browse files
Merge branch 'develop' into feature/3250/add_vertline_to_gantt_plot
2 parents 97b79c3 + 9080431 commit c61b879

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

.changeset/sixty-deer-tell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'mermaid': major
3+
---
4+
5+
fix: allow sequence diagram arrows with a trailing colon but no message

packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ accDescr\s*"{"\s* { this.begin("acc_descr_multili
8484
\-\-[x] return 'DOTTED_CROSS';
8585
\-[\)] return 'SOLID_POINT';
8686
\-\-[\)] return 'DOTTED_POINT';
87-
":"(?:(?:no)?wrap:)?[^#\n;]+ return 'TXT';
87+
":"(?:(?:no)?wrap:)?[^#\n;]* return 'TXT';
88+
":" return 'TXT';
8889
"+" return '+';
8990
"-" return '-';
9091
<<EOF>> return 'NEWLINE';

packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2022,4 +2022,20 @@ describe('sequence db class', () => {
20222022
expect(Object.hasOwn(sequenceDb, fun)).toBe(true);
20232023
}
20242024
});
2025+
// This test verifies that messages with a colon but no content (e.g., "Alice->>Bob:")
2026+
// are correctly parsed as valid messages with an empty string as the message content.
2027+
2028+
it('should parse a message with a trailing colon but no content', async () => {
2029+
const diagram = await Diagram.fromText(`
2030+
sequenceDiagram
2031+
Alice->>Bob:
2032+
Bob->>Alice:Got it!
2033+
`);
2034+
2035+
const messages = diagram.db.getMessages();
2036+
expect(messages.length).toBe(2);
2037+
expect(messages[0].message).toBe('');
2038+
expect(messages[0].from).toBe('Alice');
2039+
expect(messages[0].to).toBe('Bob');
2040+
});
20252041
});

0 commit comments

Comments
 (0)