UTF Railroad
Generate text railroad diagrams in rust.
Usage
use ;
Output:
╭───────╮ ┏━━━━━━━━┓
╟──│ Hello │──┃ World! ┃──╢
╰───────╯ ┗━━━━━━━━┛
Examples
JSON Number:
╭───╮ ╭───╮ ╭───╮ ╭───────╮ ╭───╮ ╭───╮ ╭───────╮
╟──┬│ - │┬──┬──────────│ 0 │───────────┬──┬│ . │──┬│ digit │┬┬──┬┬│ e │┬──┬┬│ + │┬┬──┬│ digit │┬┬──╢
│╰───╯│ │ ╰───╯ │ │╰───╯ │╰───────╯││ ││╰───╯│ ││╰───╯││ │╰───────╯││
╰─────╯ │╭───────────╮ ╭───────╮ │ │ ╰1+ times─╯│ ││╭───╮│ ││╭───╮││ ╰1+ times─╯│
╰│ digit 1-9 │──┬│ digit │┬╯ ╰──────────────────╯ │╰│ E │╯ │╰│ - │╯│ │
╰───────────╯ │╰───────╯│ │ ╰───╯ │ ╰───╯ │ │
╰0+ times─╯ │ ╰───────╯ │
╰───────────────────────────────╯
JSON String:
╭───╮ ╭──────────────────────────────────────────────────────────╮ ╭───╮
╟──│ " │──┬┬│ Any unicode character except " or \ or control character │┬┬──│ " │──╢
╰───╯ ││╰──────────────────────────────────────────────────────────╯││ ╰───╯
││ ╭───╮ ╭───╮ ││
│╰──────────│ \ │──┬────────────│ " │─────────────┬───────────╯│
│ ╰───╯ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ \ │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ / │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ b │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ f │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ n │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ r │─────────────┤ │
│ │ ╰───╯ │ │
│ │ ╭───╮ │ │
│ ├────────────│ t │─────────────┤ │
│ │ ╰───╯ │ │
│ │╭───╮ ╭───────────────────╮ │ │
│ ╰│ u │──┬│ hexadecimal digit │┬╯ │
│ ╰───╯ │╰───────────────────╯│ │
│ ╰───────4 times───────╯ │
╰───────────────────────────0+ times───────────────────────────╯