summaryrefslogtreecommitdiff
path: root/src/gizmo/wasp-pronunciation.el
blob: b8be5012a1e8c04bca7018b2e1f9701bb0a27398 (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
90
91
92
93
94
95
96
97
;;; 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"
     "L Cluster"
     "Love, Chastity, Organized, Love again, Organized again, Nice, Qomputer"
     "Elkhunk"
     "late late late late show with llll colonq"
     "move right and exit"
     "Al Capone"
     "loc"
     ))

(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"
     "Kernel"
     ))

(defconst w/pronunciation-part3 ;; the Q
  '("Kuh"
     "Queue"
     "Kweh"
     "Kiu"
     "Kiew"
     "Coo"
     "Kewl"
     ))

(defun w/pronunciation ()
  "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