@@ -160,9 +160,14 @@ func renderMessage(msg *Message, layout *diagramLayout, chars BoxChars) []string
160160 var lines []string
161161 from , to := layout .participantCenters [msg .From .Index ], layout .participantCenters [msg .To .Index ]
162162
163- if msg .Label != "" {
163+ label := msg .Label
164+ if msg .Number > 0 {
165+ label = fmt .Sprintf ("%d. %s" , msg .Number , msg .Label )
166+ }
167+
168+ if label != "" {
164169 start := min (from , to ) + labelLeftMargin
165- labelWidth := runewidth .StringWidth (msg . Label )
170+ labelWidth := runewidth .StringWidth (label )
166171 w := max (layout .totalWidth , start + labelWidth ) + labelBufferSpace
167172 line := []rune (buildLifeline (layout , chars ))
168173 if len (line ) < w {
@@ -174,7 +179,7 @@ func renderMessage(msg *Message, layout *diagramLayout, chars BoxChars) []string
174179 }
175180
176181 col := start
177- for _ , r := range msg . Label {
182+ for _ , r := range label {
178183 if col < len (line ) {
179184 line [col ] = r
180185 col ++
@@ -226,10 +231,15 @@ func renderSelfMessage(msg *Message, layout *diagramLayout, chars BoxChars) []st
226231 return r
227232 }
228233
229- if msg .Label != "" {
234+ label := msg .Label
235+ if msg .Number > 0 {
236+ label = fmt .Sprintf ("%d. %s" , msg .Number , msg .Label )
237+ }
238+
239+ if label != "" {
230240 line := ensureWidth (buildLifeline (layout , chars ))
231241 start := center + labelLeftMargin
232- labelWidth := runewidth .StringWidth (msg . Label )
242+ labelWidth := runewidth .StringWidth (label )
233243 needed := start + labelWidth + labelBufferSpace
234244 if len (line ) < needed {
235245 pad := make ([]rune , needed - len (line ))
@@ -239,7 +249,7 @@ func renderSelfMessage(msg *Message, layout *diagramLayout, chars BoxChars) []st
239249 line = append (line , pad ... )
240250 }
241251 col := start
242- for _ , c := range msg . Label {
252+ for _ , c := range label {
243253 if col < len (line ) {
244254 line [col ] = c
245255 col ++
0 commit comments