Skip to main content

Crate graphs_tui

Crate graphs_tui 

Source
Expand description

graphs-tui - Terminal renderer for Mermaid and D2 diagrams

§Mermaid Flowchart Example

use graphs_tui::{render_mermaid_to_tui, RenderOptions};

let input = "flowchart LR\nA[Start] --> B[End]";
let output = render_mermaid_to_tui(input, RenderOptions::default()).unwrap();
println!("{}", output);

§State Diagram Example

use graphs_tui::{render_state_diagram, RenderOptions};

let input = "stateDiagram-v2\n    [*] --> Idle\n    Idle --> Running";
let output = render_state_diagram(input, RenderOptions::default()).unwrap();
println!("{}", output);

§Pie Chart Example

use graphs_tui::{render_pie_chart, RenderOptions};

let input = "pie\n    \"Chrome\" : 65\n    \"Firefox\" : 35";
let output = render_pie_chart(input, RenderOptions::default()).unwrap();
println!("{}", output);

§D2 Example

use graphs_tui::{render_d2_to_tui, RenderOptions};

let input = "A -> B: connection";
let output = render_d2_to_tui(input, RenderOptions::default()).unwrap();
println!("{}", output);

§Sequence Diagram Example

use graphs_tui::{render_sequence_diagram, RenderOptions};

let input = "sequenceDiagram\n    Alice->>Bob: Hello\n    Bob-->>Alice: Hi!";
let output = render_sequence_diagram(input, RenderOptions::default()).unwrap();
println!("{}", output);

§Auto-detect Format

use graphs_tui::{render_diagram, RenderOptions};

let mermaid_input = "flowchart LR\nA --> B";
let d2_input = "A -> B";

// Automatically detects format
let _ = render_diagram(mermaid_input, RenderOptions::default());
let _ = render_diagram(d2_input, RenderOptions::default());

Structs§

Edge
An edge connecting two nodes
Graph
The complete graph structure
Node
A node in the flowchart
RenderOptions
Options for rendering the diagram
Subgraph
A subgraph/group of nodes

Enums§

DiagramFormat
Diagram format
Direction
Flow direction for the diagram
EdgeStyle
Style of an edge/link
MermaidError
Errors that can occur during mermaid parsing/rendering
NodeShape
Shape of a node

Functions§

detect_format
Detect the diagram format from input
render_d2_to_tui
Render D2 diagram syntax to terminal-displayable text
render_diagram
Render diagram with auto-detection of format
render_mermaid_to_tui
Render mermaid flowchart syntax to terminal-displayable text
render_pie_chart
Render mermaid pie chart to terminal-displayable text
render_sequence_diagram
Render mermaid sequence diagram to terminal-displayable text
render_state_diagram
Render mermaid state diagram to terminal-displayable text

Type Aliases§

NodeId
Node identifier type