rage_flip 2.0.4 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d6f485e99244abb7875e2af602bb09d4c72b93f33fda68b92c1bd3abfa565a8
4
- data.tar.gz: 3cf10f5f370effdfbcfb2f8facbf0bd71d68d36ae6ab548a222e880d9758df64
3
+ metadata.gz: 93cdce0ce79120f2704e3ae82e994d8ba644d7c5e61404f7d007bfa9195798f9
4
+ data.tar.gz: 281451b4bf2abe3ae6a5e775c2b4b9e1193d7a7e9956569f070ee7e4ba0563db
5
5
  SHA512:
6
- metadata.gz: 3707a91f93008671151a073f9cae23c7b28e3887fd15d2fe0071df991a6b2b2bcec9ed7c33e0504e28d68d8f492cd085d7dd9423fe82fd5fee0c8cac535c4e18
7
- data.tar.gz: 7fcbf5f8bdd1296b6870a7f15ed9c60f79837d6d7fd8f9a4cf79b5b08d0798a71a8a4b2e61c5e186ebdfd4dbe4a5ff7f74eb73d41d761a5b4e9ebc06101c7d14
6
+ metadata.gz: dc1fbc75e8c37c542d5024ef34da974b37e62c507ee91d918762b9791c6be77190b573e66dbc1fb4428a675d7453e2fd22ec6404b26121bf4e62f60786445e8b
7
+ data.tar.gz: bd3c66e1ca9ada06f68f9475e35d6c2b24d8322e9a0020008b4e4ed71838e07dacaff1c062dc5d27096d3d41f8520f529bc26e5ab5b9b92ef9fbb8f4841fd0c1
data/README.md CHANGED
@@ -71,7 +71,9 @@ The emote system provides a comprehensive collection of emoticons, text substitu
71
71
 
