2 个稳定版本
1.1.0 | 2022 年 7 月 3 日 |
---|---|
1.0.0 | 2022 年 7 月 3 日 |
#197 in 可视化
26KB
514 行
UTF Railroad
使用 Rust 生成文本铁路图。
使用方法
use utf_railroad::{Diagram, Terminal, NonTerminal};
fn main() {
let diagram = Diagram::default()
.push(Box::new(Terminal::new("Hello")))
.push(Box::new(NonTerminal::new("World!")))
.gap_size(2);
println!("{}", diagram);
}
输出结果
╭───────╮ ┏━━━━━━━━┓
╟──│ Hello │──┃ World! ┃──╢
╰───────╯ ┗━━━━━━━━┛
示例
JSON 数字
╭───╮ ╭───╮ ╭───╮ ╭───────╮ ╭───╮ ╭───╮ ╭───────╮
╟──┬│ - │┬──┬──────────│ 0 │───────────┬──┬│ . │──┬│ digit │┬┬──┬┬│ e │┬──┬┬│ + │┬┬──┬│ digit │┬┬──╢
│╰───╯│ │ ╰───╯ │ │╰───╯ │╰───────╯││ ││╰───╯│ ││╰───╯││ │╰───────╯││
╰─────╯ │╭───────────╮ ╭───────╮ │ │ ╰1+ times─╯│ ││╭───╮│ ││╭───╮││ ╰1+ times─╯│
╰│ digit 1-9 │──┬│ digit │┬╯ ╰──────────────────╯ │╰│ E │╯ │╰│ - │╯│ │
╰───────────╯ │╰───────╯│ │ ╰───╯ │ ╰───╯ │ │
╰0+ times─╯ │ ╰───────╯ │
╰───────────────────────────────╯
堆叠图
╭────────╮ ╭─────────╮ ╭───────╮ ╭────╮ ╭─────╮ ╭────────╮
╟───│ CREATE │──│ VIRTUAL │──│ TABLE │──┬│ IF │──│ NOT │──│ EXISTS │┬┐┌──╢
╰────────╯ ╰─────────╯ ╰───────╯ │╰────╯ ╰─────╯ ╰────────╯│││
╰───────────────────────────╯││
┌─────────────────────────────────────────────────────────────────┘│
│ ┏━━━━━━━━━━━━━┓ ╭───╮ ┏━━━━━━━━━━━━┓ │
└┬┃ schema-name ┃──│ . │┬──┃ table-name ┃─────────────────────────┐│
│┗━━━━━━━━━━━━━┛ ╰───╯│ ┗━━━━━━━━━━━━┛ ││
╰──────────────────────╯ ││
┌─────────────────────────────────────────────────────────────────┘│
│╭───────╮ ┏━━━━━━━━━━━━━┓ ╭───╮ ┏━━━━━━━━━━━━━━━━━┓ ╭───╮ │
└│ USING │──┃ module-name ┃──┬│ ( │──┬┃ module-argument ┃┬──│ ) │┬─┘
╰───────╯ ┗━━━━━━━━━━━━━┛ │╰───╯ │┗━━━━━━━━━━━━━━━━━┛│ ╰───╯│
│ ╰─────0+ times──────╯ │
╰───────────────────────────────────╯
JSON 字符串
╭───╮ ╭──────────────────────────────────────────────────────────╮ ╭───╮
╟──│ " │──┬┬│ Any unicode character except " or \ or control character │┬┬──│ " │──╢
╰───╯ ││╰──────────────────────────────────────────────────────────╯││ ╰───╯
││ ╭───╮ ╭───╮ ││
│╰──────────│ \ │──┬────────────│ " │─────────────┬───────────╯│
│ ╰───╯ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ \ │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ / │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ b │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ f │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ n │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ r │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ t │─────────────┤ │
│ │ ╰───╯ │ │
│ │╭───╮ ╭───────────────────╮ │ │
│ ╰│ u │──┬│ hexadecimal digit │┬╯ │
│ ╰───╯ │╰───────────────────╯│ │
│ ╰───────4 times───────╯ │
╰───────────────────────────0+ times───────────────────────────╯