@@ -0,0 +1,1827 @@
1+-- | This module contains specs for a number of default spinning indicators.
2+-- This file has been auto-generated using scripts/codegen. The specs
3+-- themselves have been copied from github.com/sindresorhus/cli-spinners.
4+module Spin.Specs
5+ ( dotsSpec
6+ , dots2Spec
7+ , dots3Spec
8+ , dots4Spec
9+ , dots5Spec
10+ , dots6Spec
11+ , dots7Spec
12+ , dots8Spec
13+ , dots9Spec
14+ , dots10Spec
15+ , dots11Spec
16+ , dots12Spec
17+ , lineSpec
18+ , line2Spec
19+ , pipeSpec
20+ , simpleDotsSpec
21+ , simpleDotsScrollingSpec
22+ , starSpec
23+ , star2Spec
24+ , flipSpec
25+ , hamburgerSpec
26+ , growVerticalSpec
27+ , growHorizontalSpec
28+ , balloonSpec
29+ , balloon2Spec
30+ , noiseSpec
31+ , bounceSpec
32+ , boxBounceSpec
33+ , boxBounce2Spec
34+ , triangleSpec
35+ , arcSpec
36+ , circleSpec
37+ , squareCornersSpec
38+ , circleQuartersSpec
39+ , circleHalvesSpec
40+ , squishSpec
41+ , toggleSpec
42+ , toggle2Spec
43+ , toggle3Spec
44+ , toggle4Spec
45+ , toggle5Spec
46+ , toggle6Spec
47+ , toggle7Spec
48+ , toggle8Spec
49+ , toggle9Spec
50+ , toggle10Spec
51+ , toggle11Spec
52+ , toggle12Spec
53+ , toggle13Spec
54+ , arrowSpec
55+ , arrow2Spec
56+ , arrow3Spec
57+ , bouncingBarSpec
58+ , bouncingBallSpec
59+ , smileySpec
60+ , monkeySpec
61+ , heartsSpec
62+ , clockSpec
63+ , earthSpec
64+ , moonSpec
65+ , runnerSpec
66+ , pongSpec
67+ , sharkSpec
68+ , dqpbSpec
69+ , weatherSpec
70+ , christmasSpec
71+ , grenadeSpec
72+ , pointSpec
73+ , layerSpec
74+ ) where
75+
76+import Spin.Types
77+
78+-- | Spec for dots spinning indicator:
79+-- ⠋
80+-- ⠙
81+-- ⠹
82+-- ⠸
83+-- ⠼
84+-- ⠴
85+-- ⠦
86+-- ⠧
87+-- ⠇
88+-- ⠏
89+dotsSpec :: Spec
90+dotsSpec = Spec
91+ { specName = "dots"
92+ , specInterval = 80
93+ , specFrames =
94+ [ "⠋"
95+ , "⠙"
96+ , "⠹"
97+ , "⠸"
98+ , "⠼"
99+ , "⠴"
100+ , "⠦"
101+ , "⠧"
102+ , "⠇"
103+ , "⠏"
104+ ]
105+ }
106+
107+-- | Spec for dots2 spinning indicator:
108+-- ⣾
109+-- ⣽
110+-- ⣻
111+-- ⢿
112+-- ⡿
113+-- ⣟
114+-- ⣯
115+-- ⣷
116+dots2Spec :: Spec
117+dots2Spec = Spec
118+ { specName = "dots2"
119+ , specInterval = 80
120+ , specFrames =
121+ [ "⣾"
122+ , "⣽"
123+ , "⣻"
124+ , "⢿"
125+ , "⡿"
126+ , "⣟"
127+ , "⣯"
128+ , "⣷"
129+ ]
130+ }
131+
132+-- | Spec for dots3 spinning indicator:
133+-- ⠋
134+-- ⠙
135+-- ⠚
136+-- ⠞
137+-- ⠖
138+-- ⠦
139+-- ⠴
140+-- ⠲
141+-- ⠳
142+-- ⠓
143+dots3Spec :: Spec
144+dots3Spec = Spec
145+ { specName = "dots3"
146+ , specInterval = 80
147+ , specFrames =
148+ [ "⠋"
149+ , "⠙"
150+ , "⠚"
151+ , "⠞"
152+ , "⠖"
153+ , "⠦"
154+ , "⠴"
155+ , "⠲"
156+ , "⠳"
157+ , "⠓"
158+ ]
159+ }
160+
161+-- | Spec for dots4 spinning indicator:
162+-- ⠄
163+-- ⠆
164+-- ⠇
165+-- ⠋
166+-- ⠙
167+-- ⠸
168+-- ⠰
169+-- ⠠
170+-- ⠰
171+-- ⠸
172+-- ⠙
173+-- ⠋
174+-- ⠇
175+-- ⠆
176+dots4Spec :: Spec
177+dots4Spec = Spec
178+ { specName = "dots4"
179+ , specInterval = 80
180+ , specFrames =
181+ [ "⠄"
182+ , "⠆"
183+ , "⠇"
184+ , "⠋"
185+ , "⠙"
186+ , "⠸"
187+ , "⠰"
188+ , "⠠"
189+ , "⠰"
190+ , "⠸"
191+ , "⠙"
192+ , "⠋"
193+ , "⠇"
194+ , "⠆"
195+ ]
196+ }
197+
198+-- | Spec for dots5 spinning indicator:
199+-- ⠋
200+-- ⠙
201+-- ⠚
202+-- ⠒
203+-- ⠂
204+-- ⠂
205+-- ⠒
206+-- ⠲
207+-- ⠴
208+-- ⠦
209+-- ⠖
210+-- ⠒
211+-- ⠐
212+-- ⠐
213+-- ⠒
214+-- ⠓
215+-- ⠋
216+dots5Spec :: Spec
217+dots5Spec = Spec
218+ { specName = "dots5"
219+ , specInterval = 80
220+ , specFrames =
221+ [ "⠋"
222+ , "⠙"
223+ , "⠚"
224+ , "⠒"
225+ , "⠂"
226+ , "⠂"
227+ , "⠒"
228+ , "⠲"
229+ , "⠴"
230+ , "⠦"
231+ , "⠖"
232+ , "⠒"
233+ , "⠐"
234+ , "⠐"
235+ , "⠒"
236+ , "⠓"
237+ , "⠋"
238+ ]
239+ }
240+
241+-- | Spec for dots6 spinning indicator:
242+-- ⠁
243+-- ⠉
244+-- ⠙
245+-- ⠚
246+-- ⠒
247+-- ⠂
248+-- ⠂
249+-- ⠒
250+-- ⠲
251+-- ⠴
252+-- ⠤
253+-- ⠄
254+-- ⠄
255+-- ⠤
256+-- ⠴
257+-- ⠲
258+-- ⠒
259+-- ⠂
260+-- ⠂
261+-- ⠒
262+-- ⠚
263+-- ⠙
264+-- ⠉
265+-- ⠁
266+dots6Spec :: Spec
267+dots6Spec = Spec
268+ { specName = "dots6"
269+ , specInterval = 80
270+ , specFrames =
271+ [ "⠁"
272+ , "⠉"
273+ , "⠙"
274+ , "⠚"
275+ , "⠒"
276+ , "⠂"
277+ , "⠂"
278+ , "⠒"
279+ , "⠲"
280+ , "⠴"
281+ , "⠤"
282+ , "⠄"
283+ , "⠄"
284+ , "⠤"
285+ , "⠴"
286+ , "⠲"
287+ , "⠒"
288+ , "⠂"
289+ , "⠂"
290+ , "⠒"
291+ , "⠚"
292+ , "⠙"
293+ , "⠉"
294+ , "⠁"
295+ ]
296+ }
297+
298+-- | Spec for dots7 spinning indicator:
299+-- ⠈
300+-- ⠉
301+-- ⠋
302+-- ⠓
303+-- ⠒
304+-- ⠐
305+-- ⠐
306+-- ⠒
307+-- ⠖
308+-- ⠦
309+-- ⠤
310+-- ⠠
311+-- ⠠
312+-- ⠤
313+-- ⠦
314+-- ⠖
315+-- ⠒
316+-- ⠐
317+-- ⠐
318+-- ⠒
319+-- ⠓
320+-- ⠋
321+-- ⠉
322+-- ⠈
323+dots7Spec :: Spec
324+dots7Spec = Spec
325+ { specName = "dots7"
326+ , specInterval = 80
327+ , specFrames =
328+ [ "⠈"
329+ , "⠉"
330+ , "⠋"
331+ , "⠓"
332+ , "⠒"
333+ , "⠐"
334+ , "⠐"
335+ , "⠒"
336+ , "⠖"
337+ , "⠦"
338+ , "⠤"
339+ , "⠠"
340+ , "⠠"
341+ , "⠤"
342+ , "⠦"
343+ , "⠖"
344+ , "⠒"
345+ , "⠐"
346+ , "⠐"
347+ , "⠒"
348+ , "⠓"
349+ , "⠋"
350+ , "⠉"
351+ , "⠈"
352+ ]
353+ }
354+
355+-- | Spec for dots8 spinning indicator:
356+-- ⠁
357+-- ⠁
358+-- ⠉
359+-- ⠙
360+-- ⠚
361+-- ⠒
362+-- ⠂
363+-- ⠂
364+-- ⠒
365+-- ⠲
366+-- ⠴
367+-- ⠤
368+-- ⠄
369+-- ⠄
370+-- ⠤
371+-- ⠠
372+-- ⠠
373+-- ⠤
374+-- ⠦
375+-- ⠖
376+-- ⠒
377+-- ⠐
378+-- ⠐
379+-- ⠒
380+-- ⠓
381+-- ⠋
382+-- ⠉
383+-- ⠈
384+-- ⠈
385+dots8Spec :: Spec
386+dots8Spec = Spec
387+ { specName = "dots8"
388+ , specInterval = 80
389+ , specFrames =
390+ [ "⠁"
391+ , "⠁"
392+ , "⠉"
393+ , "⠙"
394+ , "⠚"
395+ , "⠒"
396+ , "⠂"
397+ , "⠂"
398+ , "⠒"
399+ , "⠲"
400+ , "⠴"
401+ , "⠤"
402+ , "⠄"
403+ , "⠄"
404+ , "⠤"
405+ , "⠠"
406+ , "⠠"
407+ , "⠤"
408+ , "⠦"
409+ , "⠖"
410+ , "⠒"
411+ , "⠐"
412+ , "⠐"
413+ , "⠒"
414+ , "⠓"
415+ , "⠋"
416+ , "⠉"
417+ , "⠈"
418+ , "⠈"
419+ ]
420+ }
421+
422+-- | Spec for dots9 spinning indicator:
423+-- ⢹
424+-- ⢺
425+-- ⢼
426+-- ⣸
427+-- ⣇
428+-- ⡧
429+-- ⡗
430+-- ⡏
431+dots9Spec :: Spec
432+dots9Spec = Spec
433+ { specName = "dots9"
434+ , specInterval = 80
435+ , specFrames =
436+ [ "⢹"
437+ , "⢺"
438+ , "⢼"
439+ , "⣸"
440+ , "⣇"
441+ , "⡧"
442+ , "⡗"
443+ , "⡏"
444+ ]
445+ }
446+
447+-- | Spec for dots10 spinning indicator:
448+-- ⢄
449+-- ⢂
450+-- ⢁
451+-- ⡁
452+-- ⡈
453+-- ⡐
454+-- ⡠
455+dots10Spec :: Spec
456+dots10Spec = Spec
457+ { specName = "dots10"
458+ , specInterval = 80
459+ , specFrames =
460+ [ "⢄"
461+ , "⢂"
462+ , "⢁"
463+ , "⡁"
464+ , "⡈"
465+ , "⡐"
466+ , "⡠"
467+ ]
468+ }
469+
470+-- | Spec for dots11 spinning indicator:
471+-- ⠁
472+-- ⠂
473+-- ⠄
474+-- ⡀
475+-- ⢀
476+-- ⠠
477+-- ⠐
478+-- ⠈
479+dots11Spec :: Spec
480+dots11Spec = Spec
481+ { specName = "dots11"
482+ , specInterval = 100
483+ , specFrames =
484+ [ "⠁"
485+ , "⠂"
486+ , "⠄"
487+ , "⡀"
488+ , "⢀"
489+ , "⠠"
490+ , "⠐"
491+ , "⠈"
492+ ]
493+ }
494+
495+-- | Spec for dots12 spinning indicator:
496+-- ⢀⠀
497+-- ⡀⠀
498+-- ⠄⠀
499+-- ⢂⠀
500+-- ⡂⠀
501+-- ⠅⠀
502+-- ⢃⠀
503+-- ⡃⠀
504+-- ⠍⠀
505+-- ⢋⠀
506+-- ⡋⠀
507+-- ⠍⠁
508+-- ⢋⠁
509+-- ⡋⠁
510+-- ⠍⠉
511+-- ⠋⠉
512+-- ⠋⠉
513+-- ⠉⠙
514+-- ⠉⠙
515+-- ⠉⠩
516+-- ⠈⢙
517+-- ⠈⡙
518+-- ⢈⠩
519+-- ⡀⢙
520+-- ⠄⡙
521+-- ⢂⠩
522+-- ⡂⢘
523+-- ⠅⡘
524+-- ⢃⠨
525+-- ⡃⢐
526+-- ⠍⡐
527+-- ⢋⠠
528+-- ⡋⢀
529+-- ⠍⡁
530+-- ⢋⠁
531+-- ⡋⠁
532+-- ⠍⠉
533+-- ⠋⠉
534+-- ⠋⠉
535+-- ⠉⠙
536+-- ⠉⠙
537+-- ⠉⠩
538+-- ⠈⢙
539+-- ⠈⡙
540+-- ⠈⠩
541+-- ⠀⢙
542+-- ⠀⡙
543+-- ⠀⠩
544+-- ⠀⢘
545+-- ⠀⡘
546+-- ⠀⠨
547+-- ⠀⢐
548+-- ⠀⡐
549+-- ⠀⠠
550+-- ⠀⢀
551+-- ⠀⡀
552+dots12Spec :: Spec
553+dots12Spec = Spec
554+ { specName = "dots12"
555+ , specInterval = 80
556+ , specFrames =
557+ [ "⢀⠀"
558+ , "⡀⠀"
559+ , "⠄⠀"
560+ , "⢂⠀"
561+ , "⡂⠀"
562+ , "⠅⠀"
563+ , "⢃⠀"
564+ , "⡃⠀"
565+ , "⠍⠀"
566+ , "⢋⠀"
567+ , "⡋⠀"
568+ , "⠍⠁"
569+ , "⢋⠁"
570+ , "⡋⠁"
571+ , "⠍⠉"
572+ , "⠋⠉"
573+ , "⠋⠉"
574+ , "⠉⠙"
575+ , "⠉⠙"
576+ , "⠉⠩"
577+ , "⠈⢙"
578+ , "⠈⡙"
579+ , "⢈⠩"
580+ , "⡀⢙"
581+ , "⠄⡙"
582+ , "⢂⠩"
583+ , "⡂⢘"
584+ , "⠅⡘"
585+ , "⢃⠨"
586+ , "⡃⢐"
587+ , "⠍⡐"
588+ , "⢋⠠"
589+ , "⡋⢀"
590+ , "⠍⡁"
591+ , "⢋⠁"
592+ , "⡋⠁"
593+ , "⠍⠉"
594+ , "⠋⠉"
595+ , "⠋⠉"
596+ , "⠉⠙"
597+ , "⠉⠙"
598+ , "⠉⠩"
599+ , "⠈⢙"
600+ , "⠈⡙"
601+ , "⠈⠩"
602+ , "⠀⢙"
603+ , "⠀⡙"
604+ , "⠀⠩"
605+ , "⠀⢘"
606+ , "⠀⡘"
607+ , "⠀⠨"
608+ , "⠀⢐"
609+ , "⠀⡐"
610+ , "⠀⠠"
611+ , "⠀⢀"
612+ , "⠀⡀"
613+ ]
614+ }
615+
616+-- | Spec for line spinning indicator:
617+-- -
618+-- \
619+-- |
620+-- /
621+lineSpec :: Spec
622+lineSpec = Spec
623+ { specName = "line"
624+ , specInterval = 130
625+ , specFrames =
626+ [ "-"
627+ , "\\"
628+ , "|"
629+ , "/"
630+ ]
631+ }
632+
633+-- | Spec for line2 spinning indicator:
634+-- ⠂
635+-- -
636+-- –
637+-- —
638+-- –
639+-- -
640+line2Spec :: Spec
641+line2Spec = Spec
642+ { specName = "line2"
643+ , specInterval = 100
644+ , specFrames =
645+ [ "⠂"
646+ , "-"
647+ , "–"
648+ , "—"
649+ , "–"
650+ , "-"
651+ ]
652+ }
653+
654+-- | Spec for pipe spinning indicator:
655+-- ┤
656+-- ┘
657+-- ┴
658+-- └
659+-- ├
660+-- ┌
661+-- ┬
662+-- ┐
663+pipeSpec :: Spec
664+pipeSpec = Spec
665+ { specName = "pipe"
666+ , specInterval = 100
667+ , specFrames =
668+ [ "┤"
669+ , "┘"
670+ , "┴"
671+ , "└"
672+ , "├"
673+ , "┌"
674+ , "┬"
675+ , "┐"
676+ ]
677+ }
678+
679+-- | Spec for simpleDots spinning indicator:
680+-- .
681+-- ..
682+-- ...
683+--
684+simpleDotsSpec :: Spec
685+simpleDotsSpec = Spec
686+ { specName = "simpleDots"
687+ , specInterval = 400
688+ , specFrames =
689+ [ ". "
690+ , ".. "
691+ , "..."
692+ , " "
693+ ]
694+ }
695+
696+-- | Spec for simpleDotsScrolling spinning indicator:
697+-- .
698+-- ..
699+-- ...
700+-- ..
701+-- .
702+--
703+simpleDotsScrollingSpec :: Spec
704+simpleDotsScrollingSpec = Spec
705+ { specName = "simpleDotsScrolling"
706+ , specInterval = 200
707+ , specFrames =
708+ [ ". "
709+ , ".. "
710+ , "..."
711+ , " .."
712+ , " ."
713+ , " "
714+ ]
715+ }
716+
717+-- | Spec for star spinning indicator:
718+-- ✶
719+-- ✸
720+-- ✹
721+-- ✺
722+-- ✹
723+-- ✷
724+starSpec :: Spec
725+starSpec = Spec
726+ { specName = "star"
727+ , specInterval = 70
728+ , specFrames =
729+ [ "✶"
730+ , "✸"
731+ , "✹"
732+ , "✺"
733+ , "✹"
734+ , "✷"
735+ ]
736+ }
737+
738+-- | Spec for star2 spinning indicator:
739+-- +
740+-- x
741+-- *
742+star2Spec :: Spec
743+star2Spec = Spec
744+ { specName = "star2"
745+ , specInterval = 80
746+ , specFrames =
747+ [ "+"
748+ , "x"
749+ , "*"
750+ ]
751+ }
752+
753+-- | Spec for flip spinning indicator:
754+-- _
755+-- _
756+-- _
757+-- -
758+-- `
759+-- `
760+-- '
761+-- ´
762+-- -
763+-- _
764+-- _
765+-- _
766+flipSpec :: Spec
767+flipSpec = Spec
768+ { specName = "flip"
769+ , specInterval = 70
770+ , specFrames =
771+ [ "_"
772+ , "_"
773+ , "_"
774+ , "-"
775+ , "`"
776+ , "`"
777+ , "'"
778+ , "´"
779+ , "-"
780+ , "_"
781+ , "_"
782+ , "_"
783+ ]
784+ }
785+
786+-- | Spec for hamburger spinning indicator:
787+-- ☱
788+-- ☲
789+-- ☴
790+hamburgerSpec :: Spec
791+hamburgerSpec = Spec
792+ { specName = "hamburger"
793+ , specInterval = 100
794+ , specFrames =
795+ [ "☱"
796+ , "☲"
797+ , "☴"
798+ ]
799+ }
800+
801+-- | Spec for growVertical spinning indicator:
802+-- ▁
803+-- ▃
804+-- ▄
805+-- ▅
806+-- ▆
807+-- ▇
808+-- ▆
809+-- ▅
810+-- ▄
811+-- ▃
812+growVerticalSpec :: Spec
813+growVerticalSpec = Spec
814+ { specName = "growVertical"
815+ , specInterval = 120
816+ , specFrames =
817+ [ "▁"
818+ , "▃"
819+ , "▄"
820+ , "▅"
821+ , "▆"
822+ , "▇"
823+ , "▆"
824+ , "▅"
825+ , "▄"
826+ , "▃"
827+ ]
828+ }
829+
830+-- | Spec for growHorizontal spinning indicator:
831+-- ▏
832+-- ▎
833+-- ▍
834+-- ▌
835+-- ▋
836+-- ▊
837+-- ▉
838+-- ▊
839+-- ▋
840+-- ▌
841+-- ▍
842+-- ▎
843+growHorizontalSpec :: Spec
844+growHorizontalSpec = Spec
845+ { specName = "growHorizontal"
846+ , specInterval = 120
847+ , specFrames =
848+ [ "▏"
849+ , "▎"
850+ , "▍"
851+ , "▌"
852+ , "▋"
853+ , "▊"
854+ , "▉"
855+ , "▊"
856+ , "▋"
857+ , "▌"
858+ , "▍"
859+ , "▎"
860+ ]
861+ }
862+
863+-- | Spec for balloon spinning indicator:
864+--
865+-- .
866+-- o
867+-- O
868+-- @
869+-- *
870+--
871+balloonSpec :: Spec
872+balloonSpec = Spec
873+ { specName = "balloon"
874+ , specInterval = 140
875+ , specFrames =
876+ [ " "
877+ , "."
878+ , "o"
879+ , "O"
880+ , "@"
881+ , "*"
882+ , " "
883+ ]
884+ }
885+
886+-- | Spec for balloon2 spinning indicator:
887+-- .
888+-- o
889+-- O
890+-- °
891+-- O
892+-- o
893+-- .
894+balloon2Spec :: Spec
895+balloon2Spec = Spec
896+ { specName = "balloon2"
897+ , specInterval = 120
898+ , specFrames =
899+ [ "."
900+ , "o"
901+ , "O"
902+ , "°"
903+ , "O"
904+ , "o"
905+ , "."
906+ ]
907+ }
908+
909+-- | Spec for noise spinning indicator:
910+-- ▓
911+-- ▒
912+-- ░
913+noiseSpec :: Spec
914+noiseSpec = Spec
915+ { specName = "noise"
916+ , specInterval = 100
917+ , specFrames =
918+ [ "▓"
919+ , "▒"
920+ , "░"
921+ ]
922+ }
923+
924+-- | Spec for bounce spinning indicator:
925+-- ⠁
926+-- ⠂
927+-- ⠄
928+-- ⠂
929+bounceSpec :: Spec
930+bounceSpec = Spec
931+ { specName = "bounce"
932+ , specInterval = 120
933+ , specFrames =
934+ [ "⠁"
935+ , "⠂"
936+ , "⠄"
937+ , "⠂"
938+ ]
939+ }
940+
941+-- | Spec for boxBounce spinning indicator:
942+-- ▖
943+-- ▘
944+-- ▝
945+-- ▗
946+boxBounceSpec :: Spec
947+boxBounceSpec = Spec
948+ { specName = "boxBounce"
949+ , specInterval = 120
950+ , specFrames =
951+ [ "▖"
952+ , "▘"
953+ , "▝"
954+ , "▗"
955+ ]
956+ }
957+
958+-- | Spec for boxBounce2 spinning indicator:
959+-- ▌
960+-- ▀
961+-- ▐
962+-- ▄
963+boxBounce2Spec :: Spec
964+boxBounce2Spec = Spec
965+ { specName = "boxBounce2"
966+ , specInterval = 100
967+ , specFrames =
968+ [ "▌"
969+ , "▀"
970+ , "▐"
971+ , "▄"
972+ ]
973+ }
974+
975+-- | Spec for triangle spinning indicator:
976+-- ◢
977+-- ◣
978+-- ◤
979+-- ◥
980+triangleSpec :: Spec
981+triangleSpec = Spec
982+ { specName = "triangle"
983+ , specInterval = 50
984+ , specFrames =
985+ [ "◢"
986+ , "◣"
987+ , "◤"
988+ , "◥"
989+ ]
990+ }
991+
992+-- | Spec for arc spinning indicator:
993+-- ◜
994+-- ◠
995+-- ◝
996+-- ◞
997+-- ◡
998+-- ◟
999+arcSpec :: Spec
1000+arcSpec = Spec
1001+ { specName = "arc"
1002+ , specInterval = 100
1003+ , specFrames =
1004+ [ "◜"
1005+ , "◠"
1006+ , "◝"
1007+ , "◞"
1008+ , "◡"
1009+ , "◟"
1010+ ]
1011+ }
1012+
1013+-- | Spec for circle spinning indicator:
1014+-- ◡
1015+-- ⊙
1016+-- ◠
1017+circleSpec :: Spec
1018+circleSpec = Spec
1019+ { specName = "circle"
1020+ , specInterval = 120
1021+ , specFrames =
1022+ [ "◡"
1023+ , "⊙"
1024+ , "◠"
1025+ ]
1026+ }
1027+
1028+-- | Spec for squareCorners spinning indicator:
1029+-- ◰
1030+-- ◳
1031+-- ◲
1032+-- ◱
1033+squareCornersSpec :: Spec
1034+squareCornersSpec = Spec
1035+ { specName = "squareCorners"
1036+ , specInterval = 180
1037+ , specFrames =
1038+ [ "◰"
1039+ , "◳"
1040+ , "◲"
1041+ , "◱"
1042+ ]
1043+ }
1044+
1045+-- | Spec for circleQuarters spinning indicator:
1046+-- ◴
1047+-- ◷
1048+-- ◶
1049+-- ◵
1050+circleQuartersSpec :: Spec
1051+circleQuartersSpec = Spec
1052+ { specName = "circleQuarters"
1053+ , specInterval = 120
1054+ , specFrames =
1055+ [ "◴"
1056+ , "◷"
1057+ , "◶"
1058+ , "◵"
1059+ ]
1060+ }
1061+
1062+-- | Spec for circleHalves spinning indicator:
1063+-- ◐
1064+-- ◓
1065+-- ◑
1066+-- ◒
1067+circleHalvesSpec :: Spec
1068+circleHalvesSpec = Spec
1069+ { specName = "circleHalves"
1070+ , specInterval = 50
1071+ , specFrames =
1072+ [ "◐"
1073+ , "◓"
1074+ , "◑"
1075+ , "◒"
1076+ ]
1077+ }
1078+
1079+-- | Spec for squish spinning indicator:
1080+-- ╫
1081+-- ╪
1082+squishSpec :: Spec
1083+squishSpec = Spec
1084+ { specName = "squish"
1085+ , specInterval = 100
1086+ , specFrames =
1087+ [ "╫"
1088+ , "╪"
1089+ ]
1090+ }
1091+
1092+-- | Spec for toggle spinning indicator:
1093+-- ⊶
1094+-- ⊷
1095+toggleSpec :: Spec
1096+toggleSpec = Spec
1097+ { specName = "toggle"
1098+ , specInterval = 250
1099+ , specFrames =
1100+ [ "⊶"
1101+ , "⊷"
1102+ ]
1103+ }
1104+
1105+-- | Spec for toggle2 spinning indicator:
1106+-- ▫
1107+-- ▪
1108+toggle2Spec :: Spec
1109+toggle2Spec = Spec
1110+ { specName = "toggle2"
1111+ , specInterval = 80
1112+ , specFrames =
1113+ [ "▫"
1114+ , "▪"
1115+ ]
1116+ }
1117+
1118+-- | Spec for toggle3 spinning indicator:
1119+-- □
1120+-- ■
1121+toggle3Spec :: Spec
1122+toggle3Spec = Spec
1123+ { specName = "toggle3"
1124+ , specInterval = 120
1125+ , specFrames =
1126+ [ "□"
1127+ , "■"
1128+ ]
1129+ }
1130+
1131+-- | Spec for toggle4 spinning indicator:
1132+-- ■
1133+-- □
1134+-- ▪
1135+-- ▫
1136+toggle4Spec :: Spec
1137+toggle4Spec = Spec
1138+ { specName = "toggle4"
1139+ , specInterval = 100
1140+ , specFrames =
1141+ [ "■"
1142+ , "□"
1143+ , "▪"
1144+ , "▫"
1145+ ]
1146+ }
1147+
1148+-- | Spec for toggle5 spinning indicator:
1149+-- ▮
1150+-- ▯
1151+toggle5Spec :: Spec
1152+toggle5Spec = Spec
1153+ { specName = "toggle5"
1154+ , specInterval = 100
1155+ , specFrames =
1156+ [ "▮"
1157+ , "▯"
1158+ ]
1159+ }
1160+
1161+-- | Spec for toggle6 spinning indicator:
1162+-- ဝ
1163+-- ၀
1164+toggle6Spec :: Spec
1165+toggle6Spec = Spec
1166+ { specName = "toggle6"
1167+ , specInterval = 300
1168+ , specFrames =
1169+ [ "ဝ"
1170+ , "၀"
1171+ ]
1172+ }
1173+
1174+-- | Spec for toggle7 spinning indicator:
1175+-- ⦾
1176+-- ⦿
1177+toggle7Spec :: Spec
1178+toggle7Spec = Spec
1179+ { specName = "toggle7"
1180+ , specInterval = 80
1181+ , specFrames =
1182+ [ "⦾"
1183+ , "⦿"
1184+ ]
1185+ }
1186+
1187+-- | Spec for toggle8 spinning indicator:
1188+-- ◍
1189+-- ◌
1190+toggle8Spec :: Spec
1191+toggle8Spec = Spec
1192+ { specName = "toggle8"
1193+ , specInterval = 100
1194+ , specFrames =
1195+ [ "◍"
1196+ , "◌"
1197+ ]
1198+ }
1199+
1200+-- | Spec for toggle9 spinning indicator:
1201+-- ◉
1202+-- ◎
1203+toggle9Spec :: Spec
1204+toggle9Spec = Spec
1205+ { specName = "toggle9"
1206+ , specInterval = 100
1207+ , specFrames =
1208+ [ "◉"
1209+ , "◎"
1210+ ]
1211+ }
1212+
1213+-- | Spec for toggle10 spinning indicator:
1214+-- ㊂
1215+-- ㊀
1216+-- ㊁
1217+toggle10Spec :: Spec
1218+toggle10Spec = Spec
1219+ { specName = "toggle10"
1220+ , specInterval = 100
1221+ , specFrames =
1222+ [ "㊂"
1223+ , "㊀"
1224+ , "㊁"
1225+ ]
1226+ }
1227+
1228+-- | Spec for toggle11 spinning indicator:
1229+-- ⧇
1230+-- ⧆
1231+toggle11Spec :: Spec
1232+toggle11Spec = Spec
1233+ { specName = "toggle11"
1234+ , specInterval = 50
1235+ , specFrames =
1236+ [ "⧇"
1237+ , "⧆"
1238+ ]
1239+ }
1240+
1241+-- | Spec for toggle12 spinning indicator:
1242+-- ☗
1243+-- ☖
1244+toggle12Spec :: Spec
1245+toggle12Spec = Spec
1246+ { specName = "toggle12"
1247+ , specInterval = 120
1248+ , specFrames =
1249+ [ "☗"
1250+ , "☖"
1251+ ]
1252+ }
1253+
1254+-- | Spec for toggle13 spinning indicator:
1255+-- =
1256+-- *
1257+-- -
1258+toggle13Spec :: Spec
1259+toggle13Spec = Spec
1260+ { specName = "toggle13"
1261+ , specInterval = 80
1262+ , specFrames =
1263+ [ "="
1264+ , "*"
1265+ , "-"
1266+ ]
1267+ }
1268+
1269+-- | Spec for arrow spinning indicator:
1270+-- ←
1271+-- ↖
1272+-- ↑
1273+-- ↗
1274+-- →
1275+-- ↘
1276+-- ↓
1277+-- ↙
1278+arrowSpec :: Spec
1279+arrowSpec = Spec
1280+ { specName = "arrow"
1281+ , specInterval = 100
1282+ , specFrames =
1283+ [ "←"
1284+ , "↖"
1285+ , "↑"
1286+ , "↗"
1287+ , "→"
1288+ , "↘"
1289+ , "↓"
1290+ , "↙"
1291+ ]
1292+ }
1293+
1294+-- | Spec for arrow2 spinning indicator:
1295+-- ⬆️
1296+-- ↗️
1297+-- ➡️
1298+-- ↘️
1299+-- ⬇️
1300+-- ↙️
1301+-- ⬅️
1302+-- ↖️
1303+arrow2Spec :: Spec
1304+arrow2Spec = Spec
1305+ { specName = "arrow2"
1306+ , specInterval = 80
1307+ , specFrames =
1308+ [ "⬆️ "
1309+ , "↗️ "
1310+ , "➡️ "
1311+ , "↘️ "
1312+ , "⬇️ "
1313+ , "↙️ "
1314+ , "⬅️ "
1315+ , "↖️ "
1316+ ]
1317+ }
1318+
1319+-- | Spec for arrow3 spinning indicator:
1320+-- ▹▹▹▹▹
1321+-- ▸▹▹▹▹
1322+-- ▹▸▹▹▹
1323+-- ▹▹▸▹▹
1324+-- ▹▹▹▸▹
1325+-- ▹▹▹▹▸
1326+arrow3Spec :: Spec
1327+arrow3Spec = Spec
1328+ { specName = "arrow3"
1329+ , specInterval = 120
1330+ , specFrames =
1331+ [ "▹▹▹▹▹"
1332+ , "▸▹▹▹▹"
1333+ , "▹▸▹▹▹"
1334+ , "▹▹▸▹▹"
1335+ , "▹▹▹▸▹"
1336+ , "▹▹▹▹▸"
1337+ ]
1338+ }
1339+
1340+-- | Spec for bouncingBar spinning indicator:
1341+-- [ ]
1342+-- [= ]
1343+-- [== ]
1344+-- [=== ]
1345+-- [ ===]
1346+-- [ ==]
1347+-- [ =]
1348+-- [ ]
1349+-- [ =]
1350+-- [ ==]
1351+-- [ ===]
1352+-- [====]
1353+-- [=== ]
1354+-- [== ]
1355+-- [= ]
1356+bouncingBarSpec :: Spec
1357+bouncingBarSpec = Spec
1358+ { specName = "bouncingBar"
1359+ , specInterval = 80
1360+ , specFrames =
1361+ [ "[ ]"
1362+ , "[= ]"
1363+ , "[== ]"
1364+ , "[=== ]"
1365+ , "[ ===]"
1366+ , "[ ==]"
1367+ , "[ =]"
1368+ , "[ ]"
1369+ , "[ =]"
1370+ , "[ ==]"
1371+ , "[ ===]"
1372+ , "[====]"
1373+ , "[=== ]"
1374+ , "[== ]"
1375+ , "[= ]"
1376+ ]
1377+ }
1378+
1379+-- | Spec for bouncingBall spinning indicator:
1380+-- ( ● )
1381+-- ( ● )
1382+-- ( ● )
1383+-- ( ● )
1384+-- ( ●)
1385+-- ( ● )
1386+-- ( ● )
1387+-- ( ● )
1388+-- ( ● )
1389+-- (● )
1390+bouncingBallSpec :: Spec
1391+bouncingBallSpec = Spec
1392+ { specName = "bouncingBall"
1393+ , specInterval = 80
1394+ , specFrames =
1395+ [ "( ● )"
1396+ , "( ● )"
1397+ , "( ● )"
1398+ , "( ● )"
1399+ , "( ●)"
1400+ , "( ● )"
1401+ , "( ● )"
1402+ , "( ● )"
1403+ , "( ● )"
1404+ , "(● )"
1405+ ]
1406+ }
1407+
1408+-- | Spec for smiley spinning indicator:
1409+-- 😄
1410+-- 😝
1411+smileySpec :: Spec
1412+smileySpec = Spec
1413+ { specName = "smiley"
1414+ , specInterval = 200
1415+ , specFrames =
1416+ [ "😄 "
1417+ , "😝 "
1418+ ]
1419+ }
1420+
1421+-- | Spec for monkey spinning indicator:
1422+-- 🙈
1423+-- 🙈
1424+-- 🙉
1425+-- 🙊
1426+monkeySpec :: Spec
1427+monkeySpec = Spec
1428+ { specName = "monkey"
1429+ , specInterval = 300
1430+ , specFrames =
1431+ [ "🙈 "
1432+ , "🙈 "
1433+ , "🙉 "
1434+ , "🙊 "
1435+ ]
1436+ }
1437+
1438+-- | Spec for hearts spinning indicator:
1439+-- 💛
1440+-- 💙
1441+-- 💜
1442+-- 💚
1443+-- ❤️
1444+heartsSpec :: Spec
1445+heartsSpec = Spec
1446+ { specName = "hearts"
1447+ , specInterval = 100
1448+ , specFrames =
1449+ [ "💛 "
1450+ , "💙 "
1451+ , "💜 "
1452+ , "💚 "
1453+ , "❤️ "
1454+ ]
1455+ }
1456+
1457+-- | Spec for clock spinning indicator:
1458+-- 🕛
1459+-- 🕐
1460+-- 🕑
1461+-- 🕒
1462+-- 🕓
1463+-- 🕔
1464+-- 🕕
1465+-- 🕖
1466+-- 🕗
1467+-- 🕘
1468+-- 🕙
1469+-- 🕚
1470+clockSpec :: Spec
1471+clockSpec = Spec
1472+ { specName = "clock"
1473+ , specInterval = 100
1474+ , specFrames =
1475+ [ "🕛 "
1476+ , "🕐 "
1477+ , "🕑 "
1478+ , "🕒 "
1479+ , "🕓 "
1480+ , "🕔 "
1481+ , "🕕 "
1482+ , "🕖 "
1483+ , "🕗 "
1484+ , "🕘 "
1485+ , "🕙 "
1486+ , "🕚 "
1487+ ]
1488+ }
1489+
1490+-- | Spec for earth spinning indicator:
1491+-- 🌍
1492+-- 🌎
1493+-- 🌏
1494+earthSpec :: Spec
1495+earthSpec = Spec
1496+ { specName = "earth"
1497+ , specInterval = 180
1498+ , specFrames =
1499+ [ "🌍 "
1500+ , "🌎 "
1501+ , "🌏 "
1502+ ]
1503+ }
1504+
1505+-- | Spec for moon spinning indicator:
1506+-- 🌑
1507+-- 🌒
1508+-- 🌓
1509+-- 🌔
1510+-- 🌕
1511+-- 🌖
1512+-- 🌗
1513+-- 🌘
1514+moonSpec :: Spec
1515+moonSpec = Spec
1516+ { specName = "moon"
1517+ , specInterval = 80
1518+ , specFrames =
1519+ [ "🌑 "
1520+ , "🌒 "
1521+ , "🌓 "
1522+ , "🌔 "
1523+ , "🌕 "
1524+ , "🌖 "
1525+ , "🌗 "
1526+ , "🌘 "
1527+ ]
1528+ }
1529+
1530+-- | Spec for runner spinning indicator:
1531+-- 🚶
1532+-- 🏃
1533+runnerSpec :: Spec
1534+runnerSpec = Spec
1535+ { specName = "runner"
1536+ , specInterval = 140
1537+ , specFrames =
1538+ [ "🚶 "
1539+ , "🏃 "
1540+ ]
1541+ }
1542+
1543+-- | Spec for pong spinning indicator:
1544+-- ▐⠂ ▌
1545+-- ▐⠈ ▌
1546+-- ▐ ⠂ ▌
1547+-- ▐ ⠠ ▌
1548+-- ▐ ⡀ ▌
1549+-- ▐ ⠠ ▌
1550+-- ▐ ⠂ ▌
1551+-- ▐ ⠈ ▌
1552+-- ▐ ⠂ ▌
1553+-- ▐ ⠠ ▌
1554+-- ▐ ⡀ ▌
1555+-- ▐ ⠠ ▌
1556+-- ▐ ⠂ ▌
1557+-- ▐ ⠈ ▌
1558+-- ▐ ⠂▌
1559+-- ▐ ⠠▌
1560+-- ▐ ⡀▌
1561+-- ▐ ⠠ ▌
1562+-- ▐ ⠂ ▌
1563+-- ▐ ⠈ ▌
1564+-- ▐ ⠂ ▌
1565+-- ▐ ⠠ ▌
1566+-- ▐ ⡀ ▌
1567+-- ▐ ⠠ ▌
1568+-- ▐ ⠂ ▌
1569+-- ▐ ⠈ ▌
1570+-- ▐ ⠂ ▌
1571+-- ▐ ⠠ ▌
1572+-- ▐ ⡀ ▌
1573+-- ▐⠠ ▌
1574+pongSpec :: Spec
1575+pongSpec = Spec
1576+ { specName = "pong"
1577+ , specInterval = 80
1578+ , specFrames =
1579+ [ "▐⠂ ▌"
1580+ , "▐⠈ ▌"
1581+ , "▐ ⠂ ▌"
1582+ , "▐ ⠠ ▌"
1583+ , "▐ ⡀ ▌"
1584+ , "▐ ⠠ ▌"
1585+ , "▐ ⠂ ▌"
1586+ , "▐ ⠈ ▌"
1587+ , "▐ ⠂ ▌"
1588+ , "▐ ⠠ ▌"
1589+ , "▐ ⡀ ▌"
1590+ , "▐ ⠠ ▌"
1591+ , "▐ ⠂ ▌"
1592+ , "▐ ⠈ ▌"
1593+ , "▐ ⠂▌"
1594+ , "▐ ⠠▌"
1595+ , "▐ ⡀▌"
1596+ , "▐ ⠠ ▌"
1597+ , "▐ ⠂ ▌"
1598+ , "▐ ⠈ ▌"
1599+ , "▐ ⠂ ▌"
1600+ , "▐ ⠠ ▌"
1601+ , "▐ ⡀ ▌"
1602+ , "▐ ⠠ ▌"
1603+ , "▐ ⠂ ▌"
1604+ , "▐ ⠈ ▌"
1605+ , "▐ ⠂ ▌"
1606+ , "▐ ⠠ ▌"
1607+ , "▐ ⡀ ▌"
1608+ , "▐⠠ ▌"
1609+ ]
1610+ }
1611+
1612+-- | Spec for shark spinning indicator:
1613+-- ▐|\____________▌
1614+-- ▐_|\___________▌
1615+-- ▐__|\__________▌
1616+-- ▐___|\_________▌
1617+-- ▐____|\________▌
1618+-- ▐_____|\_______▌
1619+-- ▐______|\______▌
1620+-- ▐_______|\_____▌
1621+-- ▐________|\____▌
1622+-- ▐_________|\___▌
1623+-- ▐__________|\__▌
1624+-- ▐___________|\_▌
1625+-- ▐____________|\▌
1626+-- ▐____________/|▌
1627+-- ▐___________/|_▌
1628+-- ▐__________/|__▌
1629+-- ▐_________/|___▌
1630+-- ▐________/|____▌
1631+-- ▐_______/|_____▌
1632+-- ▐______/|______▌
1633+-- ▐_____/|_______▌
1634+-- ▐____/|________▌
1635+-- ▐___/|_________▌
1636+-- ▐__/|__________▌
1637+-- ▐_/|___________▌
1638+-- ▐/|____________▌
1639+sharkSpec :: Spec
1640+sharkSpec = Spec
1641+ { specName = "shark"
1642+ , specInterval = 120
1643+ , specFrames =
1644+ [ "▐|\\____________▌"
1645+ , "▐_|\\___________▌"
1646+ , "▐__|\\__________▌"
1647+ , "▐___|\\_________▌"
1648+ , "▐____|\\________▌"
1649+ , "▐_____|\\_______▌"
1650+ , "▐______|\\______▌"
1651+ , "▐_______|\\_____▌"
1652+ , "▐________|\\____▌"
1653+ , "▐_________|\\___▌"
1654+ , "▐__________|\\__▌"
1655+ , "▐___________|\\_▌"
1656+ , "▐____________|\\▌"
1657+ , "▐____________/|▌"
1658+ , "▐___________/|_▌"
1659+ , "▐__________/|__▌"
1660+ , "▐_________/|___▌"
1661+ , "▐________/|____▌"
1662+ , "▐_______/|_____▌"
1663+ , "▐______/|______▌"
1664+ , "▐_____/|_______▌"
1665+ , "▐____/|________▌"
1666+ , "▐___/|_________▌"
1667+ , "▐__/|__________▌"
1668+ , "▐_/|___________▌"
1669+ , "▐/|____________▌"
1670+ ]
1671+ }
1672+
1673+-- | Spec for dqpb spinning indicator:
1674+-- d
1675+-- q
1676+-- p
1677+-- b
1678+dqpbSpec :: Spec
1679+dqpbSpec = Spec
1680+ { specName = "dqpb"
1681+ , specInterval = 100
1682+ , specFrames =
1683+ [ "d"
1684+ , "q"
1685+ , "p"
1686+ , "b"
1687+ ]
1688+ }
1689+
1690+-- | Spec for weather spinning indicator:
1691+-- ☀️
1692+-- ☀️
1693+-- ☀️
1694+-- 🌤
1695+-- ⛅️
1696+-- 🌥
1697+-- ☁️
1698+-- 🌧
1699+-- 🌨
1700+-- 🌧
1701+-- 🌨
1702+-- 🌧
1703+-- 🌨
1704+-- ⛈
1705+-- 🌨
1706+-- 🌧
1707+-- 🌨
1708+-- ☁️
1709+-- 🌥
1710+-- ⛅️
1711+-- 🌤
1712+-- ☀️
1713+-- ☀️
1714+weatherSpec :: Spec
1715+weatherSpec = Spec
1716+ { specName = "weather"
1717+ , specInterval = 100
1718+ , specFrames =
1719+ [ "☀️ "
1720+ , "☀️ "
1721+ , "☀️ "
1722+ , "🌤 "
1723+ , "⛅️ "
1724+ , "🌥 "
1725+ , "☁️ "
1726+ , "🌧 "
1727+ , "🌨 "
1728+ , "🌧 "
1729+ , "🌨 "
1730+ , "🌧 "
1731+ , "🌨 "
1732+ , "⛈ "
1733+ , "🌨 "
1734+ , "🌧 "
1735+ , "🌨 "
1736+ , "☁️ "
1737+ , "🌥 "
1738+ , "⛅️ "
1739+ , "🌤 "
1740+ , "☀️ "
1741+ , "☀️ "
1742+ ]
1743+ }
1744+
1745+-- | Spec for christmas spinning indicator:
1746+-- 🌲
1747+-- 🎄
1748+christmasSpec :: Spec
1749+christmasSpec = Spec
1750+ { specName = "christmas"
1751+ , specInterval = 400
1752+ , specFrames =
1753+ [ "🌲"
1754+ , "🎄"
1755+ ]
1756+ }
1757+
1758+-- | Spec for grenade spinning indicator:
1759+-- ،
1760+-- ′
1761+-- ´
1762+-- ‾
1763+-- ⸌
1764+-- ⸊
1765+-- |
1766+-- ⁎
1767+-- ⁕
1768+-- ෴
1769+-- ⁓
1770+--
1771+--
1772+--
1773+grenadeSpec :: Spec
1774+grenadeSpec = Spec
1775+ { specName = "grenade"
1776+ , specInterval = 80
1777+ , specFrames =
1778+ [ "، "
1779+ , "′ "
1780+ , " ´ "
1781+ , " ‾ "
1782+ , " ⸌"
1783+ , " ⸊"
1784+ , " |"
1785+ , " ⁎"
1786+ , " ⁕"
1787+ , " ෴ "
1788+ , " ⁓"
1789+ , " "
1790+ , " "
1791+ , " "
1792+ ]
1793+ }
1794+
1795+-- | Spec for point spinning indicator:
1796+-- ∙∙∙
1797+-- ●∙∙
1798+-- ∙●∙
1799+-- ∙∙●
1800+-- ∙∙∙
1801+pointSpec :: Spec
1802+pointSpec = Spec
1803+ { specName = "point"
1804+ , specInterval = 125
1805+ , specFrames =
1806+ [ "∙∙∙"
1807+ , "●∙∙"
1808+ , "∙●∙"
1809+ , "∙∙●"
1810+ , "∙∙∙"
1811+ ]
1812+ }
1813+
1814+-- | Spec for layer spinning indicator:
1815+-- -
1816+-- =
1817+-- ≡
1818+layerSpec :: Spec
1819+layerSpec = Spec
1820+ { specName = "layer"
1821+ , specInterval = 150
1822+ , specFrames =
1823+ [ "-"
1824+ , "="
1825+ , "≡"
1826+ ]
1827+ }