Label

class Label

Description

Label for the heading and declaration parts of this node or edge.

Members defined in Label (3 members)

decl

Declaration part of this label.

heading

Heading part of this label.

suffix

Suffix part of this label.

Methods

decl(config: syside.PrinterConfig = ..., heritage: bool = True, feature_value: bool = True, escapes: syside.experimental.viz.Escapes = Escapes.none) → str | None

Declaration part of this label.

This part includes anything not otherwise included by the heading up to the body, and multiline declarations should be left aligned to match the formatted output.

Certain declaration parts can be excluded, for example

# node == `attribute a : A = 2;`
assert node.label.decl() == "a : A = 2"
assert node.label.decl(heritage=False) == "a = 2"
assert node.label.decl(feature_value=False) == "a : A"

config will be used to pretty-print the heading. Note that not all declaration parts are currently implemented.

heading(config: syside.PrinterConfig = ...) → str | None

Heading part of this label.

This part includes relevant keywords, modifiers, and metadata prefixes, all wrapped with guillemets. Headings should be centred.

Examples:

  • «part def»

  • «abstract part def»

  • «#Prefix part def»

config may be used to pretty-print the heading.

suffix() → str | None

Suffix part of this label.

This part currently only contains parallel for parallel states. Similarly to heading, suffix should be centred.

Examples:

  • «parallel»