hobostove 0.3.2 → 0.4.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
  SHA1:
3
- metadata.gz: 202739e22e4b0508f6ee61d6ecd51a96cefc2750
4
- data.tar.gz: 40664656c535e01ccddb69ff3102c0c572eddaa3
3
+ metadata.gz: 5a99998cb3ee7829c656778f5b4c494d391d7702
4
+ data.tar.gz: 6ef301b7f432c34759ccf9e00a8ad8665cc6698f
5
5
  SHA512:
6
- metadata.gz: c313f34f3dee20164f6c3d344ebec26f8f7fd62114251a8dc603552810d91a8024d776657e880b3e587ed4874eccd9597d8f17ccddb725e8a278a7b73ae67584
7
- data.tar.gz: 1b173ea78744daabd3f9d3cf811113af6dbfada6add0c020d752755103295654d7de93c78657e0aa35846d1b12bf68bf6a36c0e4ebb7cbb1ea50285893760633
6
+ metadata.gz: 4bccc6131a26b5b269d2b3a7ba985c537accaed649a945f1b9f5a11d833e91e78a74d964cadedcddab90d336d3111c0745b223a3559cb1730150d66a04b737bb
7
+ data.tar.gz: 2022efb7f63dbb0101a8500da41234aebbabe62a2b5259eefead965295515f5c1502529743089418114a2e3fe244591f047d684d4ca7eae975794a62ad017f3d
@@ -0,0 +1,882 @@
1
+ +1,1F44D
2
+ -1,1F44E
3
+ 0,0030 20E3
4
+ 1,0031 20E3
5
+ 100,1F4AF
6
+ 109,
7
+ 1234,1F522
8
+ 2,0032 20E3
9
+ 3,0033 20E3
10
+ 4,0034 20E3
11
+ 5,0035 20E3
12
+ 6,0036 20E3
13
+ 7,0037 20E3
14
+ 8,0038 20E3
15
+ 8ball,1F3B1
16
+ 9,0039 20E3
17
+ a,1F170
18
+ ab,1F18E
19
+ abc,1F524
20
+ abcd,1F521
21
+ accept,1F251
22
+ aerial_tramway,1F6A1
23
+ airplane,2708
24
+ alarm_clock,23F0
25
+ alien,1F47D
26
+ ambulance,1F691
27
+ anchor,2693
28
+ angel,1F47C
29
+ anger,1F4A2
30
+ angry,1F620
31
+ anguished,1F627
32
+ ant,1F41C
33
+ apple,1F34E
34
+ aquarius,2652
35
+ aries,2648
36
+ arrow_backward,25C0
37
+ arrow_double_down,23EC
38
+ arrow_double_up,23EB
39
+ arrow_down,2B07
40
+ arrow_down_small,1F53D
41
+ arrow_forward,25B6
42
+ arrow_heading_down,2935
43
+ arrow_heading_up,2934
44
+ arrow_left,2B05
45
+ arrow_lower_left,2199
46
+ arrow_lower_right,2198
47
+ arrow_right,27A1
48
+ arrow_right_hook,21AA
49
+ arrow_up,2B06
50
+ arrow_up_down,2195
51
+ arrow_up_small,1F53C
52
+ arrow_upper_left,2196
53
+ arrow_upper_right,2197
54
+ arrows_clockwise,1F503
55
+ arrows_counterclockwise,1F504
56
+ art,1F3A8
57
+ articulated_lorry,1F69B
58
+ astonished,1F632
59
+ atm,1F3E7
60
+ b,1F171
61
+ baby,1F476
62
+ baby_bottle,1F37C
63
+ baby_chick,1F424
64
+ baby_symbol,1F6BC
65
+ baggage_claim,1F6C4
66
+ balloon,1F388
67
+ ballot_box_with_check,2611
68
+ bamboo,1F38D
69
+ banana,1F34C
70
+ bangbang,203C
71
+ bank,1F3E6
72
+ bar_chart,1F4CA
73
+ barber,1F488
74
+ baseball,26BE
75
+ basketball,1F3C0
76
+ bath,1F6C0
77
+ bathtub,1F6C1
78
+ battery,1F50B
79
+ bear,1F43B
80
+ bee,1F41D
81
+ beer,1F37A
82
+ beers,1F37B
83
+ beetle,1F41E
84
+ beginner,1F530
85
+ bell,1F514
86
+ bento,1F371
87
+ bicyclist,1F6B4
88
+ bike,1F6B2
89
+ bikini,1F459
90
+ bird,1F426
91
+ birthday,1F382
92
+ black_circle,26AB
93
+ black_joker,1F0CF
94
+ black_nib,2712
95
+ black_square,25FC
96
+ black_square_button,1F532
97
+ blossom,1F33C
98
+ blowfish,1F421
99
+ blue_book,1F4D8
100
+ blue_car,1F699
101
+ blue_heart,1F499
102
+ blush,1F60A
103
+ boar,1F417
104
+ boat,26F5
105
+ bomb,1F4A3
106
+ book,1F4D6
107
+ bookmark,1F516
108
+ bookmark_tabs,1F4D1
109
+ books,1F4DA
110
+ boom,1F4A5
111
+ boot,1F462
112
+ bouquet,1F490
113
+ bow,1F647
114
+ bowling,1F3B3
115
+ bowtie,
116
+ boy,1F466
117
+ bread,1F35E
118
+ bride_with_veil,1F470
119
+ bridge_at_night,1F309
120
+ briefcase,1F4BC
121
+ broken_heart,1F494
122
+ bug,1F41B
123
+ bulb,1F4A1
124
+ bullettrain_front,1F685
125
+ bullettrain_side,1F684
126
+ bus,1F68C
127
+ busstop,1F68F
128
+ bust_in_silhouette,1F464
129
+ busts_in_silhouette,1F465
130
+ cactus,1F335
131
+ cake,1F370
132
+ calendar,1F4C6
133
+ calling,1F4F2
134
+ camel,1F42B
135
+ camera,1F4F7
136
+ cancer,264B
137
+ candy,1F36C
138
+ capital_abcd,1F520
139
+ capricorn,2651
140
+ car,1F697
141
+ card_index,1F4C7
142
+ carousel_horse,1F3A0
143
+ cat,1F431
144
+ cat2,1F408
145
+ cd,1F4BF
146
+ chart,1F4B9
147
+ chart_with_downwards_trend,1F4C9
148
+ chart_with_upwards_trend,1F4C8
149
+ checkered_flag,1F3C1
150
+ cherries,1F352
151
+ cherry_blossom,1F338
152
+ chestnut,1F330
153
+ chicken,1F414
154
+ children_crossing,1F6B8
155
+ chocolate_bar,1F36B
156
+ christmas_tree,1F384
157
+ church,26EA
158
+ cinema,1F3A6
159
+ circus_tent,1F3AA
160
+ city_sunrise,1F307
161
+ city_sunset,1F306
162
+ cl,1F191
163
+ clap,1F44F
164
+ clapper,1F3AC
165
+ clipboard,1F4CB
166
+ clock1,1F550
167
+ clock10,1F559
168
+ clock1030,1F565
169
+ clock11,1F55A
170
+ clock1130,1F566
171
+ clock12,1F55B
172
+ clock1230,1F567
173
+ clock130,1F55C
174
+ clock2,1F551
175
+ clock230,1F55D
176
+ clock3,1F552
177
+ clock330,1F55E
178
+ clock4,1F553
179
+ clock430,1F55F
180
+ clock5,1F554
181
+ clock530,1F560
182
+ clock6,1F555
183
+ clock630,1F561
184
+ clock7,1F556
185
+ clock730,1F562
186
+ clock8,1F557
187
+ clock830,1F563
188
+ clock9,1F558
189
+ clock930,1F564
190
+ closed_book,1F4D5
191
+ closed_lock_with_key,1F510
192
+ closed_umbrella,1F302
193
+ cloud,2601
194
+ clubs,2663
195
+ cn,1F1E8 1F1F3
196
+ cocktail,1F378
197
+ coffee,2615
198
+ cold_sweat,1F630
199
+ collision,1F4A5
200
+ computer,1F4BB
201
+ confetti_ball,1F38A
202
+ confounded,1F616
203
+ confused,1F615
204
+ congratulations,3297
205
+ construction,1F6A7
206
+ construction_worker,1F477
207
+ convenience_store,1F3EA
208
+ cookie,1F36A
209
+ cool,1F192
210
+ cop,1F46E
211
+ copyright,00A9
212
+ corn,1F33D
213
+ couple,1F46B
214
+ couple_with_heart,1F491
215
+ couplekiss,1F48F
216
+ cow,1F42E
217
+ cow2,1F404
218
+ credit_card,1F4B3
219
+ crocodile,1F40A
220
+ crossed_flags,1F38C
221
+ crown,1F451
222
+ cry,1F622
223
+ crying_cat_face,1F63F
224
+ crystal_ball,1F52E
225
+ cupid,1F498
226
+ curly_loop,27B0
227
+ currency_exchange,1F4B1
228
+ curry,1F35B
229
+ custard,1F36E
230
+ customs,1F6C3
231
+ cyclone,1F300
232
+ dancer,1F483
233
+ dancers,1F46F
234
+ dango,1F361
235
+ dart,1F3AF
236
+ dash,1F4A8
237
+ date,1F4C5
238
+ de,1F1E9 1F1EA
239
+ deciduous_tree,1F333
240
+ department_store,1F3EC
241
+ diamond_shape_with_a_dot_inside,1F4A0
242
+ diamonds,2666
243
+ disappointed,1F61E
244
+ disappointed_relieved,1F625
245
+ dizzy,1F4AB
246
+ dizzy_face,1F635
247
+ do_not_litter,1F6AF
248
+ dog,1F436
249
+ dog2,1F415
250
+ dollar,1F4B5
251
+ dolls,1F38E
252
+ dolphin,1F42C
253
+ door,1F6AA
254
+ doughnut,1F369
255
+ dragon,1F409
256
+ dragon_face,1F432
257
+ dress,1F457
258
+ dromedary_camel,1F42A
259
+ droplet,1F4A7
260
+ dvd,1F4C0
261
+ e-mail,1F4E7
262
+ ear,1F442
263
+ ear_of_rice,1F33E
264
+ earth_africa,1F30D
265
+ earth_americas,1F30E
266
+ earth_asia,1F30F
267
+ egg,1F373
268
+ eggplant,1F346
269
+ eight,0038 20E3
270
+ eight_pointed_black_star,2734
271
+ eight_spoked_asterisk,2733
272
+ electric_plug,1F50C
273
+ elephant,1F418
274
+ email,1F4E9
275
+ end,1F51A
276
+ envelope,2709
277
+ es,1F1EA 1F1F8
278
+ euro,1F4B6
279
+ european_castle,1F3F0
280
+ european_post_office,1F3E4
281
+ evergreen_tree,1F332
282
+ exclamation,2755
283
+ expressionless,1F611
284
+ eyeglasses,1F453
285
+ eyes,1F440
286
+ facepunch,1F44A
287
+ factory,1F3ED
288
+ fallen_leaf,1F342
289
+ family,1F46A
290
+ fast_forward,23E9
291
+ fax,1F4E0
292
+ fearful,1F628
293
+ feelsgood,
294
+ feet,1F463
295
+ ferris_wheel,1F3A1
296
+ file_folder,1F4C1
297
+ finnadie,
298
+ fire,1F525
299
+ fire_engine,1F692
300
+ fireworks,1F386
301
+ first_quarter_moon,1F313
302
+ first_quarter_moon_with_face,1F31B
303
+ fish,1F41F
304
+ fish_cake,1F365
305
+ fishing_pole_and_fish,1F3A3
306
+ fist,270A
307
+ five,0035 20E3
308
+ flags,1F38F
309
+ flashlight,1F526
310
+ floppy_disk,1F4BE
311
+ flower_playing_cards,1F3B4
312
+ flushed,1F633
313
+ foggy,1F301
314
+ football,1F3C8
315
+ fork_and_knife,1F374
316
+ fountain,26F2
317
+ four,0034 20E3
318
+ four_leaf_clover,1F340
319
+ fr,1F1EB 1F1F7
320
+ free,1F193
321
+ fried_shrimp,1F364
322
+ fries,1F35F
323
+ frog,1F438
324
+ frowning,1F626
325
+ fuelpump,26FD
326
+ full_moon,1F315
327
+ full_moon_with_face,1F31D
328
+ game_die,1F3B2
329
+ gb,1F1EC 1F1E7
330
+ gem,1F48E
331
+ gemini,264A
332
+ ghost,1F47B
333
+ gift,1F381
334
+ gift_heart,1F49D
335
+ girl,1F467
336
+ globe_with_meridians,1F310
337
+ goat,1F410
338
+ goberserk,
339
+ godmode,
340
+ golf,26F3
341
+ grapes,1F347
342
+ green_apple,1F34F
343
+ green_book,1F4D7
344
+ green_heart,1F49A
345
+ grey_exclamation,2755
346
+ grey_question,2754
347
+ grimacing,1F62C
348
+ grin,1F601
349
+ grinning,1F600
350
+ guardsman,1F482
351
+ guitar,1F3B8
352
+ gun,1F52B
353
+ haircut,1F487
354
+ hamburger,1F354
355
+ hammer,1F528
356
+ hamster,1F439
357
+ hand,270B
358
+ handbag,1F45C
359
+ hankey,1F4A9
360
+ hash,0023 20E3
361
+ hatched_chick,1F425
362
+ hatching_chick,1F423
363
+ headphones,1F3A7
364
+ hear_no_evil,1F649
365
+ heart,2764
366
+ heart_decoration,1F49F
367
+ heart_eyes,1F60D
368
+ heart_eyes_cat,1F63B
369
+ heartbeat,1F493
370
+ heartpulse,1F497
371
+ hearts,2665
372
+ heavy_check_mark,2714
373
+ heavy_division_sign,2797
374
+ heavy_dollar_sign,1F4B2
375
+ heavy_exclamation_mark,2757
376
+ heavy_minus_sign,2796
377
+ heavy_multiplication_x,2716
378
+ heavy_plus_sign,2795
379
+ helicopter,1F681
380
+ herb,1F33F
381
+ hibiscus,1F33A
382
+ high_brightness,1F506
383
+ high_heel,1F460
384
+ hocho,1F52A
385
+ honey_pot,1F36F
386
+ honeybee,1F41D
387
+ horse,1F434
388
+ horse_racing,1F3C7
389
+ hospital,1F3E5
390
+ hotel,1F3E8
391
+ hotsprings,2668
392
+ hourglass,23F3
393
+ hourglass_flowing_sand,23F3
394
+ house,1F3E0
395
+ house_with_garden,1F3E1
396
+ hurtrealbad,
397
+ hushed,1F62F
398
+ ice_cream,1F368
399
+ icecream,1F366
400
+ id,1F194
401
+ ideograph_advantage,1F250
402
+ imp,1F47F
403
+ inbox_tray,1F4E5
404
+ incoming_envelope,1F4E8
405
+ information_desk_person,1F481
406
+ information_source,2139
407
+ innocent,1F607
408
+ interrobang,2049
409
+ iphone,1F4F1
410
+ it,1F1EE 1F1F9
411
+ izakaya_lantern,1F3EE
412
+ jack_o_lantern,1F383
413
+ japan,1F5FE
414
+ japanese_castle,1F3EF
415
+ japanese_goblin,1F47A
416
+ japanese_ogre,1F479
417
+ jeans,1F456
418
+ joy,1F602
419
+ joy_cat,1F639
420
+ jp,1F1EF 1F1F5
421
+ key,1F511
422
+ keycap_ten,1F51F
423
+ kimono,1F458
424
+ kiss,1F48B
425
+ kissing,1F617
426
+ kissing_cat,1F63D
427
+ kissing_closed_eyes,1F61A
428
+ kissing_face,1F61A
429
+ kissing_heart,1F618
430
+ kissing_smiling_eyes,1F619
431
+ koala,1F428
432
+ koko,1F201
433
+ kr,1F1F0 1F1F7
434
+ large_blue_circle,1F535
435
+ large_blue_diamond,1F537
436
+ large_orange_diamond,1F536
437
+ last_quarter_moon,1F317
438
+ last_quarter_moon_with_face,1F31C
439
+ laughing,1F606
440
+ leaves,1F343
441
+ ledger,1F4D2
442
+ left_luggage,1F6C5
443
+ left_right_arrow,2194
444
+ leftwards_arrow_with_hook,21A9
445
+ lemon,1F34B
446
+ leo,264C
447
+ leopard,1F406
448
+ libra,264E
449
+ light_rail,1F688
450
+ link,1F517
451
+ lips,1F444
452
+ lipstick,1F484
453
+ lock,1F512
454
+ lock_with_ink_pen,1F50F
455
+ lollipop,1F36D
456
+ loop,27BF
457
+ loudspeaker,1F4E2
458
+ love_hotel,1F3E9
459
+ love_letter,1F48C
460
+ low_brightness,1F505
461
+ m,24C2
462
+ mag,1F50D
463
+ mag_right,1F50E
464
+ mahjong,1F004
465
+ mailbox,1F4EB
466
+ mailbox_closed,1F4EA
467
+ mailbox_with_mail,1F4EC
468
+ mailbox_with_no_mail,1F4ED
469
+ man,1F468
470
+ man_with_gua_pi_mao,1F472
471
+ man_with_turban,1F473
472
+ mans_shoe,1F45E
473
+ maple_leaf,1F341
474
+ mask,1F637
475
+ massage,1F486
476
+ meat_on_bone,1F356
477
+ mega,1F4E3
478
+ melon,1F348
479
+ memo,1F4DD
480
+ mens,1F6B9
481
+ metal,
482
+ metro,1F687
483
+ microphone,1F3A4
484
+ microscope,1F52C
485
+ milky_way,1F30C
486
+ minibus,1F690
487
+ minidisc,1F4BD
488
+ mobile_phone_off,1F4F4
489
+ money_with_wings,1F4B8
490
+ moneybag,1F4B0
491
+ monkey,1F412
492
+ monkey_face,1F435
493
+ monorail,1F69D
494
+ moon,1F319
495
+ mortar_board,1F393
496
+ mount_fuji,1F5FB
497
+ mountain_bicyclist,1F6B5
498
+ mountain_cableway,1F6A0
499
+ mountain_railway,1F69E
500
+ mouse,1F42D
501
+ mouse2,1F401
502
+ movie_camera,1F3A5
503
+ moyai,1F5FF
504
+ muscle,1F4AA
505
+ mushroom,1F344
506
+ musical_keyboard,1F3B9
507
+ musical_note,1F3B5
508
+ musical_score,1F3BC
509
+ mute,1F507
510
+ nail_care,1F485
511
+ name_badge,1F4DB
512
+ neckbeard,
513
+ necktie,1F454
514
+ negative_squared_cross_mark,274E
515
+ neutral_face,1F610
516
+ new,1F195
517
+ new_moon,1F311
518
+ new_moon_with_face,1F31A
519
+ newspaper,1F4F0
520
+ ng,1F196
521
+ nine,0039 20E3
522
+ no_bell,1F515
523
+ no_bicycles,1F6B3
524
+ no_entry,26D4
525
+ no_entry_sign,1F6AB
526
+ no_good,1F645
527
+ no_mobile_phones,1F4F5
528
+ no_mouth,1F636
529
+ no_pedestrians,1F6B7
530
+ no_smoking,1F6AD
531
+ non-potable_water,1F6B1
532
+ nose,1F443
533
+ notebook,1F4D3
534
+ notebook_with_decorative_cover,1F4D4
535
+ notes,1F3B6
536
+ nut_and_bolt,1F529
537
+ o,2B55
538
+ o2,1F17E
539
+ ocean,1F30A
540
+ octocat,
541
+ octopus,1F419
542
+ oden,1F362
543
+ office,1F3E2
544
+ ok,1F197
545
+ ok_hand,1F44C
546
+ ok_woman,1F646
547
+ older_man,1F474
548
+ older_woman,1F475
549
+ on,1F51B
550
+ oncoming_automobile,1F698
551
+ oncoming_bus,1F68D
552
+ oncoming_police_car,1F694
553
+ oncoming_taxi,1F696
554
+ one,0031 20E3
555
+ open_file_folder,1F4C2
556
+ open_hands,1F450
557
+ open_mouth,1F62E
558
+ ophiuchus,26CE
559
+ orange_book,1F4D9
560
+ outbox_tray,1F4E4
561
+ ox,1F402
562
+ page_facing_up,1F4C4
563
+ page_with_curl,1F4C3
564
+ pager,1F4DF
565
+ palm_tree,1F334
566
+ panda_face,1F43C
567
+ paperclip,1F4CE
568
+ parking,1F17F
569
+ part_alternation_mark,303D
570
+ partly_sunny,26C5
571
+ passport_control,1F6C2
572
+ paw_prints,1F43E
573
+ peach,1F351
574
+ pear,1F350
575
+ pencil,1F4DD
576
+ pencil2,270F
577
+ penguin,1F427
578
+ pensive,1F614
579
+ performing_arts,1F3AD
580
+ persevere,1F623
581
+ person_frowning,1F64D
582
+ person_with_blond_hair,1F471
583
+ person_with_pouting_face,1F64E
584
+ phone,260E
585
+ pig,1F437
586
+ pig2,1F416
587
+ pig_nose,1F43D
588
+ pill,1F48A
589
+ pineapple,1F34D
590
+ pisces,2653
591
+ pizza,1F355
592
+ point_down,1F447
593
+ point_left,1F448
594
+ point_right,1F449
595
+ point_up,261D
596
+ point_up_2,1F446
597
+ police_car,1F693
598
+ poodle,1F429
599
+ poop,1F4A9
600
+ post_office,1F3E3
601
+ postal_horn,1F4EF
602
+ postbox,1F4EE
603
+ potable_water,1F6B0
604
+ pouch,1F45D
605
+ poultry_leg,1F357
606
+ pound,1F4B7
607
+ pouting_cat,1F63E
608
+ pray,1F64F
609
+ princess,1F478
610
+ punch,1F44A
611
+ purple_heart,1F49C
612
+ purse,1F45B
613
+ pushpin,1F4CC
614
+ put_litter_in_its_place,1F6AE
615
+ question,2754
616
+ rabbit,1F430
617
+ rabbit2,1F407
618
+ racehorse,1F40E
619
+ radio,1F4FB
620
+ radio_button,1F518
621
+ rage,1F621
622
+ rage1,
623
+ rage2,
624
+ rage3,
625
+ rage4,
626
+ railway_car,1F683
627
+ rainbow,1F308
628
+ raised_hand,270B
629
+ raised_hands,1F64C
630
+ raising_hand,1F64B
631
+ ram,1F40F
632
+ ramen,1F35C
633
+ rat,1F400
634
+ recycle,267B
635
+ red_car,1F697
636
+ red_circle,1F534
637
+ registered,00AE
638
+ relaxed,263A
639
+ relieved,1F625
640
+ repeat,1F501
641
+ repeat_one,1F502
642
+ restroom,1F6BB
643
+ revolving_hearts,1F49E
644
+ rewind,23EA
645
+ ribbon,1F380
646
+ rice,1F35A
647
+ rice_ball,1F359
648
+ rice_cracker,1F358
649
+ rice_scene,1F391
650
+ ring,1F48D
651
+ rocket,1F680
652
+ roller_coaster,1F3A2
653
+ rooster,1F413
654
+ rose,1F339
655
+ rotating_light,1F6A8
656
+ round_pushpin,1F4CD
657
+ rowboat,1F6A3
658
+ ru,1F1F7 1F1FA
659
+ rugby_football,1F3C9
660
+ runner,1F3C3
661
+ running,1F3C3
662
+ running_shirt_with_sash,1F3BD
663
+ sa,1F202
664
+ sagittarius,2650
665
+ sailboat,26F5
666
+ sake,1F376
667
+ sandal,1F461
668
+ santa,1F385
669
+ satellite,1F4E1
670
+ satisfied,1F60C
671
+ saxophone,1F3B7
672
+ school,1F3EB
673
+ school_satchel,1F392
674
+ scissors,2702
675
+ scorpius,264F
676
+ scream,1F631
677
+ scream_cat,1F640
678
+ scroll,1F4DC
679
+ seat,1F4BA
680
+ secret,3299
681
+ see_no_evil,1F648
682
+ seedling,1F331
683
+ seven,0037 20E3
684
+ shaved_ice,1F367
685
+ sheep,1F411
686
+ shell,1F41A
687
+ ship,1F6A2
688
+ shipit,
689
+ shirt,1F455
690
+ shit,1F4A9
691
+ shoe,1F45F
692
+ shower,1F6BF
693
+ signal_strength,1F4F6
694
+ six,0036 20E3
695
+ six_pointed_star,1F52F
696
+ ski,1F3BF
697
+ skull,1F480
698
+ sleeping,1F634
699
+ sleepy,1F62A
700
+ slot_machine,1F3B0
701
+ small_blue_diamond,1F539
702
+ small_orange_diamond,1F538
703
+ small_red_triangle,1F53A
704
+ small_red_triangle_down,1F53B
705
+ smile,1F604
706
+ smile_cat,1F638
707
+ smiley,1F603
708
+ smiley_cat,1F63A
709
+ smiling_imp,1F608
710
+ smirk,1F60F
711
+ smirk_cat,1F63C
712
+ smoking,1F6AC
713
+ snail,1F40C
714
+ snake,1F40D
715
+ snowboarder,1F3C2
716
+ snowflake,2744
717
+ snowman,26C4
718
+ sob,1F62D
719
+ soccer,26BD
720
+ soon,1F51C
721
+ sos,1F198
722
+ sound,1F509
723
+ space_invader,1F47E
724
+ spades,2660
725
+ spaghetti,1F35D
726
+ sparkler,1F387
727
+ sparkles,2728
728
+ sparkling_heart,1F496
729
+ speak_no_evil,1F64A
730
+ speaker,1F50A
731
+ speech_balloon,1F4AC
732
+ speedboat,1F6A4
733
+ squirrel,
734
+ star,1F31F
735
+ star2,1F31F
736
+ stars,1F303
737
+ station,1F689
738
+ statue_of_liberty,1F5FD
739
+ steam_locomotive,1F682
740
+ stew,1F372
741
+ straight_ruler,1F4CF
742
+ strawberry,1F353
743
+ stuck_out_tongue,1F61B
744
+ stuck_out_tongue_closed_eyes,1F61D
745
+ stuck_out_tongue_winking_eye,1F61C
746
+ sun_with_face,1F31E
747
+ sunflower,1F33B
748
+ sunglasses,1F60E
749
+ sunny,2600
750
+ sunrise,1F305
751
+ sunrise_over_mountains,1F304
752
+ surfer,1F3C4
753
+ sushi,1F363
754
+ suspect,
755
+ suspension_railway,1F69F
756
+ sweat,1F613
757
+ sweat_drops,1F4A6
758
+ sweat_smile,1F605
759
+ sweet_potato,1F360
760
+ swimmer,1F3CA
761
+ symbols,1F523
762
+ syringe,1F489
763
+ tada,1F389
764
+ tanabata_tree,1F38B
765
+ tangerine,1F34A
766
+ taurus,2649
767
+ taxi,1F695
768
+ tea,1F375
769
+ telephone,260E
770
+ telephone_receiver,1F4DE
771
+ telescope,1F52D
772
+ tennis,1F3BE
773
+ tent,26FA
774
+ thought_balloon,1F4AD
775
+ three,0033 20E3
776
+ thumbsdown,1F44E
777
+ thumbsup,1F44D
778
+ ticket,1F3AB
779
+ tiger,1F42F
780
+ tiger2,1F405
781
+ tired_face,1F62B
782
+ tm,2122
783
+ toilet,1F6BD
784
+ tokyo_tower,1F5FC
785
+ tomato,1F345
786
+ tongue,1F61D
787
+ tongue2,1F445
788
+ top,1F51D
789
+ tophat,1F3A9
790
+ tractor,1F69C
791
+ traffic_light,1F6A5
792
+ train,1F683
793
+ train2,1F686
794
+ tram,1F68A
795
+ triangular_flag_on_post,1F6A9
796
+ triangular_ruler,1F4D0
797
+ trident,1F531
798
+ triumph,1F624
799
+ trolleybus,1F68E
800
+ trollface,
801
+ trophy,1F3C6
802
+ tropical_drink,1F379
803
+ tropical_fish,1F420
804
+ truck,1F69A
805
+ trumpet,1F3BA
806
+ tshirt,1F455
807
+ tulip,1F337
808
+ turtle,1F422
809
+ tv,1F4FA
810
+ twisted_rightwards_arrows,1F500
811
+ two,0032 20E3
812
+ two_hearts,1F495
813
+ two_men_holding_hands,1F46C
814
+ two_women_holding_hands,1F46D
815
+ u5272,1F239
816
+ u5408,1F234
817
+ u55b6,1F23A
818
+ u6307,1F22F
819
+ u6708,1F237
820
+ u6709,1F236
821
+ u6e80,1F235
822
+ u7121,1F21A
823
+ u7533,1F238
824
+ u7981,1F232
825
+ u7a7a,1F233
826
+ uk,D83C DDEC D83C DDE7
827
+ umbrella,2614
828
+ unamused,1F612
829
+ underage,1F51E
830
+ unlock,1F513
831
+ up,1F199
832
+ us,1F1FA 1F1F8
833
+ v,270C
834
+ vertical_traffic_light,1F6A6
835
+ vhs,1F4FC
836
+ vibration_mode,1F4F3
837
+ video_camera,1F4F9
838
+ video_game,1F3AE
839
+ violin,1F3BB
840
+ virgo,264D
841
+ volcano,1F30B
842
+ vs,1F19A
843
+ walking,1F6B6
844
+ waning_crescent_moon,1F318
845
+ waning_gibbous_moon,1F316
846
+ warning,26A0
847
+ watch,231A
848
+ water_buffalo,1F403
849
+ watermelon,1F349
850
+ wave,1F44B
851
+ wavy_dash,3030
852
+ waxing_crescent_moon,1F312
853
+ waxing_gibbous_moon,1F314
854
+ wc,1F6BE
855
+ weary,1F629
856
+ wedding,1F492
857
+ whale,1F433
858
+ whale2,1F40B
859
+ wheelchair,267F
860
+ white_check_mark,2705
861
+ white_circle,26AA
862
+ white_flower,1F4AE
863
+ white_square,2B1C
864
+ white_square_button,1F533
865
+ wind_chime,1F390
866
+ wine_glass,1F377
867
+ wink,1F609
868
+ wink2,1F61C
869
+ wolf,1F43A
870
+ woman,1F469
871
+ womans_clothes,1F45A
872
+ womans_hat,1F452
873
+ womens,1F6BA
874
+ worried,1F61F
875
+ wrench,1F527
876
+ x,274C
877
+ yellow_heart,1F49B
878
+ yen,1F4B4
879
+ yum,1F60B
880
+ zap,26A1
881
+ zero,0030 20E3
882
+ zzz,1F4A4
@@ -13,7 +13,9 @@ require 'hobostove/models/message'
13
13
  require 'hobostove/models/user'
