spintron

package module
v1.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

README ยถ

Peek 2022-04-16 19-13 Go Reference GitHub release (latest SemVer)

Features

  • Start/Stop
  • Customizable character sets (spinners)
  • Custom spinner color, background
  • Custom spinner text
  • Restarting and reversing the spinner
  • Prefixed text, symbol and padding before the spinner
  • Changing spinner settings while it is active
  • Getting the spinner settings values
  • Chain, pipe or redirect output
  • Shows the seconds elasped since the spinner started (can be disabled)
  • Ability to Stop and persist the spinner with custom text and a symbol
  • Pre-built Succeed, Fail and Info functions that stops and persists the spinner with pre-defined cross-platform symbol and text

Usage

import "github.com/AnishDe12020/spintron"

func main() {
	s := spintron.New(spintron.Options{
		Text: "Working...",
	})

	s.Start() // Starts the spinner with the initial text
	// Some work that will take time. E.g. Downloading a file. Let us have a dummy
	// function for now
	err := DownloadFile()

	if err != nil {
		s.Fail("Failed to download the file") // Stops the spinner and shows a error sign with the given text
	} else {
		s.Success("Downloaded the file successfully") // Stops the spinner and shows a success sign with the given text
	}
}

Options

When a new spinner is created, it can be created with a struct of options. Here are the ones available -

Color (string) (default: cyan)

The color of the spinner

Text (string)

The text after the spinner

HideCursor (bool) (defaukt: true)

Hide the cursor or not

Symbol (string)

A symbol that will come before the prefix text

PrefixText (string)

Text that will come before the spinner

CharacterSet (string) (default: dots2)

Character set used for the spinner

Writer (io.Writer) (default: color.Output)

stdOut writer

Delay (time.Duration) (default: 100 ms)

Delay between frames in the character set

Padding (int)

Number of chatacters in padding on the left of the spinner

DisableElaspedSeconds (bool) (default: false)

Disable the elasped seconds timer

Examples

Reversing the spinner

time.Sleep(time.Second * 2) // Simulate a long running process
s.Reverse() // Reverse the spinner's character set
s.Text = "I have been reversed"
time.Sleep(time.Second * 2) // Simulate a long running process
s.Stop() // Stops the spinner

Updating the spinner color

time.Sleep(time.Second * 2)                // Simulate a long running process
s.UpdateCharSet(spintron.CharSets["moon"]) // Update spinner to use a different character set
s.Text = "My character set has been updated"
time.Sleep(time.Second * 2) // Simulate a long running process
s.Stop()                    // Stops the spinner

Updating the spinner speed

time.Sleep(time.Second * 2)                         // Simulate a long running process
s.UpdateSpeed(time.Duration(50) * time.Millisecond) // Update spinner to use a different speed, here making it twice that of the default speed
s.Text = "My speed has been updated to make me faster"
time.Sleep(time.Second * 2) // Simulate a long running process
s.Stop()                    // Stops the spinner

Adding padding to the spinner

time.Sleep(time.Second * 2) // Simulate a long running process
s.Padding = 10              // Add a padding of 10 characters to the left of the spinner
s.Text = "My padding has been updated"
time.Sleep(time.Second * 2) // Simulate a long running process
s.Stop()                    // Stops the spinner

Stop and persist the spinner

time.Sleep(time.Second * 2)   // Simulate a long running process
s.StopAndPersist("๐Ÿ‘€", "Heya") // Stops the spinner and persists it with a custom symbol and text

Succeeding, Failing or stopping the spinner with an info message

s.Succeed("Done!") // Stops the spinner and persists it with a success sign and message
s.Fail("Uh oh! Something went wrong!") // Stops the spinner and persists it with an error sign and message
s.Info("Star the repo") // Stops the spinner and persists it with an info sign and message

Credits

All commits uptil 561dc95 are made by Brian Downs and the contributors to the original repository, briandowns/spinner. The project has since been renamed to Spintron to differentiate from the original project.

This is a fork of the original Go Spinner repository Brian Downs licensed under Apache 2.0.

Documentation ยถ

Overview ยถ

Package spinner is a simple package to add a spinner / progress indicator to any terminal application.

Index ยถ

Constants ยถ

This section is empty.

Variables ยถ

