detee-cli/src/name_generator.rs
2025-06-25 19:20:31 +05:30

383 lines
6.2 KiB
Rust

#![allow(dead_code)]
// SPDX-License-Identifier: Apache-2.0
use rand::Rng;
pub fn random_app_name() -> String {
let mut rng = rand::thread_rng();
let random_index = rng.gen_range(0..APP_ADJECTIVES.len());
let adjective = APP_ADJECTIVES[random_index].to_string();
let random_index = rng.gen_range(0..APP_SUBSTANTIVES.len());
let substantive = APP_SUBSTANTIVES[random_index].to_string();
let app_name = adjective + "-" + &substantive;
eprintln!("No app name specified! Using random app name: {}", app_name);
app_name
}
pub fn random_vm_name() -> String {
let mut rng = rand::thread_rng();
let random_index = rng.gen_range(0..77);
let adjective = VM_ADJECTIVES[random_index].to_string();
let random_index = rng.gen_range(0..97);
let substantive = VM_SUBSTANTIVES[random_index].to_string();
let vm_name = adjective + "-" + &substantive;
eprintln!("No hostname specified! Using random VM name: {}", vm_name);
vm_name
}
const VM_ADJECTIVES: [&str; 77] = [
"ancient",
"arcane",
"astromech",
"brave",
"celestial",
"chaotic",
"charismatic",
"cloaked",
"commanding",
"cosmic",
"cruel",
"cursed",
"malefic",
"defiant",
"devious",
"divine",
"dreadful",
"enchanted",
"energetic",
"eternal",
"ethereal",
"explosive",
"elegant",
"fearsome",
"fierce",
"forbidden",
"fragile",
"frozen",
"futuristic",
"galactic",
"glorious",
"grim",
"haunted",
"heroic",
"hyperspace",
"immortal",
"imperial",
"infernal",
"intergalactic",
"intrepid",
"legendary",
"luminous",
"magical",
"majestic",
"merciless",
"mighty",
"mysterious",
"mystic",
"mystical",
"mythical",
"noble",
"planetary",
"powerful",
"primal",
"radiant",
"rebel",
"relentless",
"resolute",
"ruthless",
"sacred",
"savage",
"sensitive",
"shadowy",
"shimmering",
"starry",
"stealthy",
"strategic",
"swift",
"tactical",
"treacherous",
"undying",
"unyielding",
"vengeful",
"villainous",
"wicked",
"wondrous",
"wretched",
];
const VM_SUBSTANTIVES: [&str; 97] = [
"axe",
"bed",
"bag",
"bit",
"blade",
"hobo",
"blanket",
"blender",
"bolt",
"bowl",
"broom",
"brush",
"bucket",
"cabinet",
"caliper",
"candle",
"chain",
"chair",
"charger",
"chisel",
"clock",
"compass",
"couch",
"foot",
"crowbar",
"curtain",
"door",
"drill",
"faucet",
"file",
"fork",
"frame",
"dog",
"cat",
"fridge",
"grinder",
"hammer",
"handle",
"hanger",
"hinge",
"holster",
"iron",
"kettle",
"knife",
"lamp",
"basket",
"lever",
"mallet",
"mattress",
"microwave",
"mirror",
"mop",
"mug",
"nail",
"pan",
"pickaxe",
"pillow",
"plane",
"plate",
"pot",
"bar",
"punch",
"ratchet",
"river",
"rug",
"bottle",
"jar",
"ruler",
"mailbox",
"sandpaper",
"saw",
"scissors",
"screw",
"screwdriver",
"shears",
"shelf",
"shovel",
"sink",
"soap",
"socket",
"spanner",
"sponge",
"spoon",
"stapler",
"stove",
"table",
"tape",
"thermometer",
"toaster",
"towel",
"trashcan",
"trowel",
"vacuum",
"vase",
"vice",
"whetstone",
"wrench",
];
const APP_ADJECTIVES: [&str; 100] = [
"active",
"adaptable",
"adventurour",
"affectionate",
"alert",
"artistic",
"assertive",
"boundless",
"brave",
"broad-minded",
"calm",
"capable",
"careful",
"caring",
"cheerful",
"clever",
"comfortable",
"communicative",
"compassionate",
"conscientious",
"considerate",
"courageous",
"creative",
"curous",
"decisive",
"determined",
"diligent",
"dynamic",
"eager",
"energetic",
"entertaining",
"enthusiastic",
"exuberant",
"expressive",
"fabulous",
"fair-minded",
"fantastic",
"fearless",
"flexible thinker",
"frank",
"friendly",
"funny",
"generous",
"gentle",
"gregarious",
"happy",
"hard working",
"helpful",
"hilarious",
"honest",
"imaginative",
"independent",
"intellectual",
"intelligent",
"intuitive",
"inventive",
"joyous",
"kind",
"kind-hearted",
"knowledgable",
"level-headed",
"lively",
"loving",
"loyal",
"mature",
"modest",
"optimistic",
"outgoing",
"passionate",
"patient",
"persistent",
"philosophical",
"polite",
"practical",
"pro-active",
"productive",
"quick-witted",
"quiet",
"rational",
"receptive",
"reflective",
"reliable",
"resourceful",
"responsible",
"selective",
"self-confident",
"sensible",
"sensitive",
"skillful",
"straightforward",
"successful",
"thoughtful",
"trustworthy",
"understanding",
"versatile",
"vivacious",
"warm-hearted",
"willing",
"witty",
"wonderful",
];
const APP_SUBSTANTIVES: [&str; 70] = [
"kitten",
"puppy",
"bunny",
"hamster",
"chinchilla",
"goldfish",
"parakeet",
"duckling",
"fawn",
"piglet",
"lamb",
"foal",
"guinea-pig",
"hedgehog",
"squirrel",
"otter",
"panda-cub",
"koala",
"meerkat",
"ferret",
"turtle",
"chick",
"mouse",
"pony",
"seal",
"sloth",
"raccoon",
"calf",
"cub",
"joey",
"gerbil",
"sugar-glider",
"chickadee",
"parrotlet",
"pika",
"dove",
"lemur",
"red-panda",
"budgie",
"axolotl",
"penguin chick",
"shrew",
"fennec-fox",
"opossum",
"fox-kit",
"vole",
"dormouse",
"finch",
"canary",
"lovebird",
"seahorse",
"starfish",
"penguin",
"ladybug",
"butterfly",
"firefly",
"quokka",
"capybara",
"dachshund",
"newt",
"tadpole",
"salamander",
"cricket",
"corgi",
"pomeranian",
"maltese",
"cockatiel",
"chameleon",
"gecko",
"zebra",
];