14
14
 
15
15
  require 'hobostove/campfire'
16
+ require 'hobostove/emoji'
16
17
  require 'hobostove/message_renderer'
18
+ require 'hobostove/line'
17
19
 
18
20
  require 'hobostove/cli/setup'
19
21
  require 'hobostove/cli/upgrade'
@@ -0,0 +1,17 @@
1
+ require 'csv'
2
+
3
+ module Hobostove
4
+ class Emoji
5
+ def self.replace(string)
6
+ csv = File.expand_path("../../../data/emoji.csv", __FILE__)
7
+ CSV.foreach(csv) do |row|
8
+ if string =~ /:#{row[0]}:/
9
+ character = [row[1].hex].pack("U")
10
+ string.gsub!(":#{row[0]}:", character)
11
+ end
12
+ end
13
+
14
+ string
15
+ end
16
+ end
17
+ end
@@ -9,7 +9,7 @@ module Hobostove
9
9
  end
10
10
 
11
11
  def message
12
- @strings.first
12
+ @strings.first.to_s
13
13
  end
14
14
 
15
15
  def update_cursor
@@ -0,0 +1,84 @@
1
+ module Hobostove
2
+ class Line
3
+ LineSegment = Struct.new(:color, :body)
4
+
5
+ attr_reader :segments
6
+
7
+ def initialize(segments = [])
8
+ @segments = segments
9
+ end
10
+
11
+ def to_s
12
+ @segments.map(&:body).join
13
+ end
14
+
15
+ def length
16
+ to_s.length
17
+ end
18
+
19
+ def present?
20
+ to_s.present?
21
+ end
22
+
23
+ def first(count)
24
+ segment(count).first
25
+ end
26
+
27
+ def split(width)
28
+ lines = []
29
+ line = self
30
+ begin
31
+ first, second = line.send(:segment, width)
32
+
33
+ lines << first
34
+ line = second
35
+ end while second.length > 0
36
+ lines
37
+ end
38
+
39
+ def add(color, body)
40
+ segments << LineSegment.new(color, body)
41
+ end
42
+
43
+ def <=>(other)
44
+ to_s <=> other.to_s
45
+ end
46
+
47
+ def segment(count)
48
+ first_line = Line.new
49
+ second_line = Line.new
50
+
51
+ segments.inject(0) do |current_count, segment|
52
+ if current_count > count
53
+ second_line.add(segment.color, segment.body)
54
+ next
55
+ end
56
+
57
+ current_count += segment.body.length
58
+
59
+ if current_count <= count
60
+ first_line.add(segment.color, segment.body)
61
+ else
62
+ count = segment.body.length - (current_count - count)
63
+
64
+ first_line.add(segment.color, segment.body.first(count))
65
+ second_line.add(segment.color, segment.body[count..-1])
66
+ end
67
+
68
+ current_count
69
+ end
70
+
71
+ [first_line, second_line]
72
+ end
73
+ end
74
+ end
75
+
76
+ def Line(obj)
77
+ if obj.is_a?(Hobostove::Line)
78
+ obj
79
+ else
80
+ Hobostove::Line.new.tap do |line|
81
+ line.add(:white, obj.to_s)
82
+ end
83
+ end
84
+ end
@@ -3,26 +3,36 @@ module Hobostove
3
3
  def render_lines(message)