View Source
var CharSets = map[string][]string{
	"dots": {
		"โ ‹",
		"โ ™",
		"โ น",
		"โ ธ",
		"โ ผ",
		"โ ด",
		"โ ฆ",
		"โ ง",
		"โ ‡",
		"โ ",
	},
	"dots2": {
		"โฃพ",
		"โฃฝ",
		"โฃป",
		"โขฟ",
		"โกฟ",
		"โฃŸ",
		"โฃฏ",
		"โฃท",
	},
	"dots3": {
		"โ ‹",
		"โ ™",
		"โ š",
		"โ ž",
		"โ –",
		"โ ฆ",
		"โ ด",
		"โ ฒ",
		"โ ณ",
		"โ “",
	},
	"dots4": {
		"โ „",
		"โ †",
		"โ ‡",
		"โ ‹",
		"โ ™",
		"โ ธ",
		"โ ฐ",
		"โ  ",
		"โ ฐ",
		"โ ธ",
		"โ ™",
		"โ ‹",
		"โ ‡",
		"โ †",
	},
	"dots5": {
		"โ ‹",
		"โ ™",
		"โ š",
		"โ ’",
		"โ ‚",
		"โ ‚",
		"โ ’",
		"โ ฒ",
		"โ ด",
		"โ ฆ",
		"โ –",
		"โ ’",
		"โ ",
		"โ ",
		"โ ’",
		"โ “",
		"โ ‹",
	},
	"dots6": {
		"โ ",
		"โ ‰",
		"โ ™",
		"โ š",
		"โ ’",
		"โ ‚",
		"โ ‚",
		"โ ’",
		"โ ฒ",
		"โ ด",
		"โ ค",
		"โ „",
		"โ „",
		"โ ค",
		"โ ด",
		"โ ฒ",
		"โ ’",
		"โ ‚",
		"โ ‚",
		"โ ’",
		"โ š",
		"โ ™",
		"โ ‰",
		"โ ",
	},
	"dots7": {
		"โ ˆ",
		"โ ‰",
		"โ ‹",
		"โ “",
		"โ ’",
		"โ ",
		"โ ",
		"โ ’",
		"โ –",
		"โ ฆ",
		"โ ค",
		"โ  ",
		"โ  ",
		"โ ค",
		"โ ฆ",
		"โ –",
		"โ ’",
		"โ ",
		"โ ",
		"โ ’",
		"โ “",
		"โ ‹",
		"โ ‰",
		"โ ˆ",
	},
	"dots8": {
		"โ ",
		"โ ",
		"โ ‰",
		"โ ™",
		"โ š",
		"โ ’",
		"โ ‚",
		"โ ‚",
		"โ ’",
		"โ ฒ",
		"โ ด",
		"โ ค",
		"โ „",
		"โ „",
		"โ ค",
		"โ  ",
		"โ  ",
		"โ ค",
		"โ ฆ",
		"โ –",
		"โ ’",
		"โ ",
		"โ ",
		"โ ’",
		"โ “",
		"โ ‹",
		"โ ‰",
		"โ ˆ",
		"โ ˆ",
	},
	"dots9": {
		"โขน",
		"โขบ",
		"โขผ",
		"โฃธ",
		"โฃ‡",
		"โกง",
		"โก—",
		"โก",
	},
	"dots10": {
		"โข„",
		"โข‚",
		"โข",
		"โก",
		"โกˆ",
		"โก",
		"โก ",
	},
	"dots11": {
		"โ ",
		"โ ‚",
		"โ „",
		"โก€",
		"โข€",
		"โ  ",
		"โ ",
		"โ ˆ",
	},
	"dots12": {
		"โข€โ €",
		"โก€โ €",
		"โ „โ €",
		"โข‚โ €",
		"โก‚โ €",
		"โ …โ €",
		"โขƒโ €",
		"โกƒโ €",
		"โ โ €",
		"โข‹โ €",
		"โก‹โ €",
		"โ โ ",
		"โข‹โ ",
		"โก‹โ ",
		"โ โ ‰",
		"โ ‹โ ‰",
		"โ ‹โ ‰",
		"โ ‰โ ™",
		"โ ‰โ ™",
		"โ ‰โ ฉ",
		"โ ˆโข™",
		"โ ˆโก™",
		"โขˆโ ฉ",
		"โก€โข™",
		"โ „โก™",
		"โข‚โ ฉ",
		"โก‚โข˜",
		"โ …โก˜",
		"โขƒโ จ",
		"โกƒโข",
		"โ โก",
		"โข‹โ  ",
		"โก‹โข€",
		"โ โก",
		"โข‹โ ",
		"โก‹โ ",
		"โ โ ‰",
		"โ ‹โ ‰",
		"โ ‹โ ‰",
		"โ ‰โ ™",
		"โ ‰โ ™",
		"โ ‰โ ฉ",
		"โ ˆโข™",
		"โ ˆโก™",
		"โ ˆโ ฉ",
		"โ €โข™",
		"โ €โก™",
		"โ €โ ฉ",
		"โ €โข˜",
		"โ €โก˜",
		"โ €โ จ",
		"โ €โข",
		"โ €โก",
		"โ €โ  ",
		"โ €โข€",
		"โ €โก€",
	},
	"dots8Bit": {
		"โ €",
		"โ ",
		"โ ‚",
		"โ ƒ",
		"โ „",
		"โ …",
		"โ †",
		"โ ‡",
		"โก€",
		"โก",
		"โก‚",
		"โกƒ",
		"โก„",
		"โก…",
		"โก†",
		"โก‡",
		"โ ˆ",
		"โ ‰",
		"โ Š",
		"โ ‹",
		"โ Œ",
		"โ ",
		"โ Ž",
		"โ ",
		"โกˆ",
		"โก‰",
		"โกŠ",
		"โก‹",
		"โกŒ",
		"โก",
		"โกŽ",
		"โก",
		"โ ",
		"โ ‘",
		"โ ’",
		"โ “",
		"โ ”",
		"โ •",
		"โ –",
		"โ —",
		"โก",
		"โก‘",
		"โก’",
		"โก“",
		"โก”",
		"โก•",
		"โก–",
		"โก—",
		"โ ˜",
		"โ ™",
		"โ š",
		"โ ›",
		"โ œ",
		"โ ",
		"โ ž",
		"โ Ÿ",
		"โก˜",
		"โก™",
		"โกš",
		"โก›",
		"โกœ",
		"โก",
		"โกž",
		"โกŸ",
		"โ  ",
		"โ ก",
		"โ ข",
		"โ ฃ",
		"โ ค",
		"โ ฅ",
		"โ ฆ",
		"โ ง",
		"โก ",
		"โกก",
		"โกข",
		"โกฃ",
		"โกค",
		"โกฅ",
		"โกฆ",
		"โกง",
		"โ จ",
		"โ ฉ",
		"โ ช",
		"โ ซ",
		"โ ฌ",
		"โ ญ",
		"โ ฎ",
		"โ ฏ",
		"โกจ",
		"โกฉ",
		"โกช",
		"โกซ",
		"โกฌ",
		"โกญ",
		"โกฎ",
		"โกฏ",
		"โ ฐ",
		"โ ฑ",
		"โ ฒ",
		"โ ณ",
		"โ ด",
		"โ ต",
		"โ ถ",
		"โ ท",
		"โกฐ",
		"โกฑ",
		"โกฒ",
		"โกณ",
		"โกด",
		"โกต",
		"โกถ",
		"โกท",
		"โ ธ",
		"โ น",
		"โ บ",
		"โ ป",
		"โ ผ",
		"โ ฝ",
		"โ พ",
		"โ ฟ",
		"โกธ",
		"โกน",
		"โกบ",
		"โกป",
		"โกผ",
		"โกฝ",
		"โกพ",
		"โกฟ",
		"โข€",
		"โข",
		"โข‚",
		"โขƒ",
		"โข„",
		"โข…",
		"โข†",
		"โข‡",
		"โฃ€",
		"โฃ",
		"โฃ‚",
		"โฃƒ",
		"โฃ„",
		"โฃ…",
		"โฃ†",
		"โฃ‡",
		"โขˆ",
		"โข‰",
		"โขŠ",
		"โข‹",
		"โขŒ",
		"โข",
		"โขŽ",
		"โข",
		"โฃˆ",
		"โฃ‰",
		"โฃŠ",
		"โฃ‹",
		"โฃŒ",
		"โฃ",
		"โฃŽ",
		"โฃ",
		"โข",
		"โข‘",
		"โข’",
		"โข“",
		"โข”",
		"โข•",
		"โข–",
		"โข—",
		"โฃ",
		"โฃ‘",
		"โฃ’",
		"โฃ“",
		"โฃ”",
		"โฃ•",
		"โฃ–",
		"โฃ—",
		"โข˜",
		"โข™",
		"โขš",
		"โข›",
		"โขœ",
		"โข",
		"โขž",
		"โขŸ",
		"โฃ˜",
		"โฃ™",
		"โฃš",
		"โฃ›",
		"โฃœ",
		"โฃ",
		"โฃž",
		"โฃŸ",
		"โข ",
		"โขก",
		"โขข",
		"โขฃ",
		"โขค",
		"โขฅ",
		"โขฆ",
		"โขง",
		"โฃ ",
		"โฃก",
		"โฃข",
		"โฃฃ",
		"โฃค",
		"โฃฅ",
		"โฃฆ",
		"โฃง",
		"โขจ",
		"โขฉ",
		"โขช",
		"โขซ",
		"โขฌ",
		"โขญ",
		"โขฎ",
		"โขฏ",
		"โฃจ",
		"โฃฉ",
		"โฃช",
		"โฃซ",
		"โฃฌ",
		"โฃญ",
		"โฃฎ",
		"โฃฏ",
		"โขฐ",
		"โขฑ",
		"โขฒ",
		"โขณ",
		"โขด",
		"โขต",
		"โขถ",
		"โขท",
		"โฃฐ",
		"โฃฑ",
		"โฃฒ",
		"โฃณ",
		"โฃด",
		"โฃต",
		"โฃถ",
		"โฃท",
		"โขธ",
		"โขน",
		"โขบ",
		"โขป",
		"โขผ",
		"โขฝ",
		"โขพ",
		"โขฟ",
		"โฃธ",
		"โฃน",
		"โฃบ",
		"โฃป",
		"โฃผ",
		"โฃฝ",
		"โฃพ",
		"โฃฟ",
	},
	"line": {
		"-",
		"\\",
		"|",
		"/",
	},
	"line2": {
		"โ ‚",
		"-",
		"โ€“",
		"โ€”",
		"โ€“",
		"-",
	},
	"pipe": {
		"โ”ค",
		"โ”˜",
		"โ”ด",
		"โ””",
		"โ”œ",
		"โ”Œ",
		"โ”ฌ",
		"โ”",
	},
	"simpleDots": {
		".  ",
		".. ",
		"...",
		"   ",
	},
	"simpleDotsScrolling": {
		".  ",
		".. ",
		"...",
		" ..",
		"  .",
		"   ",
	},
	"star": {
		"โœถ",
		"โœธ",
		"โœน",
		"โœบ",
		"โœน",
		"โœท",
	},
	"star2": {
		"+",
		"x",
		"*",
	},
	"flip": {
		"_",
		"_",
		"_",
		"-",
		"`",
		"`",
		"'",
		"ยด",
		"-",
		"_",
		"_",
		"_",
	},
	"hamburger": {
		"โ˜ฑ",
		"โ˜ฒ",
		"โ˜ด",
	},
	"growVertical": {
		"โ–",
		"โ–ƒ",
		"โ–„",
		"โ–…",
		"โ–†",
		"โ–‡",
		"โ–†",
		"โ–…",
		"โ–„",
		"โ–ƒ",
	},
	"growHorizontal": {
		"โ–",
		"โ–Ž",
		"โ–",
		"โ–Œ",
		"โ–‹",
		"โ–Š",
		"โ–‰",
		"โ–Š",
		"โ–‹",
		"โ–Œ",
		"โ–",
		"โ–Ž",
	},
	"balloon": {
		" ",
		".",
		"o",
		"O",
		"@",
		"*",
		" ",
	},
	"balloon2": {
		".",
		"o",
		"O",
		"ยฐ",
		"O",
		"o",
		".",
	},
	"noise": {
		"โ–“",
		"โ–’",
		"โ–‘",
	},
	"bounce": {
		"โ ",
		"โ ‚",
		"โ „",
		"โ ‚",
	},
	"boxBounce": {
		"โ––",
		"โ–˜",
		"โ–",
		"โ–—",
	},
	"boxBounce2": {
		"โ–Œ",
		"โ–€",
		"โ–",
		"โ–„",
	},
	"triangle": {
		"โ—ข",
		"โ—ฃ",
		"โ—ค",
		"โ—ฅ",
	},
	"arc": {
		"โ—œ",
		"โ— ",
		"โ—",
		"โ—ž",
		"โ—ก",
		"โ—Ÿ",
	},
	"circle": {
		"โ—ก",
		"โŠ™",
		"โ— ",
	},
	"squareCorners": {
		"โ—ฐ",
		"โ—ณ",
		"โ—ฒ",
		"โ—ฑ",
	},
	"circleQuarters": {
		"โ—ด",
		"โ—ท",
		"โ—ถ",
		"โ—ต",
	},
	"circleHalves": {
		"โ—",
		"โ—“",
		"โ—‘",
		"โ—’",
	},
	"squish": {
		"โ•ซ",
		"โ•ช",
	},
	"toggle": {
		"โŠถ",
		"โŠท",
	},
	"toggle2": {
		"โ–ซ",
		"โ–ช",
	},
	"toggle3": {
		"โ–ก",
		"โ– ",
	},
	"toggle4": {
		"โ– ",
		"โ–ก",
		"โ–ช",
		"โ–ซ",
	},
	"toggle5": {
		"โ–ฎ",
		"โ–ฏ",
	},
	"toggle6": {
		"แ€",
		"แ€",
	},
	"toggle7": {
		"โฆพ",
		"โฆฟ",
	},
	"toggle8": {
		"โ—",
		"โ—Œ",
	},
	"toggle9": {
		"โ—‰",
		"โ—Ž",
	},
	"toggle10": {
		"ใŠ‚",
		"ใŠ€",
		"ใŠ",
	},
	"toggle11": {
		"โง‡",
		"โง†",
	},
	"toggle12": {
		"โ˜—",
		"โ˜–",
	},
	"toggle13": {
		"=",
		"*",
		"-",
	},
	"arrow": {
		"โ†",
		"โ†–",
		"โ†‘",
		"โ†—",
		"โ†’",
		"โ†˜",
		"โ†“",
		"โ†™",
	},
	"arrow2": {
		"โฌ†๏ธ ",
		"โ†—๏ธ ",
		"โžก๏ธ ",
		"โ†˜๏ธ ",
		"โฌ‡๏ธ ",
		"โ†™๏ธ ",
		"โฌ…๏ธ ",
		"โ†–๏ธ ",
	},
	"arrow3": {
		"โ–นโ–นโ–นโ–นโ–น",
		"โ–ธโ–นโ–นโ–นโ–น",
		"โ–นโ–ธโ–นโ–นโ–น",
		"โ–นโ–นโ–ธโ–นโ–น",
		"โ–นโ–นโ–นโ–ธโ–น",
		"โ–นโ–นโ–นโ–นโ–ธ",
	},
	"bouncingBar": {
		"[    ]",
		"[=   ]",
		"[==  ]",
		"[=== ]",
		"[ ===]",
		"[  ==]",
		"[   =]",
		"[    ]",
		"[   =]",
		"[  ==]",
		"[ ===]",
		"[====]",
		"[=== ]",
		"[==  ]",
		"[=   ]",
	},
	"bouncingBall": {
		"( โ—    )",
		"(  โ—   )",
		"(   โ—  )",
		"(    โ— )",
		"(     โ—)",
		"(    โ— )",
		"(   โ—  )",
		"(  โ—   )",
		"( โ—    )",
		"(โ—     )",
	},
	"smiley": {
		"๐Ÿ˜„ ",
		"๐Ÿ˜ ",
	},
	"monkey": {
		"๐Ÿ™ˆ ",
		"๐Ÿ™ˆ ",
		"๐Ÿ™‰ ",
		"๐Ÿ™Š ",
	},
	"hearts": {
		"๐Ÿ’› ",
		"๐Ÿ’™ ",
		"๐Ÿ’œ ",
		"๐Ÿ’š ",
		"โค๏ธ ",
	},
	"clock": {
		"๐Ÿ•› ",
		"๐Ÿ• ",
		"๐Ÿ•‘ ",
		"๐Ÿ•’ ",
		"๐Ÿ•“ ",
		"๐Ÿ•” ",
		"๐Ÿ•• ",
		"๐Ÿ•– ",
		"๐Ÿ•— ",
		"๐Ÿ•˜ ",
		"๐Ÿ•™ ",
		"๐Ÿ•š ",
	},
	"earth": {
		"๐ŸŒ ",
		"๐ŸŒŽ ",
		"๐ŸŒ ",
	},
	"material": {
		"โ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–",
		"โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–",
		"โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–",
		"โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–",
		"โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–",
		"โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–",
		"โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–",
		"โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–",
		"โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–",
		"โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–",
		"โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–",
		"โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–",
		"โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆ",
		"โ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆ",
		"โ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆ",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆ",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–",
		"โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–โ–",
		"โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–",
		"โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–โ–",
		"โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–โ–",
		"โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–",
		"โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–",
		"โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–โ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–โ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆโ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–ˆ",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
		"โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–โ–",
	},
	"moon": {
		"๐ŸŒ‘ ",
		"๐ŸŒ’ ",
		"๐ŸŒ“ ",
		"๐ŸŒ” ",
		"๐ŸŒ• ",
		"๐ŸŒ– ",
		"๐ŸŒ— ",
		"๐ŸŒ˜ ",
	},
	"runner": {
		"๐Ÿšถ ",
		"๐Ÿƒ ",
	},
	"pong": {
		"โ–โ ‚       โ–Œ",
		"โ–โ ˆ       โ–Œ",
		"โ– โ ‚      โ–Œ",
		"โ– โ        โ–Œ",
		"โ–  โก€     โ–Œ",
		"โ–  โ       โ–Œ",
		"โ–   โ ‚    โ–Œ",
		"โ–   โ ˆ    โ–Œ",
		"โ–    โ ‚   โ–Œ",
		"โ–    โ     โ–Œ",
		"โ–     โก€  โ–Œ",
		"โ–     โ    โ–Œ",
		"โ–      โ ‚ โ–Œ",
		"โ–      โ ˆ โ–Œ",
		"โ–       โ ‚โ–Œ",
		"โ–       โ  โ–Œ",
		"โ–       โก€โ–Œ",
		"โ–      โ   โ–Œ",
		"โ–      โ ‚ โ–Œ",
		"โ–     โ ˆ  โ–Œ",
		"โ–     โ ‚  โ–Œ",
		"โ–    โ     โ–Œ",
		"โ–    โก€   โ–Œ",
		"โ–   โ      โ–Œ",
		"โ–   โ ‚    โ–Œ",
		"โ–  โ ˆ     โ–Œ",
		"โ–  โ ‚     โ–Œ",
		"โ– โ        โ–Œ",
		"โ– โก€      โ–Œ",
		"โ–โ         โ–Œ",
	},
	"shark": {
		"โ–|\\____________โ–Œ",
		"โ–_|\\___________โ–Œ",
		"โ–__|\\__________โ–Œ",
		"โ–___|\\_________โ–Œ",
		"โ–____|\\________โ–Œ",
		"โ–_____|\\_______โ–Œ",
		"โ–______|\\______โ–Œ",
		"โ–_______|\\_____โ–Œ",
		"โ–________|\\____โ–Œ",
		"โ–_________|\\___โ–Œ",
		"โ–__________|\\__โ–Œ",
		"โ–___________|\\_โ–Œ",
		"โ–____________|\\โ–Œ",
		"โ–____________/|โ–Œ",
		"โ–___________/|_โ–Œ",
		"โ–__________/|__โ–Œ",
		"โ–_________/|___โ–Œ",
		"โ–________/|____โ–Œ",
		"โ–_______/|_____โ–Œ",
		"โ–______/|______โ–Œ",
		"โ–_____/|_______โ–Œ",
		"โ–____/|________โ–Œ",
		"โ–___/|_________โ–Œ",
		"โ–__/|__________โ–Œ",
		"โ–_/|___________โ–Œ",
		"โ–/|____________โ–Œ",
	},
	"dqpb": {
		"d",
		"q",
		"p",
		"b",
	},
	"weather": {
		"โ˜€๏ธ ",
		"โ˜€๏ธ ",
		"โ˜€๏ธ ",
		"๐ŸŒค ",
		"โ›…๏ธ ",
		"๐ŸŒฅ ",
		"โ˜๏ธ ",
		"๐ŸŒง ",
		"๐ŸŒจ ",
		"๐ŸŒง ",
		"๐ŸŒจ ",
		"๐ŸŒง ",
		"๐ŸŒจ ",
		"โ›ˆ ",
		"๐ŸŒจ ",
		"๐ŸŒง ",
		"๐ŸŒจ ",
		"โ˜๏ธ ",
		"๐ŸŒฅ ",
		"โ›…๏ธ ",
		"๐ŸŒค ",
		"โ˜€๏ธ ",
		"โ˜€๏ธ ",
	},
	"christmas": {
		"๐ŸŒฒ",
		"๐ŸŽ„",
	},
	"grenade": {
		"ุŒ  ",
		"โ€ฒ  ",
		" ยด ",
		" โ€พ ",
		"  โธŒ",
		"  โธŠ",
		"  |",
		"  โŽ",
		"  โ•",
		" เทด ",
		"  โ“",
		"   ",
		"   ",
		"   ",
	},
	"point": {
		"โˆ™โˆ™โˆ™",
		"โ—โˆ™โˆ™",
		"โˆ™โ—โˆ™",
		"โˆ™โˆ™โ—",
		"โˆ™โˆ™โˆ™",
	},
	"layer": {
		"-",
		"=",
		"โ‰ก",
	},
	"betaWave": {
		"ฯฮฒฮฒฮฒฮฒฮฒฮฒ",
		"ฮฒฯฮฒฮฒฮฒฮฒฮฒ",
		"ฮฒฮฒฯฮฒฮฒฮฒฮฒ",
		"ฮฒฮฒฮฒฯฮฒฮฒฮฒ",
		"ฮฒฮฒฮฒฮฒฯฮฒฮฒ",
		"ฮฒฮฒฮฒฮฒฮฒฯฮฒ",
		"ฮฒฮฒฮฒฮฒฮฒฮฒฯ",
	},
	"fingerDance": {
		"๐Ÿค˜ ",
		"๐ŸคŸ ",
		"๐Ÿ–– ",
		"โœ‹ ",
		"๐Ÿคš ",
		"๐Ÿ‘† ",
	},
	"fistBump": {
		"๐Ÿคœใ€€ใ€€ใ€€ใ€€๐Ÿค› ",
		"๐Ÿคœใ€€ใ€€ใ€€ใ€€๐Ÿค› ",
		"๐Ÿคœใ€€ใ€€ใ€€ใ€€๐Ÿค› ",
		"ใ€€๐Ÿคœใ€€ใ€€๐Ÿค›ใ€€ ",
		"ใ€€ใ€€๐Ÿคœ๐Ÿค›ใ€€ใ€€ ",
		"ใ€€๐Ÿคœโœจ๐Ÿค›ใ€€ใ€€ ",
		"๐Ÿคœใ€€โœจใ€€๐Ÿค›ใ€€ ",
	},
	"soccerHeader": {
		" ๐Ÿง‘โšฝ๏ธ       ๐Ÿง‘ ",
		"๐Ÿง‘  โšฝ๏ธ      ๐Ÿง‘ ",
		"๐Ÿง‘   โšฝ๏ธ     ๐Ÿง‘ ",
		"๐Ÿง‘    โšฝ๏ธ    ๐Ÿง‘ ",
		"๐Ÿง‘     โšฝ๏ธ   ๐Ÿง‘ ",
		"๐Ÿง‘      โšฝ๏ธ  ๐Ÿง‘ ",
		"๐Ÿง‘       โšฝ๏ธ๐Ÿง‘  ",
		"๐Ÿง‘      โšฝ๏ธ  ๐Ÿง‘ ",
		"๐Ÿง‘     โšฝ๏ธ   ๐Ÿง‘ ",
		"๐Ÿง‘    โšฝ๏ธ    ๐Ÿง‘ ",
		"๐Ÿง‘   โšฝ๏ธ     ๐Ÿง‘ ",
		"๐Ÿง‘  โšฝ๏ธ      ๐Ÿง‘ ",
	},
	"mindblown": {
		"๐Ÿ˜ ",
		"๐Ÿ˜ ",
		"๐Ÿ˜ฎ ",
		"๐Ÿ˜ฎ ",
		"๐Ÿ˜ฆ ",
		"๐Ÿ˜ฆ ",
		"๐Ÿ˜ง ",
		"๐Ÿ˜ง ",
		"๐Ÿคฏ ",
		"๐Ÿ’ฅ ",
		"โœจ ",
		"ใ€€ ",
		"ใ€€ ",
		"ใ€€ ",
	},
	"speaker": {
		"๐Ÿ”ˆ ",
		"๐Ÿ”‰ ",
		"๐Ÿ”Š ",
		"๐Ÿ”‰ ",
	},
	"orangePulse": {
		"๐Ÿ”ธ ",
		"๐Ÿ”ถ ",
		"๐ŸŸ  ",
		"๐ŸŸ  ",
		"๐Ÿ”ถ ",
	},
	"bluePulse": {
		"๐Ÿ”น ",
		"๐Ÿ”ท ",
		"๐Ÿ”ต ",
		"๐Ÿ”ต ",
		"๐Ÿ”ท ",
	},
	"orangeBluePulse": {
		"๐Ÿ”ธ ",
		"๐Ÿ”ถ ",
		"๐ŸŸ  ",
		"๐ŸŸ  ",
		"๐Ÿ”ถ ",
		"๐Ÿ”น ",
		"๐Ÿ”ท ",
		"๐Ÿ”ต ",
		"๐Ÿ”ต ",
		"๐Ÿ”ท ",
	},
	"timeTravel": {
		"๐Ÿ•› ",
		"๐Ÿ•š ",
		"๐Ÿ•™ ",
		"๐Ÿ•˜ ",
		"๐Ÿ•— ",
		"๐Ÿ•– ",
		"๐Ÿ•• ",
		"๐Ÿ•” ",
		"๐Ÿ•“ ",
		"๐Ÿ•’ ",
		"๐Ÿ•‘ ",
		"๐Ÿ• ",
	},
	"aesthetic": {
		"โ–ฐโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑ",
		"โ–ฐโ–ฐโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑ",
		"โ–ฐโ–ฐโ–ฐโ–ฑโ–ฑโ–ฑโ–ฑ",
		"โ–ฐโ–ฐโ–ฐโ–ฐโ–ฑโ–ฑโ–ฑ",
		"โ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฑโ–ฑ",
		"โ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฑ",
		"โ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐ",
		"โ–ฐโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑ",
	},
}

