-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlibgosay_bubble.go
101 lines (92 loc) · 2.86 KB
/
libgosay_bubble.go
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
98
99
100
101
package libgosay
// BubbleDef is for defined the bubble structure
// That cane be done manually or using a pre configured structure
type BubbleDef struct {
Before [3]rune
OneLine [3]rune
FirstLine [3]rune
Lines [3]rune
LastLine [3]rune
After [3]rune
Tail rune
}
// Speak define a speaking bubble structure
func (b *BubbleDef) Speak() {
b.Before = [3]rune{' ', '_', ' '}
b.OneLine = [3]rune{'<', ' ', '>'}
b.FirstLine = [3]rune{'/', ' ', '\\'}
b.Lines = [3]rune{'|', ' ', '|'}
b.LastLine = [3]rune{'\\', ' ', '/'}
b.After = [3]rune{' ', '-', ' '}
b.Tail = '\\'
}
// Think define a thinking bubble structure
func (b *BubbleDef) Think() {
b.Before = [3]rune{' ', '_', ' '}
b.OneLine = [3]rune{'(', ' ', ')'}
b.FirstLine = [3]rune{'(', ' ', ')'}
b.Lines = [3]rune{'(', ' ', ')'}
b.LastLine = [3]rune{'(', ' ', ')'}
b.After = [3]rune{' ', '-', ' '}
b.Tail = 'o'
}
// ThinkUTF8 define a thinking bubble structure but in UTF-8
func (b *BubbleDef) ThinkUTF8() {
b.Before = [3]rune{' ', '⁀', ' '}
b.OneLine = [3]rune{'(', ' ', ')'}
b.FirstLine = [3]rune{'(', ' ', ')'}
b.Lines = [3]rune{'(', ' ', ')'}
b.LastLine = [3]rune{'(', ' ', ')'}
b.After = [3]rune{' ', '‿', ' '}
b.Tail = 'o'
}
// Whisper define a whisp bubble structure
func (b *BubbleDef) Whisper() {
b.Before = [3]rune{' ', '.', ' '}
b.OneLine = [3]rune{':', ' ', ':'}
b.FirstLine = [3]rune{':', ' ', ':'}
b.Lines = [3]rune{':', ' ', ':'}
b.LastLine = [3]rune{':', ' ', ':'}
b.After = [3]rune{' ', '.', ' '}
b.Tail = '*'
}
// WhisperUTF8 define a whisp bubble structure but in UTF-8
func (b *BubbleDef) WhisperUTF8() {
b.Before = [3]rune{'◜', '╌', '◝'}
b.OneLine = [3]rune{'╎', ' ', '╎'}
b.FirstLine = [3]rune{'╎', ' ', '╎'}
b.Lines = [3]rune{'╎', ' ', '╎'}
b.LastLine = [3]rune{'╎', ' ', '╎'}
b.After = [3]rune{'◟', '╌', '◞'}
b.Tail = '⋱'
}
// Narrative define a narrative text structure
func (b *BubbleDef) Narrative() {
b.Before = [3]rune{'=', '=', '='}
b.OneLine = [3]rune{'|', ' ', '|'}
b.FirstLine = [3]rune{'|', ' ', '|'}
b.Lines = [3]rune{'|', ' ', '|'}
b.LastLine = [3]rune{'|', ' ', '|'}
b.After = [3]rune{'=', '=', '='}
b.Tail = ' '
}
// BigBoxUTF8 define a narrative text structure with a big box
func (b *BubbleDef) BigBoxUTF8() {
b.Before = [3]rune{'┏', '━', '┓'}
b.OneLine = [3]rune{'┃', ' ', '┃'}
b.FirstLine = [3]rune{'┃', ' ', '┃'}
b.Lines = [3]rune{'┃', ' ', '┃'}
b.LastLine = [3]rune{'┃', ' ', '┃'}
b.After = [3]rune{'┗', '━', '┛'}
b.Tail = ' '
}
// AsianBoxUTF8 define a narrative text structure with asian style
func (b *BubbleDef) AsianBoxUTF8() {
b.Before = [3]rune{'㇛', '㇐', '㇕'}
b.OneLine = [3]rune{'㇑', ' ', '㇑'}
b.FirstLine = [3]rune{'㇑', ' ', '㇑'}
b.Lines = [3]rune{'㇑', ' ', '㇑'}
b.LastLine = [3]rune{'㇑', ' ', '㇑'}
b.After = [3]rune{'㇗', '㇐', '㇘'}
b.Tail = ' '
}