4
4
  message = render(message)
5
5
  return [] if message.nil?
6
- message.scan(/.{1,#{window_size}}/)
6
+ message.split(window_size).select { |line| line.present? }
7
7
  end
8
8
 
9
9
  def render(message)
10
+ line = Line.new
10
11
  case message.type
11
12
  when "TextMessage"
12
- "#{message.username}: #{message.body}"
13
+ line.add(:cyan, message.username)
14
+ line.add(:white, ": #{Emoji.replace(message.body)}")
13
15
  when "EnterMessage"
14
- "\t#{message.username} joined"
16
+ line.add(:white, " ")
17
+ line.add(:cyan, message.username)
18
+ line.add(:white, " joined")
15
19
  when "LeaveMessage"
16
- "\t#{message.username} left"
20
+ line.add(:white, " ")
21
+ line.add(:cyan, message.username)
22
+ line.add(:white, " left")
17
23
  when "TimestampMessage"
18
- "\t#{message.timestamp.strftime("%H:%M")}"
24
+ line.add(:white, " #{message.timestamp.strftime("%H:%M")}")
19
25
  when "PasteMessage"
20
- "#{message.username} (paste message):\n#{message.body}"
26
+ line.add(:cyan, message.username)
27
+ line.add(:white, " (paste message):\n#{message.body}")
21
28
  when "TweetMessage"
22
- "#{message.username} (tweet message): #{message.body}"
29
+ line.add(:cyan, message.username)
30
+ line.add(:white, " (tweet message): #{message.body}")
23
31
  when "UploadMessage"
24
- "#{message.username} (upload message): #{message.body}"
32
+ line.add(:cyan, message.username)
33
+ line.add(:white, " (upload message): #{message.body}")
25
34
  end
35
+ line
26
36
  end
27
37
  end
28
38
  end
@@ -23,9 +23,9 @@ module Hobostove
23
23
 
24
24
  def <<(string, do_update = true)
25
25
  if wrap_lines?
26
- @strings << string.first(width - 4)
26
+ @strings << Line(string.first(width - 4))
27
27
  else
28
- @strings << string
28
+ @strings << Line(string)
29
29
  end
30
30
 
31
31
  refresh if do_update
@@ -54,9 +54,21 @@ module Hobostove
54
54
 
55
55
  @win.box(0, 0)
56
56
 
57
- @strings.last(printable_area + @scroll).first(printable_area).each_with_index do |string, i|
57
+ printable_lines.each_with_index do |line, i|
58
58
  @win.setpos(i + 1, 2)
59
- @win.addstr(string)
59
+
60
+ line.segments.each do |segment|
61
+ color = case segment.color
62
+ when :cyan
63
+ Curses::COLOR_CYAN
64
+ else
65
+ Curses::COLOR_WHITE
66
+ end
67
+
68
+ @win.attron(Curses.color_pair(color) | Curses::A_NORMAL) do
69
+ @win.addstr(segment.body)
70
+ end
71
+ end
60
72
  end
61
73
 
62
74
  refresh!
@@ -64,6 +76,10 @@ module Hobostove
64
76
 
65
77
  private
66
78
 
79
+ def printable_lines
80
+ @strings.last(printable_area + @scroll).first(printable_area)
81
+ end
82
+
67
83
  def printable_area
68
84
  height - 2
69
85
  end
@@ -23,7 +23,11 @@ module Hobostove
23
23
  end
24
24
 
25
25
  def refresh
26
- @strings = @users.map(&:name)
26
+ @strings = @users.map do |user|
27
+ Line.new.tap do |line|
28
+ line.add(:cyan, user.name)
29
+ end
30
+ end
27
31
  @strings.sort!
28
32
 
29
33
  super
@@ -111,10 +111,15 @@ module Hobostove
111
111
 
112
112
  def start_curses
113
113
  Curses.init_screen
114
+ Curses.start_color
114
115
  Curses.cbreak
115
116
  Curses.noecho
116
117
  Curses.curs_set(0)
117
118
 
119
+ Curses.use_default_colors
120
+ Curses.init_pair(Curses::COLOR_CYAN, Curses::COLOR_CYAN, -1)
121
+ Curses.init_pair(Curses::COLOR_WHITE, -1, -1)
122
+
118
123
  @users_panel = UserPanel.new(Curses.lines, 20, 0, Curses.cols - 20)
119
124
  @messages_panel = Panel.new(Curses.lines - 3, Curses.cols - 20, 0, 0, :nowrap => true)
120
125
  @message_panel = InputPanel.new(3, Curses.cols - 20, Curses.lines - 3, 0)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hobostove
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Oestrich
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-23 00:00:00.000000000 Z
11
+ date: 2014-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: terminal-notifier
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.6'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.6'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: gli
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -131,13 +145,16 @@ extensions: []
131
145
  extra_rdoc_files: []
132
146
  files:
133
147
  - bin/hobostove
148
+ - data/emoji.csv
134
149
  - lib/hobostove.rb
135
150
  - lib/hobostove/campfire.rb
136
151
  - lib/hobostove/cli/room_picker.rb
137
152
  - lib/hobostove/cli/setup.rb
138
153
  - lib/hobostove/cli/upgrade.rb
139
154
  - lib/hobostove/configuration.rb
155
+ - lib/hobostove/emoji.rb
140
156
  - lib/hobostove/input_panel.rb
157
+ - lib/hobostove/line.rb
141
158
  - lib/hobostove/message_renderer.rb
142
159
  - lib/hobostove/models/message.rb
143
160
  - lib/hobostove/models/user.rb