Character sets to be used as the spinners

View Source
var Symbols = map[string]string{
	"success": `โœ”`,
	"failure": `โœ–`,
	"pending": `โŒ›`,
	"warning": `โš `,
	"unicorn": `๐Ÿฆ„`,
	"info":    `โ„น`,
}

Some pre-defined symbols for the package

Functions ยถ

func GenerateNumberSequence ยถ

func GenerateNumberSequence(length int) []string

GenerateNumberSequence will generate a slice of integers at the provided length and convert them each to a string.

Types ยถ

type Options ยถ

type Options struct {
	Color                 string
	Text                  string
	HideCursor            bool
	Symbol                string
	PrefixText            string
	CharacterSet          []string
	Writer                io.Writer
	Delay                 time.Duration
	Padding               int
	DisableElaspedSeconds bool
}

Options contains fields to configure the spinner.

type Spinner ยถ

type Spinner struct {
	Delay time.Duration // Delay is the speed of the indicator

	Text string // Text shown after the Spinner

	Writer io.Writer // to make testing better, exported so users have access. Use `WithWriter` to update after initialization.

	HideCursor         bool             // hideCursor determines if the cursor is visible
	PreUpdate          func(s *Spinner) // will be triggered before every spinner update
	PostUpdate         func(s *Spinner) // will be triggered after every spinner update
	Symbol             string           // Symbol for the spinner, show before PrefixText
	PrefixText         string           // PrefixText for the spinner, shown before the spinner and after the Symbol
	Padding            int              // Padding for the spinner
	ShowElaspedSeconds bool             // ShowElaspedSeconds determines if the spinner should show the elapsed time
	// contains filtered or unexported fields
}

