Hello,
I often find that sequence diagrams become quickly complex and less readable if we have many participiants and levels of indentation..
In my sequence diagram, I often reproduce a callstack so it is important to be able to fold/unfold easily in the editor. There are certainly editors which help with indentation but I think this is not really friendly.
So I use a python which interprets this kind of format:
participants = ["Participant1 as P1", "Participant2 as P2", "Participant3 as P3"]
stack = [
"f1->ret", [
"f2->x", [
"f3", [
"alt true", [
"P2.f4->ret",
"P2.f5->ret"
],
"else", [
"P3.f6->ret"
]
]
]
]
]
It wil generate this diagram

A few comments about the syntax:
- When we switch participant the syntax is "Participant.function"
- When we reamin on the same participant; then just write "function"
- if you want to show the return value then : Participant.function -> ret
- When we remain on the same participant but there are several lifelines, then Iit uses different colors.
What do you think ?
Maybe such a tool already exist ? Now I can generate complex diagrams without being lost...
Of course it works fine with callstacks but the syntax can be adapted, I just showed an example to get the idea.