mars-terminal 0.3.2

A terminal editor, multiplexer, and built-in AI agent in one binary — non-modal and Emacs-compatible, with tmux-style persistent sessions.
//! MARS banner — generated by mars_banner.py. Do not edit by hand.
//!
//! Lines carry truecolor SGR escapes (`\x1b[38;2;r;g;bm` … `\x1b[0m`).
//! `print_banner` emits them raw (for a real terminal); the TUI splash parses
//! them into ratatui spans via `ui::ansi_to_line`.

pub const BANNER_LINES: &[&str] = &[
    "      \x1b[38;2;138;148;148m·              \x1b[38;2;36;128;122m+              \x1b[38;2;138;148;148m·             *            ·            \x1b[38;2;16;92;92m·\x1b[0m",
    "                                              \x1b[38;2;16;92;92m·               \x1b[38;2;244;228;214m▄▄▄▄▄▄▄▄    \x1b[38;2;206;213;218m·\x1b[0m",
    "   \x1b[38;2;238;168;122m███\x1b[38;2;16;92;92m╗   \x1b[38;2;238;168;122m███\x1b[38;2;16;92;92m╗  \x1b[38;2;238;168;122m█████\x1b[38;2;16;92;92m╗  \x1b[38;2;238;168;122m██████\x1b[38;2;16;92;92m╗  \x1b[38;2;238;168;122m███████\x1b[38;2;16;92;92m╗                  \x1b[38;2;226;136;94m█\x1b[38;2;238;168;122m█\x1b[38;2;246;208;176m███\x1b[38;2;238;168;122m█\x1b[38;2;246;208;176m█\x1b[38;2;238;168;122m██\x1b[38;2;226;136;94m█\x1b[38;2;210;106;64m▓\x1b[38;2;186;84;46m▓\x1b[38;2;126;45;26m▒\x1b[38;2;98;35;22m░\x1b[0m",
    "   \x1b[38;2;226;136;94m████\x1b[38;2;16;92;92m╗ \x1b[38;2;226;136;94m████\x1b[38;2;16;92;92m║ \x1b[38;2;226;136;94m██\x1b[38;2;16;92;92m╔══\x1b[38;2;226;136;94m██\x1b[38;2;16;92;92m╗ \x1b[38;2;226;136;94m██\x1b[38;2;16;92;92m╔══\x1b[38;2;226;136;94m██\x1b[38;2;16;92;92m╗ \x1b[38;2;226;136;94m██\x1b[38;2;16;92;92m╔════╝        \x1b[38;2;138;148;148m·       \x1b[38;2;158;62;34m▒\x1b[38;2;238;168;122m█\x1b[38;2;246;208;176m███████\x1b[38;2;238;168;122m█\x1b[38;2;226;136;94m██\x1b[38;2;186;84;46m▓\x1b[38;2;158;62;34m▒\x1b[38;2;126;45;26m▒▒\x1b[38;2;98;35;22m░░\x1b[0m",
    "   \x1b[38;2;210;106;64m██\x1b[38;2;16;92;92m╔\x1b[38;2;210;106;64m████\x1b[38;2;16;92;92m╔\x1b[38;2;210;106;64m██\x1b[38;2;16;92;92m║ \x1b[38;2;210;106;64m███████\x1b[38;2;16;92;92m║ \x1b[38;2;210;106;64m██████\x1b[38;2;16;92;92m╔╝ \x1b[38;2;210;106;64m███████\x1b[38;2;16;92;92m╗            \x1b[38;2;206;213;218m∙   \x1b[38;2;226;136;94m█\x1b[38;2;238;168;122m██\x1b[38;2;246;208;176m█████\x1b[38;2;238;168;122m██\x1b[38;2;226;136;94m█\x1b[38;2;186;84;46m▓\x1b[38;2;158;62;34m▒\x1b[38;2;126;45;26m▒▒\x1b[38;2;98;35;22m░░░\x1b[0m",
    "   \x1b[38;2;186;84;46m██\x1b[38;2;16;92;92m║╚\x1b[38;2;186;84;46m██\x1b[38;2;16;92;92m╔╝\x1b[38;2;186;84;46m██\x1b[38;2;16;92;92m║ \x1b[38;2;186;84;46m██\x1b[38;2;16;92;92m╔══\x1b[38;2;186;84;46m██\x1b[38;2;16;92;92m║ \x1b[38;2;186;84;46m██\x1b[38;2;16;92;92m╔══\x1b[38;2;186;84;46m██\x1b[38;2;16;92;92m╗ ╚════\x1b[38;2;186;84;46m██\x1b[38;2;16;92;92m║               \x1b[38;2;158;62;34m▒\x1b[38;2;226;136;94m█\x1b[38;2;238;168;122m██\x1b[38;2;226;136;94m███\x1b[38;2;238;168;122m██\x1b[38;2;226;136;94m███\x1b[38;2;186;84;46m▓\x1b[38;2;98;35;22m░░░░░░░\x1b[0m",
    "   \x1b[38;2;158;62;34m██\x1b[38;2;16;92;92m║ ╚═╝ \x1b[38;2;158;62;34m██\x1b[38;2;16;92;92m║ \x1b[38;2;158;62;34m██\x1b[38;2;16;92;92m║  \x1b[38;2;158;62;34m██\x1b[38;2;16;92;92m║ \x1b[38;2;158;62;34m██\x1b[38;2;16;92;92m║  \x1b[38;2;158;62;34m██\x1b[38;2;16;92;92m║ \x1b[38;2;158;62;34m███████\x1b[38;2;16;92;92m║       ·        \x1b[38;2;186;84;46m▓\x1b[38;2;158;62;34m▒\x1b[38;2;186;84;46m▓\x1b[38;2;210;106;64m▓▓\x1b[38;2;186;84;46m▓\x1b[38;2;210;106;64m▓\x1b[38;2;158;62;34m▒\x1b[38;2;186;84;46m▓▓\x1b[38;2;158;62;34m▒▒\x1b[38;2;126;45;26m▒▒\x1b[38;2;98;35;22m░░░░\x1b[0m",
    "   \x1b[38;2;16;92;92m╚═╝     ╚═╝ ╚═╝  ╚═╝ ╚═╝  ╚═╝ ╚══════╝             \x1b[38;2;36;128;122m◣  \x1b[38;2;98;35;22m░░\x1b[38;2;126;45;26m▒\x1b[38;2;98;35;22m░░\x1b[38;2;126;45;26m▒▒\x1b[38;2;98;35;22m░░░░░░░░░░░\x1b[0m",
    "                                 \x1b[38;2;16;92;92m·   ∙   \x1b[38;2;36;128;122m∙  •  \x1b[38;2;74;178;166m• ≈≈\x1b[38;2;158;228;216m≋≈\x1b[38;2;206;213;218m▐█\x1b[38;2;74;178;166m●\x1b[38;2;206;213;218m█\x1b[38;2;226;136;94m▶ \x1b[38;2;98;35;22m░░░░░░░░░░░░░░\x1b[0m",
    "                                                      \x1b[38;2;36;128;122m◤       \x1b[38;2;98;35;22m▀▀▀▀▀▀▀▀\x1b[0m",
    "           \x1b[38;2;138;148;148m·                 \x1b[38;2;16;92;92m*                 \x1b[38;2;138;148;148m·                      +\x1b[0m",
    " \x1b[38;2;36;128;122m───  \x1b[38;2;232;217;200mMission control for your terminal  \x1b[38;2;36;128;122m───             \x1b[38;2;16;92;92m·              \x1b[38;2;138;148;148m·\x1b[0m",
];

/// Emit the banner to a real terminal (raw ANSI) — used by `mars version`.
pub fn print_banner() {
    for line in BANNER_LINES {
        println!("{line}");
    }
}