Spinner struct to hold the provided options.

func New ยถ

func New(options Options) *Spinner

New provides a pointer to an instance of Spinner with the supplied options.

func (*Spinner) Color ยถ

func (s *Spinner) Color(colors ...string) error

Color will set the struct field for the given color to be used. The spinner will need to be explicitly restarted.

func (*Spinner) Fail ยถ

func (s *Spinner) Fail(text string)

Stops the spinner and prints out a failure message.

func (*Spinner) Info ยถ

func (s *Spinner) Info(text string)

Stops the spinner and prints out an info message.

func (*Spinner) Lock ยถ

func (s *Spinner) Lock()

Lock allows for manual control to lock the spinner.

func (*Spinner) Restart ยถ

func (s *Spinner) Restart()

Restart will stop and start the indicator.

func (*Spinner) Reverse ยถ

func (s *Spinner) Reverse()

Reverse will reverse the order of the slice assigned to the indicator.

func (*Spinner) Start ยถ

func (s *Spinner) Start()

Starts the spinner

func (*Spinner) Stop ยถ

func (s *Spinner) Stop()

Stops the spinner

func (*Spinner) StopAndPersist ยถ

func (s *Spinner) StopAndPersist(symbol string, text string)

Stops the spinner and prints out a symbol with text passed in as arguments

func (*Spinner) Succeed ยถ

func (s *Spinner) Succeed(text string)

Stops the spinner and prints out a success message.

func (*Spinner) Unicorn ยถ added in v1.20.0

func (s *Spinner) Unicorn(text string)

Stops the spinner and prints out a unicorn message.

func (*Spinner) Unlock ยถ

func (s *Spinner) Unlock()

Unlock allows for manual control to unlock the spinner.

func (*Spinner) UpdateCharSet ยถ

func (s *Spinner) UpdateCharSet(cs []string)

UpdateCharSet will change the current character set to the given one.

func (*Spinner) UpdateSpeed ยถ

func (s *Spinner) UpdateSpeed(d time.Duration)

UpdateSpeed will set the indicator delay to the given value.

Directories ยถ

Path Synopsis
Example application that uses all of the available API options.
Example application that uses all of the available API options.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL