use chbs::{component::{phrase::BasicPhraseBuilder, word::{FixedWordSetProvider, WordCapitalizer}}, entropy::{Entropy, HasEntropy}, prelude::WordStyler, probability::Probability, scheme::Scheme, word::WordList}; fn main() { let wordlist = WordList::builtin_eff_general_short(); let provider = FixedWordSetProvider::new(wordlist.sampler(), 6); let capitalizer = WordCapitalizer::new(Probability::Sometimes(0.3), Probability::Sometimes(0.8)); let builder = BasicPhraseBuilder::new("✨".into()); let scheme = Scheme::new( Box::new(provider), vec![Box::new(capitalizer), Box::new(Terezifier{})], Box::new(builder), Vec::new(), ); println!("{}", scheme.generate()); } #[derive(Debug)] struct Terezifier {} impl WordStyler for Terezifier { fn style_word(&self, word: String) -> String { word.replace(&['i', 'I'], "1") .replace(&['e', 'E'], "3") .replace(&['a', 'A'], "4") } } impl HasEntropy for Terezifier { fn entropy(&self) -> Entropy { Entropy::one() } }