diff --git a/src/diagram.typ b/src/diagram.typ index aafa73b..a16809e 100644 --- a/src/diagram.typ +++ b/src/diagram.typ @@ -3,41 +3,6 @@ #import "core/setup.typ": setup #import "core/utils.typ": fit-canvas, set-ctx -#let gap-render(gap) = set-ctx(ctx => { - ctx.y -= gap.size - return ctx -}) - -#let _gap(size: 20) = { - return (( - type: "gap", - draw: gap-render, - size: size - ),) -} - -#let _evt(participant, event) = { - return (( - type: "evt", - draw: evt-render, - participant: participant, - event: event, - lifeline-style: auto - ),) -} - -#let _col(p1, p2, width: auto, margin: 0, min-width: 0, max-width: none) = { - return (( - type: "col", - p1: p1, - p2: p2, - width: width, - margin: margin, - min-width: min-width, - max-width: max-width - ),) -} - #let diagram(elements, width: auto) = { if elements == none { return diff --git a/src/lib.typ b/src/lib.typ index ccae827..b972768 100644 --- a/src/lib.typ +++ b/src/lib.typ @@ -1,9 +1,8 @@ #let version = version(0, 2, 2) -#import "diagram.typ": diagram, from-plantuml, _gap, _evt, _col +#import "diagram.typ": diagram, from-plantuml #import "sequence.typ": _seq, _ret #import "group.typ": _grp, _loop, _alt, _opt, _break #import "participant.typ": _par -#import "separator.typ": _sep, _delay -#import "note.typ": _note -#import "sync.typ": _sync \ No newline at end of file +#import "misc.typ": _sep, _delay, _sync, _gap, _evt, _col +#import "note.typ": _note \ No newline at end of file diff --git a/src/misc.typ b/src/misc.typ new file mode 100644 index 0000000..9ea0e39 --- /dev/null +++ b/src/misc.typ @@ -0,0 +1,63 @@ +#import "core/draw/delay.typ" +#import "core/draw/separator.typ" +#import "core/draw/sync.typ" + +#let _sep(name) = { + return (( + type: "sep", + draw: separator.render, + name: name + ),) +} + +#let _delay(name: none, size: 30) = { + return (( + type: "delay", + draw: delay.render, + name: name, + size: size + ),) +} + +#let _sync(elmts) = { + return (( + type: "sync", + draw: sync.render, + elmts: elmts + ),) +} + +#let gap-render(gap) = set-ctx(ctx => { + ctx.y -= gap.size + return ctx +}) + +#let _gap(size: 20) = { + return (( + type: "gap", + draw: gap-render, + size: size + ),) +} + +#let _evt(participant, event) = { + return (( + type: "evt", + draw: evt-render, + participant: participant, + event: event, + lifeline-style: auto + ),) +} + +#let _col(p1, p2, width: auto, margin: 0, min-width: 0, max-width: none) = { + return (( + type: "col", + p1: p1, + p2: p2, + width: width, + margin: margin, + min-width: min-width, + max-width: max-width + ),) +} \ No newline at end of file diff --git a/src/participant.typ b/src/participant.typ index 57f0383..1a4b4b2 100644 --- a/src/participant.typ +++ b/src/participant.typ @@ -1,6 +1,6 @@ #import "core/draw/participant.typ" -#let PAR-SPECIALS = "?[]" +#let PAR-SPECIALS = ("?", "[", "]") #let SHAPES = ( "participant", "actor", @@ -50,7 +50,7 @@ } #let _exists(participants, name) = { - if name == "?" or name == "[" or name == "]" { + if name in PAR-SPECIALS { return true } diff --git a/src/separator.typ b/src/separator.typ deleted file mode 100644 index 46815e8..0000000 --- a/src/separator.typ +++ /dev/null @@ -1,19 +0,0 @@ -#import "core/draw/delay.typ" -#import "core/draw/separator.typ" - -#let _sep(name) = { - return (( - type: "sep", - draw: separator.render, - name: name - ),) -} - -#let _delay(name: none, size: 30) = { - return (( - type: "delay", - draw: delay.render, - name: name, - size: size - ),) -} \ No newline at end of file diff --git a/src/sync.typ b/src/sync.typ deleted file mode 100644 index 5d6ce2e..0000000 --- a/src/sync.typ +++ /dev/null @@ -1,9 +0,0 @@ -#import "core/draw/sync.typ" - -#let _sync(elmts) = { - return (( - type: "sync", - draw: sync.render, - elmts: elmts - ),) -}