summaryrefslogtreecommitdiff
path: root/src/gizmo/wasp-pronunciation.el
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