@meebs/meeb 1.0.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.
Files changed (89) hide show
  1. package/README.md +158 -0
  2. package/animals/alien.js +34 -0
  3. package/animals/axolotl.js +38 -0
  4. package/animals/bat.js +34 -0
  5. package/animals/bear.js +41 -0
  6. package/animals/bee.js +32 -0
  7. package/animals/bunny.js +45 -0
  8. package/animals/butterfly.js +36 -0
  9. package/animals/capybara.js +36 -0
  10. package/animals/cat.js +44 -0
  11. package/animals/chameleon.js +44 -0
  12. package/animals/chick.js +27 -0
  13. package/animals/cookie.js +30 -0
  14. package/animals/crab.js +32 -0
  15. package/animals/crocodile.js +32 -0
  16. package/animals/deer.js +35 -0
  17. package/animals/dino.js +37 -0
  18. package/animals/dog.js +44 -0
  19. package/animals/dragon.js +44 -0
  20. package/animals/duck.js +45 -0
  21. package/animals/eagle.js +37 -0
  22. package/animals/elephant.js +33 -0
  23. package/animals/firefly.js +37 -0
  24. package/animals/fish.js +32 -0
  25. package/animals/flamingo.js +36 -0
  26. package/animals/fox.js +43 -0
  27. package/animals/frog.js +46 -0
  28. package/animals/ghost.js +32 -0
  29. package/animals/giraffe.js +37 -0
  30. package/animals/gorilla.js +37 -0
  31. package/animals/hamster.js +35 -0
  32. package/animals/hedgehog.js +32 -0
  33. package/animals/hippo.js +34 -0
  34. package/animals/index.js +87 -0
  35. package/animals/jellyfish.js +34 -0
  36. package/animals/koala.js +34 -0
  37. package/animals/ladybug.js +34 -0
  38. package/animals/lion.js +36 -0
  39. package/animals/mantisshrimp.js +49 -0
  40. package/animals/monkey.js +35 -0
  41. package/animals/moth.js +41 -0
  42. package/animals/mouse.js +33 -0
  43. package/animals/narwhal.js +38 -0
  44. package/animals/octopus.js +31 -0
  45. package/animals/otter.js +43 -0
  46. package/animals/owl.js +38 -0
  47. package/animals/panda.js +42 -0
  48. package/animals/parrot.js +39 -0
  49. package/animals/peacock.js +42 -0
  50. package/animals/penguin.js +47 -0
  51. package/animals/penguin2.js +38 -0
  52. package/animals/pig.js +33 -0
  53. package/animals/raccoon.js +35 -0
  54. package/animals/redpanda.js +39 -0
  55. package/animals/robot.js +37 -0
  56. package/animals/scorpion.js +33 -0
  57. package/animals/seahorse.js +39 -0
  58. package/animals/shark.js +33 -0
  59. package/animals/shit.js +33 -0
  60. package/animals/sloth.js +34 -0
  61. package/animals/snail.js +34 -0
  62. package/animals/snake.js +36 -0
  63. package/animals/spider.js +33 -0
  64. package/animals/squid.js +33 -0
  65. package/animals/starfish.js +32 -0
  66. package/animals/stingray.js +41 -0
  67. package/animals/swan.js +34 -0
  68. package/animals/toucan.js +41 -0
  69. package/animals/turtle.js +35 -0
  70. package/animals/unicorn.js +40 -0
  71. package/animals/walrus.js +35 -0
  72. package/animals/whale.js +42 -0
  73. package/animals/wolf.js +36 -0
  74. package/animals/yak.js +36 -0
  75. package/animals/zebra.js +34 -0
  76. package/color.js +9 -0
  77. package/completions/_meeb +41 -0
  78. package/completions/meeb.bash +16 -0
  79. package/emoji.js +30 -0
  80. package/fortune.js +41 -0
  81. package/gif.js +435 -0
  82. package/index.js +915 -0
  83. package/info.js +80 -0
  84. package/package.json +39 -0
  85. package/png.js +88 -0
  86. package/svg.js +43 -0
  87. package/theme.js +80 -0
  88. package/tui.js +76 -0
  89. package/util.js +313 -0
