zond-cli 0.6.1

Command-Line Interface (CLI) for the Zond Engine
// Copyright (c) 2026 Erik Lening (hollowpointer) and Contributors
//
// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
// If a copy of the MPL was not distributed with this file, You can obtain one at
// https://mozilla.org/MPL/2.0/.

use colored::Colorize;

use crate::zprint;

const BANNER_0: &str = r#"
            ▒███████▒ ▒█████   ███▄    █ ▓█████▄ 
            ▒ ▒ ▒ ▄▀░▒██▒  ██▒ ██ ▀█   █ ▒██▀ ██▌
            ░ ▒ ▄▀▒░ ▒██░  ██▒▓██  ▀█ ██▒░██   █▌
              ▄▀▒   ░▒██   ██░▓██▒  ▐▌██▒░▓█▄   ▌
            ▒███████▒░ ████▓▒░▒██░   ▓██░░▒████▓ 
            ░▒▒ ▓░▒░▒░ ▒░▒░▒░ ░ ▒░   ▒ ▒  ▒▒▓  ▒ 
            ░░▒ ▒ ░ ▒  ░ ▒ ▒░ ░ ░░   ░ ▒░ ░ ▒  ▒ 
            ░ ░ ░ ░ ░░ ░ ░ ▒     ░   ░ ░  ░ ░  ░ 
              ░ ░        ░ ░           ░    ░    
"#;

const BANNER_1: &str = r#"
           ▄▄▄▄▄▄▄▄    ▄▄▄▄     ▄▄     ▄▄▄   ▄▄▄▄▄▄   
          █▀▀▀▀▀██▀  ▄█▀▀████▄  ██▄   ██▀   █▀██▀▀██  
               ▄█▀   ██    ██   ███▄  ██      ██   ██ 
             ▄█▀     ██    ██   ██ ▀█▄██      ██   ██ 
           ▄█▀    ▄  ██    ██   ██   ▀██    ▄ ██   ██ 
          ████████▀   ▀████▀  ▀██▀    ██    ▀██▀███▀  
"#;

const BANNER_2: &str = r#"
            .-') _                  .-') _  _ .-') _   
           (  OO) )                ( OO ) )( (  OO) )  
         ,(_)----. .-'),-----. ,--./ ,--,'  \     .'_  
         |       |( OO'  .-.  '|   \ |  |\  ,`'--..._) 
         '--.   / /   |  | |  ||    \|  | ) |  |  \  ' 
         (_/   /  \_) |  |\|  ||  .     |/  |  |   ' | 
          /   /___  \ |  | |  ||  |\    |   |  |   / : 
         |        |  `'  '-'  '|  | \   |   |  '--'  / 
         `--------'    `-----' `--'  `--'   `-------'  
"#;

const BANNER_3: &str = r#"
            ______  ______   ___   __    ______      
           /_____/\/_____/\ /__/\ /__/\ /_____/\     
           \:::__\/\:::_ \ \\::\_\\  \ \\:::_ \ \    
              /: /  \:\ \ \ \\:. `-\  \ \\:\ \ \ \   
             /::/___ \:\ \ \ \\:. _    \ \\:\ \ \ \  
            /_:/____/\\:\_\ \ \\. \`-\  \ \\:\/.:| | 
            \_______\/ \_____\/ \__\/ \__\/ \____/_/ 
"#;

const BANNER_4: &str = r#"
      =/\                 /\=
      / \'._   (\_/)   _.'/ \       (_                   _)
     / .''._'--(o.o)--'_.''. \       /\                 /\
    /.' _/ |`'=/ " \='`| \_ `.\     / \'._   (\_/)   _.'/ \
   /` .' `\;-,'\___/',-;/` '. '\   /_.''._'--('.')--'_.''._\
  /.-' jgs   `\(-V-)/`       `-.\  | \_ / `;=/ " \=;` \ _/ |
               "   "               \/  `\__|`\___/`|__/`  \/
                                    `       \(/|\)/       `
                                             " ` "
"#;

pub const NO_RESULTS_0: &str = r#"
                       _  _    ___  _  _                 
                      | || |  / _ \| || |                
                      | || |_| | | | || |_               
                      |__   _| |_| |__   _|              
         _   _  ___ _____|_|__\___/__ |_|  _ _   _ ____  
        | \ | |/ _ \_   _| |  ___/ _ \| | | | \ | |  _ \ 
        |  \| | | | || |   | |_ | | | | | | |  \| | | | |
        | |\  | |_| || |   |  _|| |_| | |_| | |\  | |_| |
        |_| \_|\___/ |_|   |_|   \___/ \___/|_| \_|____/ 
"#;

pub fn print() {
    let output = match rand::random_range(0..=4) {
        0 => format!("{}", BANNER_0.red()),
        1 => format!("{}", BANNER_1.truecolor(255, 165, 0)),
        2 => format!("{}", BANNER_2.green()),
        3 => format!("{}", BANNER_3.blue()),
        _ => format!("{}", BANNER_4.truecolor(80, 80, 100)),
    };
    zprint!("{}", output);
}