1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// Copyright 2021 - 2021, Rupansh Sekar and the Kilogramme (TBD) contributors
// SPDX-License-Identifier: MPL-2.0
use lazy_static::lazy_static;
use regex::Regex;

// OwO
pub const FACES: [&str; 15] = [
    "(・`ω´・)",
    ";;w;;",
    "owo",
    "UwU",
    ">w<",
    "^w^",
    "( ^ _ ^)∠☆",
    "(ô_ô)",
    "~:o",
    ";____;",
    "(*^*)",
    "(>_<)",
    "(♥_♥)",
    "*(^O^)*",
    "((+_+))",
];

type OwoRep = (Regex, &'static str);
lazy_static! {
    pub static ref RLW1: OwoRep = (Regex::new(r"(r|l)").unwrap(), "w");
    pub static ref RLW2: OwoRep = (Regex::new(r"(R|L)").unwrap(), "W");
    pub static ref RLW3: OwoRep = (Regex::new(r"(R|L)").unwrap(), "W");
    pub static ref RLW4: OwoRep = (Regex::new(r"(r|l)").unwrap(), "w");
    pub static ref NYR1: OwoRep = (Regex::new(r"n([aeiouaeiou])").unwrap(), r"ny$1");
    pub static ref NYR2: OwoRep = (Regex::new(r"n([aeiou])").unwrap(), r"ny$1");
    pub static ref NYR3: OwoRep = (Regex::new(r"N([aeiouAEIOU])").unwrap(), r"Ny$1");
    pub static ref NYR4: OwoRep = (
        Regex::new(r"N([aeiouAEIOU])").unwrap(),
        r"Ny$1"
    );
    pub static ref FACE_REG1: Regex = Regex::new(r"!+").unwrap();
}
pub const OVEUV1: (&str, &str) = ("ove", "uv");
pub const OVEUV2: (&str, &str) = ("ove", "uv");

// Zalgo
pub const ZALG_TOP: [&str; 46] = [
    " ̍", " ̎", " ̄", " ̅", " ̿", " ̑", " ̆", " ̐", " ͒", " ͗", " ͑", " ̇", " ̈", " ̊", " ͂", " ̓", " ̈́", " ͊", " ͋",
    " ͌", " ̃", " ̂", " ̌", " ͐", " ́", " ̋", " ̏", " ̽", " ̉", " ͣ", " ͤ", " ͥ", " ͦ", " ͧ", " ͨ", " ͩ", " ͪ", " ͫ",
    " ͬ", " ͭ", " ͮ", " ͯ", " ̾", " ͛", " ͆", " ̚",
];
pub const ZALG_MID: [&str; 21] = [
    " ̕", " ̛", " ̀", " ́", " ͘", " ̡", " ̢", " ̧", " ̨", " ̴", " ̵", " ̶", " ͜", " ͝", " ͞", " ͟", " ͠", " ͢", " ̸",
    " ̷", " ͡",
];
pub const ZALG_BOT: [&str; 39] = [
    " ̗", " ̘", " ̙", " ̜", " ̝", " ̞", " ̟", " ̠", " ̤", " ̥", " ̦", " ̩", " ̪", " ̫", " ̬", " ̭", " ̮", " ̯", " ̰",
    " ̱", " ̲", " ̳", " ̹", " ̺", " ̻", " ̼", " ͅ", " ͇", " ͈", " ͉", " ͍", " ͎", " ͓", " ͔", " ͕", " ͖", " ͙", " ͚",
    " ",
];

// Stretch
lazy_static! {
    pub static ref STRETCH_REG: Regex = Regex::new(r"([aeiouAEIOUaeiouAEIOU])").unwrap();
}