@@ -0,0 +1,33 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const red = [200, 60, 70]
4
+ const dark = [140, 30, 40]
5
+ const pink = [240, 160, 170]
6
+ const black = [30, 30, 30]
7
+ const light = [140, 190, 240]
8
+
9
+ module.exports = {
10
+ name: 'squid',
11
+ render() {
12
+ const r = (t) => rgb(...red, t)
13
+ const d = (t) => rgb(...dark, t)
14
+ const p = (t) => rgb(...pink, t)
15
+ const b = (t) => rgb(...black, t)
16
+ const l = (t) => rgb(...light, t)
17
+ const rd = (t) => fgBg(...red, ...dark, t)
18
+
19
+ return [
20
+ '',
21
+ ` ${r('▄████▄')}`,
22
+ ` ${r('▐')}${rd('██████████')}${r('▌')}`,
23
+ ` ${r('▐')}${rd('███')}${b('●')}${rd('██')}${b('●')}${rd('███')}${r('▌')}`,
24
+ ` ${r('▐')}${rd('██████████')}${r('▌')}`,
25
+ ` ${r('▝')}${rd('████████')}${r('▘')}`,
26
+ ` ${r('▟█▘▟█▘▟█▘▟█▘')}`,
27
+ ` ${r('▐█▌▐█▌▐█▌▐█▌')}`,
28
+ ` ${d('▘')} ${d('▘')} ${d('▘')} ${d('▘')} ${d('▘')}`,
29
+ ` ${l('░░░░░░░░░░░░░░░░░')}`,
30
+ '',
31
+ ].join('\n')
32
+ }
33
+ }
@@ -0,0 +1,32 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const orange = [230, 130, 50]
4
+ const dark = [180, 90, 30]
5
+ const dot = [200, 100, 40]
6
+
7
+ module.exports = {
8
+ name: 'starfish',
9
+ render() {
10
+ const o = (t) => rgb(...orange, t)
11
+ const d = (t) => rgb(...dark, t)
12
+ const dt = (t) => rgb(...dot, t)
13
+ const od = (t) => fgBg(...orange, ...dark, t)
14
+
15
+ return [
16
+ '',
17
+ ` ${o('▄██▄')}`,
18
+ ` ${o('▐')}${od('████')}${o('▌')}`,
19
+ ` ${o('▄▄')} ${o('▐')}${od('████')}${o('▌')} ${o('▄▄')}`,
20
+ ` ${o('▝██▄▄')} ${o('▐')}${od('████')}${o('▌')} ${o('▄▄██▘')}`,
21
+ ` ${o('▝████▄')}${od('████')}${o('▄████▘')}`,
22
+ ` ${o('▝')}${od('██████████')}${o('▘')}`,
23
+ ` ${o('▄▄')}${od('████')}${dt('●')}${dt('●')}${od('████')}${o('▄▄')}`,
24
+ ` ${o('▝')}${od('██████████████')}${o('▘')}`,
25
+ ` ${o('▄██▘')}${o('▝')}${od('██████')}${o('▘')}${o('▝██▄')}`,
26
+ ` ${o('▟██▘')} ${o('▐')}${od('████')}${o('▌')} ${o('▝██▙')}`,
27
+ ` ${o('▀▀')} ${o('▟██▘')}${o('▝██▙')} ${o('▀▀')}`,
28
+ ` ${o('▀▀')} ${o('▀▀')}`,
29
+ '',
30
+ ].join('\n')
31
+ }
32
+ }
@@ -0,0 +1,41 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const blue = [70, 100, 160]
4
+ const dark = [35, 55, 110]
5
+ const light = [120, 160, 220]
6
+ const white = [240, 240, 240]
7
+ const black = [30, 30, 30]
8
+ const water = [140, 190, 240]
9
+
10
+ module.exports = {
11
+ name: 'stingray',
12
+ render() {
13
+ const bl = (t) => rgb(...blue, t)
14
+ const d = (t) => rgb(...dark, t)
15
+ const l = (t) => rgb(...light, t)
16
+ const w = (t) => rgb(...white, t)
17
+ const b = (t) => rgb(...black, t)
18
+ const wa = (t) => rgb(...water, t)
19
+ const bd = (t) => fgBg(...blue, ...dark, t)
20
+ const ld = (t) => fgBg(...light, ...dark, t)
21
+
22
+ return [
23
+ '',
24
+ ` ${bl('▄████████▄')}`,
25
+ ` ${bl('▄')}${bd('██████████████████')}${bl('▄')}`,
26
+ ` ${bl('▄')}${bd('████████████████████████')}${bl('▄')}`,
27
+ ` ${bl('▐')}${bd('██████████████████████████████')}${bl('▌')}`,
28
+ ` ${bl('▐')}${bd('█████')}${b('●')}${bd('████████████')}${b('●')}${bd('█████')}${bl('▌')}`,
29
+ ` ${bl('▐')}${bd('██████████')}${ld('████')}${bd('██████████')}${bl('▌')}`,
30
+ ` ${bl('▀')}${bd('████████')}${ld('██████')}${bd('████████')}${bl('▀')}`,
31
+ ` ${bl('▀')}${bd('██████████████████')}${bl('▀')}`,
32
+ ` ${bl('▀')}${bd('████████████')}${bl('▀')}`,
33
+ ` ${bl('▐')}${bd('████')}${bl('▌')}`,
34
+ ` ${bl('▐')}${bd('██')}${bl('▌')}`,
35
+ ` ${bl('▐█▌')}`,
36
+ ` ${d('▘')}`,
37
+ ` ${wa('░░░░░░░░░░░░░░░░░░░░░░')}`,
38
+ '',
39
+ ].join('\n')
40
+ }
41
+ }
@@ -0,0 +1,34 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const white = [240, 240, 240]
4
+ const gray = [200, 200, 205]
5
+ const orange = [230, 160, 50]
6
+ const black = [30, 30, 30]
7
+ const blue = [100, 160, 220]
8
+
9
+ module.exports = {
10
+ name: 'swan',
11
+ render() {
12
+ const w = (t) => rgb(...white, t)
13
+ const g = (t) => rgb(...gray, t)
14
+ const o = (t) => rgb(...orange, t)
15
+ const b = (t) => rgb(...black, t)
16
+ const bl = (t) => rgb(...blue, t)
17
+ const wg = (t) => fgBg(...white, ...gray, t)
18
+
19
+ return [
20
+ '',
21
+ ` ${w('▄████▄')}`,
22
+ ` ${w('▐')}${wg('██')}${b('●')}${wg('████')}${w('▌')}`,
23
+ ` ${o('██')}${w('▝')}${wg('▀████▀')}${w('▘')}`,
24
+ ` ${o('▀▀')}${w('▐')}${wg('██')}${w('▌')}`,
25
+ ` ${w('▐')}${wg('██')}${w('▌')}`,
26
+ ` ${w('▄')}${wg('████')}${w('▄')}`,
27
+ ` ${w('▐')}${wg('██████████')}${w('▌')}`,
28
+ ` ${w('▐')}${wg('██████████')}${w('▌')}`,
29
+ ` ${w('▝')}${wg('████████')}${w('▘')}`,
30
+ ` ${bl('░░░░░░░░░░░░░░░░░')}`,
31
+ '',
32
+ ].join('\n')
33
+ }
34
+ }
@@ -0,0 +1,41 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const black = [30, 30, 30]
4
+ const dark = [50, 50, 55]
5
+ const orange = [240, 160, 40]
6
+ const yellow = [240, 220, 50]
7
+ const green = [50, 180, 80]
8
+ const blue = [50, 120, 220]
9
+ const red = [220, 50, 40]
10
+ const white = [240, 240, 240]
11
+
12
+ module.exports = {
13
+ name: 'toucan',
14
+ render() {
15
+ const b = (t) => rgb(...black, t)
16
+ const d = (t) => rgb(...dark, t)
17
+ const o = (t) => rgb(...orange, t)
18
+ const y = (t) => rgb(...yellow, t)
19
+ const g = (t) => rgb(...green, t)
20
+ const bl = (t) => rgb(...blue, t)
21
+ const r = (t) => rgb(...red, t)
22
+ const w = (t) => rgb(...white, t)
23
+ const bd = (t) => fgBg(...black, ...dark, t)
24
+
25
+ return [
26
+ '',
27
+ ` ${b('▄████▄')}`,
28
+ ` ${b('▐')}${bd('██████████')}${b('▌')}`,
29
+ ` ${b('▐')}${bd('██')}${w('●')}${bd('██████')}${b('▌')}`,
30
+ ` ${b('▐')}${bd('████████')}${b('▌')}${o('▄██████▄')}`,
31
+ ` ${b('▝')}${bd('██████')}${b('▘')}${y('██████')}${o('██')}`,
32
+ ` ${b('▐')}${bd('████')}${b('▌')}${r('▀')}${y('██████▀')}`,
33
+ ` ${b('▐')}${bd('████')}${b('▌')}`,
34
+ ` ${bl('▐')}${fgBg(...blue, ...dark, '██████')}${bl('▌')}`,
35
+ ` ${bl('▐')}${fgBg(...blue, ...dark, '██████')}${bl('▌')}`,
36
+ ` ${o('▟██▘')} ${o('▝██▙')}`,
37
+ ` ${d('▀▀▀▀')} ${d('▀▀▀▀')}`,
38
+ '',
39
+ ].join('\n')
40
+ }
41
+ }
@@ -0,0 +1,35 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const green = [70, 160, 70]
4
+ const dark = [40, 110, 40]
5
+ const brown = [140, 100, 50]
6
+ const bd2 = [90, 60, 30]
7
+ const black = [30, 30, 30]
8
+
9
+ module.exports = {
10
+ name: 'turtle',
11
+ render() {
12
+ const g = (t) => rgb(...green, t)
13
+ const d = (t) => rgb(...dark, t)
14
+ const br = (t) => rgb(...brown, t)
15
+ const b2 = (t) => rgb(...bd2, t)
16
+ const b = (t) => rgb(...black, t)
17
+ const gd = (t) => fgBg(...green, ...dark, t)
18
+ const bb = (t) => fgBg(...brown, ...bd2, t)
19
+
20
+ return [
21
+ '',
22
+ ` ${g('▐')}${gd('▛██▜')}${g('▌')}`,
23
+ ` ${g('▐')}${gd('█')}${b('●')}${gd('█')}${b('●')}${gd('█')}${g('▌')}`,
24
+ ` ${g('▝')}${gd('▀█▀')}${g('▘')}`,
25
+ ` ${br('▄██████████▄')}`,
26
+ ` ${br('▐')}${bb('██')}${br('▐')}${bb('██')}${br('▐')}${bb('██')}${br('▐')}${bb('██')}${br('▌')}`,
27
+ ` ${br('▐')}${bb('██')}${br('▐')}${bb('██')}${br('▐')}${bb('██')}${br('▐')}${bb('██')}${br('▌')}`,
28
+ ` ${br('▐')}${bb('██')}${br('▐')}${bb('██')}${br('▐')}${bb('██')}${br('▐')}${bb('██')}${br('▌')}`,
29
+ ` ${br('▀██████████▀')}`,
30
+ ` ${g('▟▘')} ${g('▝▙')}`,
31
+ ` ${d('▀▀')} ${d('▀▀')}`,
32
+ '',
33
+ ].join('\n')
34
+ }
35
+ }
@@ -0,0 +1,40 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const white = [240, 240, 240]
4
+ const gray = [190, 190, 195]
5
+ const gold = [240, 210, 60]
6
+ const pink = [230, 130, 180]
7
+ const purple = [180, 100, 220]
8
+ const black = [30, 30, 30]
9
+
10
+ module.exports = {
11
+ name: 'unicorn',
12
+ render() {
13
+ const w = (t) => rgb(...white, t)
14
+ const g = (t) => rgb(...gray, t)
15
+ const go = (t) => rgb(...gold, t)
16
+ const p = (t) => rgb(...pink, t)
17
+ const pu = (t) => rgb(...purple, t)
18
+ const b = (t) => rgb(...black, t)
19
+ const wg = (t) => fgBg(...white, ...gray, t)
20
+ const pg = (t) => fgBg(...pink, ...gray, t)
21
+
22
+ return [
23
+ '',
24
+ ` ${go('▄')}`,
25
+ ` ${go('▐█▌')}`,
26
+ ` ${go('▐')}${w('█')}${go('▌')}`,
27
+ ` ${w('▄')}${wg('████')}${w('▄')}`,
28
+ ` ${w('▐')}${wg('█')}${b('●')}${wg('████')}${w('▌')}`,
29
+ ` ${w('▐')}${wg('██████')}${w('▌')}`,
30
+ ` ${w('▝')}${wg('▀███▀')}${w('▘')}`,
31
+ ` ${w('▐')}${wg('█████')}${w('▌')}`,
32
+ ` ${w('▐')}${wg('█████')}${w('▌')}`,
33
+ ` ${w('▐')}${wg('█████')}${w('▌')}`,
34
+ ` ${w('▟▘')} ${w('▝▙')}`,
35
+ ` ${g('▀▀')} ${g('▀▀')}`,
36
+ ` ${p('~')} ${pu('~')} ${go('~')} ${p('~')} ${pu('~')} ${go('~')} ${p('~')}`,
37
+ '',
38
+ ].join('\n')
39
+ }
40
+ }
@@ -0,0 +1,35 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const gray = [140, 135, 130]
4
+ const dark = [90, 85, 80]
5
+ const tan = [190, 170, 150]
6
+ const white = [240, 240, 240]
7
+ const black = [30, 30, 30]
8
+
9
+ module.exports = {
10
+ name: 'walrus',
11
+ render() {
12
+ const g = (t) => rgb(...gray, t)
13
+ const d = (t) => rgb(...dark, t)
14
+ const tn = (t) => rgb(...tan, t)
15
+ const w = (t) => rgb(...white, t)
16
+ const b = (t) => rgb(...black, t)
17
+ const gd = (t) => fgBg(...gray, ...dark, t)
18
+ const td = (t) => fgBg(...tan, ...dark, t)
19
+
20
+ return [
21
+ '',
22
+ ` ${g('▄██████████▄')}`,
23
+ ` ${g('▐')}${gd('██████████████████')}${g('▌')}`,
24
+ ` ${g('▐')}${gd('████')}${b('●')}${gd('████████')}${b('●')}${gd('████')}${g('▌')}`,
25
+ ` ${g('▐')}${gd('████')}${td('██████████')}${gd('████')}${g('▌')}`,
26
+ ` ${g('▐')}${gd('████')}${td('██')}${w('▐█▌')}${td('██')}${w('▐█▌')}${gd('████')}${g('▌')}`,
27
+ ` ${g('▝')}${gd('▀██████████████████▀')}${g('▘')}`,
28
+ ` ${g('▐')}${gd('████████████████')}${g('▌')}`,
29
+ ` ${g('▐')}${gd('████████████████')}${g('▌')}`,
30
+ ` ${g('▟███▘')} ${g('▝███▙')}`,
31
+ ` ${d('▀▀▀▀▀')} ${d('▀▀▀▀▀')}`,
32
+ '',
33
+ ].join('\n')
34
+ }
35
+ }
@@ -0,0 +1,42 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const blue = [60, 120, 200]
4
+ const dark = [30, 70, 140]
5
+ const light = [140, 190, 240]
6
+ const white = [240, 240, 240]
7
+ const black = [30, 30, 30]
8
+
9
+ module.exports = {
10
+ name: 'whale',
11
+ render() {
12
+ const bl = (t) => rgb(...blue, t)
13
+ const d = (t) => rgb(...dark, t)
14
+ const l = (t) => rgb(...light, t)
15
+ const w = (t) => rgb(...white, t)
16
+ const b = (t) => rgb(...black, t)
17
+ const bd = (t) => fgBg(...blue, ...dark, t)
18
+ const ld = (t) => fgBg(...light, ...dark, t)
19
+
20
+ return [
21
+ '',
22
+ ` ${l('░')}`,
23
+ ` ${l('░░░')}`,
24
+ ` ${l('░')}`,
25
+ ` ${bl('▄████████████▄')}`,
26
+ ` ${bl('▐')}${bd('██')}${b('●')}${bd('█████████████')}${bl('▌')}`,
27
+ ` ${bl('▐')}${bd('████████████████')}${bl('▌')}`,
28
+ ` ${bl('▐')}${bd('██')}${ld('████████')}${bd('██████')}${bl('▌')}`,
29
+ ` ${bl('▀')}${bd('██████████████')}${bl('▀')}`,
30
+ ` ${bl('▀▀▀▀▀▀▀▀▀▀▀▀')}`,
31
+ ` ${l('░░░░░░░░░░░░░░░░░░')}`,
32
+ '',
33
+ ].join('\n')
34
+ },
35
+ tiny() {
36
+ const bl = (t) => rgb(...blue, t)
37
+ const bd = (t) => fgBg(...blue, ...dark, t)
38
+ const b = (t) => rgb(...black, t)
39
+ const l = (t) => rgb(...light, t)
40
+ return ['', ` ${bl('▄████████████▄')}`, ` ${bl('▐')}${bd('██')}${b('●')}${bd('█████████████')}${bl('▌')}`, ` ${bl('▀')}${bd('██████████████')}${bl('▀')}`, ` ${l('░░░░░░░░░░░░░░░░░░')}`, ''].join('\n')
41
+ }
42
+ }
@@ -0,0 +1,36 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const gray = [130, 135, 145]
4
+ const dark = [75, 80, 90]
5
+ const white = [240, 240, 240]
6
+ const black = [30, 30, 30]
7
+ const yellow = [220, 200, 60]
8
+
9
+ module.exports = {
10
+ name: 'wolf',
11
+ render() {
12
+ const g = (t) => rgb(...gray, t)
13
+ const d = (t) => rgb(...dark, t)
14
+ const w = (t) => rgb(...white, t)
15
+ const b = (t) => rgb(...black, t)
16
+ const y = (t) => rgb(...yellow, t)
17
+ const gd = (t) => fgBg(...gray, ...dark, t)
18
+ const wd = (t) => fgBg(...white, ...dark, t)
19
+
20
+ return [
21
+ '',
22
+ ` ${g('▄▖')} ${g('▗▄')}`,
23
+ ` ${g('██▖')} ${g('▗██')}`,
24
+ ` ${g('███')}${gd('███████')}${g('███')}`,
25
+ ` ${g('▝')}${gd('█')}${y('◆')}${gd('███████')}${y('◆')}${gd('█')}${g('▘')}`,
26
+ ` ${g('▐')}${gd('████')}${wd('███')}${gd('████')}${g('▌')}`,
27
+ ` ${g('▐')}${gd('████')}${wd('█▄█')}${gd('████')}${g('▌')}`,
28
+ ` ${g('▝')}${gd('▀███████▀')}${g('▘')}`,
29
+ ` ${g('▐')}${gd('█████████')}${g('▌')}`,
30
+ ` ${g('▐')}${gd('█████████')}${g('▌')}`,
31
+ ` ${g('▟██▘')} ${g('▝██▙')}`,
32
+ ` ${d('▀▀▀▀')} ${d('▀▀▀▀')}`,
33
+ '',
34
+ ].join('\n')
35
+ }
36
+ }
package/animals/yak.js ADDED
@@ -0,0 +1,36 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const brown = [100, 70, 40]
4
+ const dark = [60, 40, 20]
5
+ const tan = [160, 120, 70]
6
+ const black = [30, 30, 30]
7
+ const gray = [140, 130, 120]
8
+
9
+ module.exports = {
10
+ name: 'yak',
11
+ render() {
12
+ const br = (t) => rgb(...brown, t)
13
+ const d = (t) => rgb(...dark, t)
14
+ const tn = (t) => rgb(...tan, t)
15
+ const b = (t) => rgb(...black, t)
16
+ const g = (t) => rgb(...gray, t)
17
+ const bd = (t) => fgBg(...brown, ...dark, t)
18
+ const td = (t) => fgBg(...tan, ...dark, t)
19
+
20
+ return [
21
+ '',
22
+ ` ${g('▄▄▖')} ${g('▗▄▄')}`,
23
+ ` ${g('▀██▖')} ${g('▗██▀')}`,
24
+ ` ${br('▝')}${bd('█████████████')}${br('▘')}`,
25
+ ` ${br('▐')}${bd('███')}${b('●')}${bd('█████')}${b('●')}${bd('███')}${br('▌')}`,
26
+ ` ${br('▐')}${bd('█████████████████')}${br('▌')}`,
27
+ ` ${br('▝')}${bd('▀██████████████▀')}${br('▘')}`,
28
+ ` ${tn('░░')}${br('▐')}${bd('██████████████')}${br('▌')}${tn('░░')}`,
29
+ ` ${tn('░░')}${br('▐')}${bd('██████████████')}${br('▌')}${tn('░░')}`,
30
+ ` ${tn('░░')}${br('▐')}${bd('██████████████')}${br('▌')}${tn('░░')}`,
31
+ ` ${tn('░░')}${br('▟██▘')} ${br('▝██▙')}${tn('░░')}`,
32
+ ` ${tn('░░')}${d('▀▀▀▀')} ${d('▀▀▀▀')}${tn('░░')}`,
33
+ '',
34
+ ].join('\n')
35
+ }
36
+ }
@@ -0,0 +1,34 @@
1
+ const { rgb, fgBg } = require('../color')
2
+
3
+ const white = [240, 240, 240]
4
+ const black = [30, 30, 30]
5
+ const gray = [180, 180, 180]
6
+ const dark = [60, 60, 60]
7
+
8
+ module.exports = {
9
+ name: 'zebra',
10
+ render() {
11
+ const w = (t) => rgb(...white, t)
12
+ const b = (t) => rgb(...black, t)
13
+ const g = (t) => rgb(...gray, t)
14
+ const d = (t) => rgb(...dark, t)
15
+ const wb = (t) => fgBg(...white, ...black, t)
16
+ const bw = (t) => fgBg(...black, ...white, t)
17
+
18
+ return [
19
+ '',
20
+ ` ${b('▄▖')} ${b('▗▄')}`,
21
+ ` ${b('██▖')} ${b('▗██')}`,
22
+ ` ${b('▐')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('▌')}`,
23
+ ` ${w('▐')}${wb('██')}${b('●')}${wb('█████')}${b('●')}${wb('██')}${w('▌')}`,
24
+ ` ${w('▐')}${wb('█████████████')}${w('▌')}`,
25
+ ` ${w('▝')}${wb('▀█████████▀')}${w('▘')}`,
26
+ ` ${b('▐')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('▌')}`,
27
+ ` ${b('▐')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('▌')}`,
28
+ ` ${b('▐')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('█')}${wb('█')}${b('▌')}`,
29
+ ` ${b('▟█▘')} ${b('▝█▙')}`,
30
+ ` ${d('▀▀▀')} ${d('▀▀▀')}`,
31
+ '',
32
+ ].join('\n')
33
+ }
34
+ }
package/color.js ADDED
@@ -0,0 +1,9 @@
1
+ const esc = '\x1b['
2
+ const reset = `${esc}0m`
3
+
4
+ const rgb = (r, g, b, text) => `${esc}38;2;${r};${g};${b}m${text}${reset}`
5
+ const bgRgb = (r, g, b, text) => `${esc}48;2;${r};${g};${b}m${text}${reset}`
6
+ const fgBg = (fr, fg, fb, br, bg, bb, text) =>
7
+ `${esc}38;2;${fr};${fg};${fb};48;2;${br};${bg};${bb}m${text}${reset}`
8
+
9
+ module.exports = { rgb, bgRgb, fgBg }
@@ -0,0 +1,41 @@
1
+ #compdef meeb
2
+
3
+ _meeb() {
4
+ local -a animals flags
5
+
6
+ animals=($(meeb --list 2>/dev/null))
7
+
8
+ flags=(
9
+ '--all:show all animals'
10
+ '--random:show a random animal'
11
+ '--list:print names only'
12
+ '--count:print total number of animals'
13
+ '--say:speech bubble above the animal'
14
+ '--tiny:compact 4-5 row version'
15
+ '--hat:seasonal hat'
16
+ '--flip:mirror horizontally'
17
+ '--fortune:random fortune'
18
+ '--no-color:strip ANSI codes'
19
+ '--help:show help'
20
+ '--theme:color theme (neon, pastel, retro, mono, matrix)'
21
+ '--motd:message of the day'
22
+ '--pair:two animals side by side'
23
+ '--diff:compare two animals'
24
+ '--animate:terminal animation'
25
+ '--info:fun animal fact'
26
+ '--calendar:animal of the day'
27
+ '--commit:git commit speech bubble'
28
+ '--ci:markdown-safe output'
29
+ '--gif:save as gif'
30
+ '--png:save as png'
31
+ '--svg:save as svg'
32
+ '--browse:interactive TUI'
33
+ '--install-completions:install shell completions'
34
+ )
35
+
36
+ _arguments \
37
+ '1:animal:compadd -a animals' \
38
+ '*:flags:_describe "flag" flags'
39
+ }
40
+
41
+ _meeb "$@"
@@ -0,0 +1,16 @@
1
+ _meeb_completions() {
2
+ local cur="${COMP_WORDS[COMP_CWORD]}"
3
+ local prev="${COMP_WORDS[COMP_CWORD-1]}"
4
+
5
+ if [[ "$prev" == "--theme" ]]; then
6
+ COMPREPLY=($(compgen -W "neon pastel retro mono matrix" -- "$cur"))
7
+ elif [[ "$cur" == --* ]]; then
8
+ COMPREPLY=($(compgen -W "--all --random --list --count --say --tiny --hat --flip --fortune --no-color --help --theme --motd --pair --diff --animate --info --calendar --commit --ci --gif --png --svg --browse --install-completions" -- "$cur"))
9
+ else
10
+ local animals
11
+ animals=$(meeb --list 2>/dev/null)
12
+ COMPREPLY=($(compgen -W "$animals" -- "$cur"))
13
+ fi
14
+ }
15
+
16
+ complete -F _meeb_completions meeb
package/emoji.js ADDED
@@ -0,0 +1,30 @@
1
+ const map = {
2
+ '🐧': 'penguin', 'ðŸą': 'cat', '🐈': 'cat', 'ðŸķ': 'dog', '🐕': 'dog',
3
+ 'ðŸĶŠ': 'fox', 'ðŸŧ': 'bear', 'ðŸĶ‰': 'owl', '🐰': 'bunny', '🐇': 'bunny',
4
+ 'ðŸļ': 'frog', '🐞': 'panda', '🐍': 'snake', 'ðŸĶ†': 'duck', '🐭': 'mouse',
5
+ '🐁': 'mouse', '🐋': 'whale', 'ðŸģ': 'whale', '🐙': 'octopus', 'ðŸĶ‡': 'bat',
6
+ '🐟': 'fish', '🐠': 'fish', 'ðŸĒ': 'turtle', 'ðŸĶ€': 'crab', '🐒': 'monkey',
7
+ 'ðŸĩ': 'monkey', '🐷': 'pig', '🐖': 'pig', 'ðŸĻ': 'koala', 'ðŸĶ': 'lion',
8
+ 'ðŸĶˆ': 'shark', '🐘': 'elephant', 'ðŸĶ„': 'unicorn', '🊞': 'jellyfish',
9
+ 'ðŸĶĨ': 'sloth', '🐚': 'wolf', 'ðŸĶœ': 'parrot', 'ðŸĶ”': 'hedgehog',
10
+ 'ðŸĶ’': 'giraffe', 'ðŸĶĐ': 'flamingo', 'ðŸĶ': 'raccoon', 'ðŸĶ›': 'hippo',
11
+ 'ðŸĶŒ': 'deer', 'ðŸĶ‘': 'squid', 'ðŸĶ': 'gorilla', '🐉': 'dragon', 'ðŸē': 'dragon',
12
+ 'ðŸ‘―': 'alien', 'ðŸĪ–': 'robot', 'ðŸ‘ŧ': 'ghost', 'ðŸĶ•': 'dino', 'ðŸĶ–': 'dino',
13
+ 'ðŸĶ“': 'zebra', '🐌': 'snail', '🐝': 'bee', 'ðŸĶ‹': 'butterfly',
14
+ 'ðŸĶ‚': 'scorpion', '🐊': 'crocodile', 'ðŸĶŽ': 'chameleon',
15
+ 'ðŸĶž': 'seahorse', 'ðŸĶĶ': 'otter', 'ðŸĶ': 'mantisshrimp',
16
+ '🐋': 'narwhal', 'ðŸĶš': 'peacock', '🕷ïļ': 'spider', '🕷': 'spider',
17
+ 'ðŸĨ': 'chick', 'ðŸĪ': 'chick', '🐞': 'ladybug',
18
+ 'ðŸĶŦ': 'capybara', '🐑': 'axolotl',
19
+ 'ðŸđ': 'hamster', 'ðŸĶĒ': 'swan', 'ðŸĶ…': 'eagle',
20
+ 'ðŸĶ­': 'walrus', 'ðŸĶ': 'toucan', '🐃': 'yak',
21
+ 'ðŸŠē': 'firefly', '🍊': 'cookie',
22
+ '⭐': 'starfish', '🌟': 'starfish',
23
+ 'ðŸ’Đ': 'shit', '🖕': 'shit',
24
+ }
25
+
26
+ function resolve(input) {
27
+ return map[input] || null
28
+ }
29
+
30
+ module.exports = { resolve, map }
package/fortune.js ADDED
@@ -0,0 +1,41 @@
1
+ const { execSync } = require('child_process')
2
+
3
+ const builtIn = [
4
+ "A wise mass of pixels once said: just vibe.",
5
+ "You will find a bug. It was your bug all along.",
6
+ "The terminal remembers everything. Be nice to it.",
7
+ "Today is a good day to refactor... tomorrow.",
8
+ "Your code works. Don't touch it.",
9
+ "404: fortune not found. Try again later.",
10
+ "git push --force and pray.",
11
+ "There are 10 kinds of animals: those in your terminal and those that wish they were.",
12
+ "Tabs or spaces? The answer is: pets.",
13
+ "A cookie told me you'd be here.",
14
+ "The capybara is never wrong. Trust the capybara.",
15
+ "You are the main character of someone's console.log.",
16
+ "In a world of bugs, be a feature.",
17
+ "The narwhal bacons at midnight. Whatever that means.",
18
+ "Rebasing is just time travel with merge conflicts.",
19
+ "An octopus can solve 8 problems at once. You can solve 1. Badly.",
20
+ "The owl sees your code at 3am. It judges you.",
21
+ "Every exit is an entrance to a new segfault.",
22
+ "Be like the sloth: slow, deliberate, and surprisingly good at climbing.",
23
+ "The penguin envies nothing. Be like the penguin.",
24
+ "A firefly's glow comes from within. Yours comes from a monitor.",
25
+ "You are one semicolon away from greatness.",
26
+ "The answer is 42. The question was 'how many animals does meeb have?'... wait, it has more now.",
27
+ "Some days you're the dragon. Some days you're the bug the dragon ate.",
28
+ "Everything is a stream if you squint hard enough.",
29
+ ]
30
+
31
+ function getFortune() {
32
+ try {
33
+ const out = execSync('fortune -s 2>/dev/null', { encoding: 'utf8', timeout: 2000 })
34
+ // fortune can be multi-line, join into one
35
+ return out.trim().replace(/\n/g, ' ').replace(/\s+/g, ' ')
36
+ } catch {
37
+ return builtIn[Math.floor(Math.random() * builtIn.length)]
38
+ }
39
+ }
40
+
41
+ module.exports = { getFortune }