Crate gabble

Source
Expand description

Generate random pronounceable words.

§Quickstart

Gabble provides type Gab and GabLength that represents a random pseudo-word. These types implement Distribution trait which means they can be generated in an idomatic way by using method from rand::Rng such as gen().

§Example

use rand::{rng, Rng};
let mut rng = rng();

// `Gab` gives gibberish of some moderate length
use gabble::Gab;
let word: Gab = rng.random();
println!("{} might be answer to life", word);

// `GabLength` gives gibberish of minimum N length
use gabble::GabLength;
let word: GabLength<14> = rng.random();
println!("{} is a long word", word);

Gab and GabLength can be treated as string as they simply deref to String.

§Custom Generation

Additionally there is Gabble type which can be used to generate pseudo-words with a bit more customization. You can tweak length, starting and ending syllable for now.

§Example

use gabble::Gabble;
use gabble::Syllable::{Alphabet, Consonant};
use rand::rng;
let mut rng = rng();

let gabble = Gabble::new()
    .with_length(10)
    .starts_with(Alphabet)
    .ends_with(Consonant);
println!("customized answer to life is {}", gabble.generate(&mut rng));

These pseudo-words are generated by combining vowel and consonant syllables together. This crate is mostly inspired from python package called gibberish

Structs§

Gab
Pseudo-word of moderate length ( 6 to 15 chars )
GabLength
Pseudo-word of some specified minimum length N
Gabble
Generator type used for generating custom variant of pseudo-word

Enums§

Syllable
Enum to represent available kind of syllables