72
72
  ```bash
73
73
  emote # List all available emotes
74
- emote list # List all available emotes
74
+ emote list # List all available emotes
75
+ emote categories # List all emote categories
76
+ emote category food # List emotes in the food category
75
77
  emote disapproval # Output: (ಠ_ಠ)
76
78
  emote rage # Output: ಠ益ಠ
77
79
  emote flip # Output: (╯°□°)╯︵ ┻━┻
@@ -127,6 +129,136 @@ emote yuno # Output: ლ(ಠ益ಠლ)
127
129
 
128
130
  All emotes are accessed through the `emote` command followed by the emote name. Use `emote list` to see the complete collection of available emotes.
129
131
 
132
+ #### Multi-Emote Combinations
133
+
134
+ The emote system supports combining multiple emoji-only emotes into compound expressions. This allows you to create custom combinations on the fly:
135
+
136
+ **With Hyphens:**
137
+ ```bash
138
+ emote bullshit-catshit # Output: 🐄💩🐱💩
139
+ emote omg-cat # Output: 😱🐱
140
+ emote dog-panda-cat # Output: 🐶🐼🐱
141
+ ```
142
+
143
+ **Without Separators:**
144
+ ```bash
145
+ emote bullshitcatshit # Output: 🐄💩🐱💩
146
+ emote omgcat # Output: 😱🐱 (also available as a standalone emote)
147
+ emote dogpandacat # Output: 🐶🐼🐱
148
+ ```
149
+
150
+ The system uses dynamic programming to automatically detect and combine emoji-only emotes. Note that:
151
+ - Only emoji-only emotes can be combined (ASCII art emotes like `shrug` or `kungfuhamster` cannot be combined)
152
+ - The longest matching emote names are prioritized
153
+ - If an exact emote name exists (like `omgcat`), it will be used instead of parsing as a combination
154
+
155
+ **Example emoji-only emotes that can be combined:**
156
+ `bullshit`, `catshit`, `dogshit`, `pandashit`, `horseshit`, `koalashit`, `batshit`, `shboatload`, `popcorn`, `omg`, `omgcat`, `deer`, `middlefinger`, `noevil`
157
+
158
+ #### Emote Categories
159
+
160
+ The emote collection is organized into categories to help you discover and browse the 1,600+ available emotes:
161
+
162
+ ```bash
163
+ # List all available categories
164
+ emote categories
165
+ # Shows all categories with descriptions and emote counts
166
+
167
+ # List emotes in a specific category
168
+ emote category food
169
+ # Shows all food & drink related emotes
170
+
171
+ emote category animals
172
+ # Shows all animal & nature emotes
173
+ ```
174
+
175
+ **Available Categories:**
176
+
177
+ - **custom** - Custom ASCII Art and Text Emotes (17 emotes)
178
+ - Classic text-based emotes like `shrug`, `flip`, `disapproval`, `kungfuhamster`
179
+
180
+ - **keyboard** - Keyboard Shortcuts (8 emotes)
181
+ - Mac keyboard symbols: `cmd`, `option`, `shift`, `control`
182
+
183
+ - **smileys** - Smileys & People (215 emotes)
184
+ - Emoji faces and people: `smile`, `laugh`, `wink`, `thumbsup`, `facepalm`, etc.
185
+
186
+ - **animals** - Animals & Nature (210 emotes)
187
+ - Animals, plants, and nature: `cat`, `dog`, `deer`, `tree`, `flower`, etc.
188
+
189
+ - **combined** - Combined/Custom Emotes (9 emotes)
190
+ - Special combinations: `bullshit`, `catshit`, `dogshit`, `omgcat`, etc.
191
+
192
+ - **food** - Food & Drink (132 emotes)
193
+ - Food and beverages: `pizza`, `beer`, `coffee`, `taco`, `popcorn`, etc.
194
+
195
+ - **activity** - Activity (101 emotes)
196
+ - Sports and activities: `soccer`, `basketball`, `running`, `gaming`, etc.
197
+
198
+ - **travel** - Travel & Places (209 emotes)
199
+ - Locations and transportation: `car`, `plane`, `building`, `mountain`, etc.
200
+
201
+ - **objects** - Objects (242 emotes)
202
+ - Everyday objects: `phone`, `computer`, `book`, `gift`, etc.
203
+
204
+ - **symbols** - Symbols (216 emotes)
205
+ - Symbols and signs: `heart`, `star`, `check`, `warning`, etc.
206
+
207
+ - **flags** - Flags (261 emotes)
208
+ - Country and regional flags: `usa`, `canada`, `uk`, `japan`, etc.
209
+
210
+ Use `emote categories` to see the full list with emote counts, or `emote category <name>` to explore emotes within a specific category. This makes it easy to discover new emotes without having to browse the entire collection.
211
+
212
+ #### Custom Emotes
213
+
214
+ You can define your own custom emotes that persist across sessions:
215
+
216
+ ```bash
217
+ # Initialize a custom emote configuration file
218
+ emote init-custom
219
+ # Creates ~/.config/rage_flip/emote.json with sample emotes
220
+
221
+ # List only your custom emotes
222
+ emote list-custom
223
+ # Shows all custom emotes and the config file location
224
+ ```
225
+
226
+ **Configuration Format:**
227
+
228
+ Custom emotes can be defined in either JSON or YAML format:
229
+
230
+ **JSON** (`~/.config/rage_flip/emote.json`):
231
+ ```json
232
+ {
233
+ "myemote": "🎉🎊",
234
+ "team": "👥💪",
235
+ "coffee": "☕"
236
+ }
237
+ ```
238
+
239
+ **YAML** (`~/.config/rage_flip/emote.yml`):
240
+ ```yaml
241
+ myemote: "🎉🎊"
242
+ team: "👥💪"
243
+ coffee: "☕"
244
+ ```
245
+
246
+ Custom emotes:
247
+ - Are automatically merged with built-in emotes
248
+ - Can override built-in emotes (use with caution)
249
+ - Support all emoji and Unicode characters
250
+ - Work with multi-emote combinations if they are emoji-only
251
+ - Persist across terminal sessions and system reboots
252
+
253
+ **Usage:**
254
+ ```bash
255
+ emote myemote # Output: 🎉🎊
256
+ emote coffee # Output: ☕
257
+ emote team-coffee # Multi-emote combination: 👥💪☕
258
+ ```
259
+
260
+ The `init-custom` command creates a sample configuration file with examples to get you started. Edit the file to add your own custom emotes, then use `emote list` to see all available emotes (both built-in and custom) or `emote list-custom` to see only your custom emotes.
261
+
130
262
  ### sarcasm
131
263
 
132
264
  Alternates between uppercase and lowercase characters:
@@ -299,6 +431,16 @@ RageFlip::Emote.process("cmd")
299
431
  RageFlip::Emote.process("shrug")
300
432
  # => "¯\_(ツ)_/¯"
301
433
 
434
+ # Multi-emote combinations
435
+ RageFlip::Emote.process("bullshit-catshit")
436
+ # => "🐄💩🐱💩"
437
+
438
+ RageFlip::Emote.process("bullshitcatshit")
439
+ # => "🐄💩🐱💩"
440
+
441
+ RageFlip::Emote.process("omg-deer-popcorn")
442
+ # => "😱🦌🍿"
443
+
302
444
  RageFlip::Emote.list_emotes
303
445
  # => "Available emotes:\n batshit - 🦇💩\n bugeyes - (⊙_◎)\n..."
304
446
 
@@ -310,6 +452,22 @@ RageFlip::Emote.emote_exists?("rage")
310
452
  RageFlip::Emote.emote_names
311
453
  # => ["disapproval", "bullshit", "catshit", ...]
312
454
 
455
+ # Custom emotes
456
+ RageFlip::Emote.init_custom_config
457
+ # => "Custom emote config initialized: ~/.config/rage_flip/emote.json\nEdit this file..."
458
+
459
+ RageFlip::Emote.list_custom_emotes
460
+ # => "Custom emotes:\n myemote - 🎉🎊\n..."
461
+
462
+ RageFlip::Emote.load_custom_emotes
463
+ # => {"myemote" => "🎉🎊", "team" => "👥💪", ...}
464
+
465
+ RageFlip::Emote.all_emotes
466
+ # => {"disapproval" => "(ಠ_ಠ)", "bullshit" => "🐄💩", "myemote" => "🎉🎊", ...}
467
+
468
+ RageFlip::Emote.refresh_emotes
469
+ # Reloads custom emotes from disk (useful after editing config file)
470
+
313
471
  # Copy to clipboard
314
472
  RageFlip::Clipboard.copy("text to copy")
315
473
  ```
data/exe/emote CHANGED
@@ -19,9 +19,21 @@ if ARGV.length == 1
19
19
  when "init-custom"
20
20
  puts RageFlip::Emote.init_custom_config
21
21
  exit 0
22
+ when "categories"
23
+ puts RageFlip::Emote.list_categories
24
+ exit 0
25
+ when "help", "-h", "--help"
26
+ puts RageFlip::Emote.show_help
27
+ exit 0
22
28
  end
23
29
  end
24
30
 
31
+ # Handle two argument commands
32
+ if ARGV.length == 2 && ARGV[0].downcase == "category"
33
+ puts RageFlip::Emote.list_category(ARGV[1])
34
+ exit 0
35
+ end
36
+
25
37
  # Process multiple emote arguments
26
38
  results = []
27
39
  unknown_emotes = []