Sign in

    moonrockz/diagrams-plantuml/envelope does not have a README file

    Kind

    pub(all) enum Kind {
    Regex
    Ebnf
    Json
    Yaml
    Activity
    } derive(Eq,
    Debug
    )

    The four supported native diagram kinds.

    Kind::equal

    fn Kind::equal(Kind, Kind) -> Bool

    Kind::not_equal

    fn Kind::not_equal(x : Kind, y : Kind) -> Bool

    Kind::to_repr

    Kind::word

    fn Kind::word(self : Kind) -> String

    The marker word of a kind, as in @start<word>.

    Limits

    pub struct Limits {
    source : Int
    output : Int
    depth : Int
    nodes : Int
    edges : Int
    work : Int
    diagnostics : Int
    } derive(Eq,
    Debug
    )

    Explicit positive bounds for reading, writing and conversion.

    Limits::equal

    fn Limits::equal(Limits, Limits) -> Bool

    Limits::new

    fn Limits::new(source? : Int, output? : Int, depth? : Int, nodes? : Int, edges? : Int, work? : Int, diagnostics? : Int) -> Limits

    Limits::not_equal

    fn Limits::not_equal(x : Limits, y : Limits) -> Bool

    Limits::to_repr

    Limits::valid

    fn Limits::valid(self : Limits) -> Bool

    Line

    pub struct Line {
    number : Int
    offset : Int
    text : String
    newline : String
    role : Role
    } derive(Eq,
    Debug
    )

    One source line between the block markers, without its line break.

    Line::equal

    fn Line::equal(Line, Line) -> Bool

    Line::not_equal

    fn Line::not_equal(x : Line, y : Line) -> Bool

    Line::to_repr

    Line::tokens

    The tokens of a line as one text token plus its line break.

    Role

    pub(all) enum Role {
    Body
    Statement(
    Node
    )
    Continuation
    } derive(Eq,
    Debug
    )

    The role of one source line inside the block.

    Role::equal

    fn Role::equal(Role, Role) -> Bool

    Role::not_equal

    fn Role::not_equal(x : Role, y : Role) -> Bool

    Role::to_repr

    Scan

    pub struct Scan {
    source : String
    kind : Kind?
    name : String?
    head : ReadOnlyArray[
    Node
    ]
    lines : ReadOnlyArray[Line]
    tail : ReadOnlyArray[
    Node
    ]
    statements : ReadOnlyArray[Statement]
    diagnostics : ReadOnlyArray[
    Diagnostic
    ]
    lines_index :
    Lines

    }

    The scanned envelope of one native block.

    Scan::document

    Assemble the lossless document from the scanned envelope and the nodes that a kind reader made for its body lines.

    Scan::line_nodes

    The body nodes for lines with the Statement role, and one node per body line made by make, in source order.

    Scan::span

    fn Scan::span(self : Scan, start : Int, end : Int) ->
    Span

    Scan::title

    fn Scan::title(self : Scan) -> String?

    The title of the block, if it has one. The last title wins.

    Statement

    pub(all) enum Statement {
    Title(String)
    Caption(String)
    Header(String)
    Footer(String)
    Legend(ReadOnlyArray[String])
    Skinparam(ReadOnlyArray[String])
    Style(ReadOnlyArray[String])
    Skin(String)
    Scale(String)
    Hide(String)
    Pragma(String)
    Option(String)
    } derive(Eq,
    Debug
    )

    One retained presentation or metadata statement. Library themes and options paint the diagram; these values are inert author data.

    Statement::equal

    fn Statement::equal(Statement, Statement) -> Bool

    Statement::lines

    fn Statement::lines(self : Statement) -> Array[String]

    The canonical text of a metadata statement, one line per entry, without line breaks at the end.

    Statement::not_equal

    fn Statement::not_equal(x : Statement, y : Statement) -> Bool

    diagnostic_codes

    let diagnostic_codes : ReadOnlyArray[String]

    The stable diagnostic codes of envelope scanning.

    has_preprocessor_call

    fn has_preprocessor_call(text : String) -> Bool

    True when text calls a preprocessor function such as %date().

    java_trim

    fn java_trim(text : String) -> String

    text without leading and trailing code units up to U+0020, as Java String.trim removes them.

    kind_of_word

    fn kind_of_word(word : String) -> Kind?

    scan

    fn scan(source : String, limits? : Limits) -> Scan

    Scan one native block. Multiple blocks, wrong end markers and text outside the block are errors, never a partial result.

    scan_body

    fn scan_body(kind : Kind, body : String, limits? : Limits) -> Scan

    Scan a raw body of an explicit kind, without block markers. Every line is a body line or a shared statement, with offsets into body.

    trim

    fn trim(text : String) -> String

    text without leading and trailing spaces, tabs and byte-order marks.

    Source Files

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io