blob: 5c54432d3d596806c145de2d82551eaac05513ef (
plain)
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
;;; wasp-pronunciation --- Canonical pronunciation -*- lexical-binding: t; -*-
;;; Commentary:
;;; Code:
(require 'dash)
(require 's)
(require 'wasp-utils)
(defconst w/pronunciation-premade ;; funny options
'("LCOLONQ"
"Joel"
"mod clonk"
"Columbo"
"/ɛ:l.kʰɔloʊŋkʰ/"
"Γ Column"
"notgeiser"
"funny magic man"
"Lucius Coloncus Quintilianus"
"rogueliTe"
"Heidy Barnett"
"Krya"
"Laconic"
"Loincloth"
"Costco"
))
(defconst w/pronunciation-part1 ;; the LLLL
'("El"
"Eel"
"El El El El"
"La"
"Le"
"Luh"
"Loo"
"Lo"
"Al"
"All"
"Ale"
"Ail"
"Fifty"
"Long"
"Long Long Long Long"
))
(defconst w/pronunciation-part2 ;; the Colon
'("Colon"
"Cologne"
"Collin"
"Clon"
"Clown"
"Clone"
"Clun"
"Cuhlun"
"See"
"Cloin"
"Coloin"
))
(defconst w/pronunciation-part3 ;; the Q
'("Kuh"
"Queue"
"Kweh"
"Kiu"
"Kiew"
"Coo"
"Kewl"
))
(defun w/pronuciation ()
"Determine the canonical pronunciation of LCOLONQ."
(if (= 0 (random 10))
(w/pick-random w/pronunciation-premade)
(let ((part1 (w/pick-random w/pronunciation-part1))
(part2 (w/pick-random w/pronunciation-part2))
(part3 (w/pick-random w/pronunciation-part3))
(skip1 (= 0 (random 5)))
(skip3 (= 0 (random 5)))
(merge (= 0 (random 2))))
(s-concat
(if skip1 "" (s-concat part1 " "))
part2
(if skip3
""
(if merge
(s-downcase part3)
(s-concat " " part3)))))))
(provide 'wasp-pronunciation)
;;; wasp-pronunciation.el ends here
|