diff --git a/shard.yml b/shard.yml index 9eec6d8..5fc4288 100644 --- a/shard.yml +++ b/shard.yml @@ -1,5 +1,5 @@ name: spinner -version: 0.1.0 +version: 0.1.1 authors: - Aşkın Gedik diff --git a/src/spinner.cr b/src/spinner.cr index 51627a2..9c3031d 100644 --- a/src/spinner.cr +++ b/src/spinner.cr @@ -1,13 +1,15 @@ require "./spinner/*" class Spin - property delay, chars : Array(String) + property delay + property chars : Array(String) CL = STDOUT.tty? ? "\u001b[0G" : "\u000d \u000d" CLEAR = STDOUT.tty? ? "\u001b[2K" : "\u000d" - def initialize(@delay = 0.1, @chars = Spinner::Charset[:pipe]) + def initialize(@delay = 0.1, chars = Spinner::Charset[:pipe]) @state = true + @chars = chars.to_a end def stop diff --git a/src/spinner/charset.cr b/src/spinner/charset.cr index f9223c9..a235a30 100644 --- a/src/spinner/charset.cr +++ b/src/spinner/charset.cr @@ -1,36 +1,36 @@ module Spinner Charset = { - arrow: ["←", "↖", "↑", "↗", "→", "↘", "↓", "↙"], - arrow2: [">>---> ", " >>---> ", " >>---> ", " >>---> ", " >>--->", " <---<<", " <---<< ", " <---<< ", " <---<< ", "<---<< "], - fan: ["┤", "┘", "┴", "└", "├", "┌", "┬", "┐"], - fan1: ["+", "x"], - fan2: ["v", "<", "^", ">"], - triangle: ["◢", "◣", "◤", "◥"], - square: ["◰", "◳", "◲", "◱"], - circle: ["◴", "◷", "◶", "◵"], - big_circle: ["◐", "◓", "◑", "◒"], - boom: [".", "o", "O", "@", "*"], - pipe: ["|", "/", "-", "\\"], - alphabet: ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"], - matrix: ["ヲ", "ァ", "ィ", "ゥ", "ェ", "ォ", "ャ", "ュ", "ョ", "ッ", "ア", "イ", "ウ", "エ", "オ", "カ", "キ", "ク", "ケ", "コ", "サ", "シ", "ス", "セ", "ソ", "タ", "チ", "ツ", "テ", "ト", "ナ", "ニ", "ヌ", "ネ", "ノ", "ハ", "ヒ", "フ", "ヘ", "ホ", "マ", "ミ", "ム", "メ", "モ", "ヤ", "ユ", "ヨ", "ラ", "リ", "ル", "レ", "ロ", "ワ", "ン"], - three_dots: [". ", ".. ", "..."], - eyes: ["◡◡", "⊙⊙", "◠◠"], - dots: ["⠁", "⠂", "⠄", "⡀", "⢀", "⠠", "⠐", "⠈"], - snake: ["⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷"], - snake1: ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"], - snake2: ["⠋", "⠙", "⠚", "⠒", "⠂", "⠂", "⠒", "⠲", "⠴", "⠦", "⠖", "⠒", "⠐", "⠐", "⠒", "⠓", "⠋"], - square1: ["■", "□", "▪", "▫"], - square2: ["▖", "▘", "▝", "▗"], - square3: ["▁", "▃", "▄", "▅", "▆", "▇", "█", "▇", "▆", "▅", "▄", "▃", "▁"], - square4: ["▉", "▊", "▋", "▌", "▍", "▎", "▏", "▎", "▍", "▌", "▋", "▊", "▉"], - square5: ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█", "▉", "▊", "▋", "▌", "▍", "▎", "▏", "▏", "▎", "▍", "▌", "▋", "▊", "▉", "█", "▇", "▆", "▅", "▄", "▃", "▂", "▁"], - thin_arrow: ["←", "↑", "→", "↓"], - big_arrow: ["⇐", "⇖", "⇑", "⇗", "⇒", "⇘", "⇓", "⇙"], - balloon: [".", "o", "O", "°", "O", "o", "."], - progress: ["[ ]", "[= ]", "[== ]", "[=== ]", "[==== ]", "[===== ]", "[====== ]", "[======= ]", "[======== ]", "[========= ]", "[==========]"], - progress1: ["(*---------)", "(-*--------)", "(--*-------)", "(---*------)", "(----*-----)", "(-----*----)", "(------*---)", "(-------*--)", "(--------*-)", "(---------*)"], - progress2: ["█▒▒▒▒▒▒▒▒▒", "███▒▒▒▒▒▒▒", "█████▒▒▒▒▒", "███████▒▒▒", "██████████"], - progress3: ["[ ]", "[=> ]", "[===> ]", "[=====> ]", "[======> ]", "[========> ]", "[==========> ]", "[============> ]", "[==============> ]", "[================> ]", "[==================> ]", "[===================>]"], - fish: [">))'> ", " >))'> ", " >))'> ", " >))'> ", " >))'>", " <'((<", " <'((< ", " <'((< ", " <'((< ", "<'((< "], + arrow: {"←", "↖", "↑", "↗", "→", "↘", "↓", "↙"}, + arrow2: {">>---> ", " >>---> ", " >>---> ", " >>---> ", " >>--->", " <---<<", " <---<< ", " <---<< ", " <---<< ", "<---<< "}, + fan: {"┤", "┘", "┴", "└", "├", "┌", "┬", "┐"}, + fan1: {"+", "x"}, + fan2: {"v", "<", "^", ">"}, + triangle: {"◢", "◣", "◤", "◥"}, + square: {"◰", "◳", "◲", "◱"}, + circle: {"◴", "◷", "◶", "◵"}, + big_circle: {"◐", "◓", "◑", "◒"}, + boom: {".", "o", "O", "@", "*"}, + pipe: {"|", "/", "-", "\\"}, + alphabet: {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}, + matrix: {"ヲ", "ァ", "ィ", "ゥ", "ェ", "ォ", "ャ", "ュ", "ョ", "ッ", "ア", "イ", "ウ", "エ", "オ", "カ", "キ", "ク", "ケ", "コ", "サ", "シ", "ス", "セ", "ソ", "タ", "チ", "ツ", "テ", "ト", "ナ", "ニ", "ヌ", "ネ", "ノ", "ハ", "ヒ", "フ", "ヘ", "ホ", "マ", "ミ", "ム", "メ", "モ", "ヤ", "ユ", "ヨ", "ラ", "リ", "ル", "レ", "ロ", "ワ", "ン"}, + three_dots: {". ", ".. ", "..."}, + eyes: {"◡◡", "⊙⊙", "◠◠"}, + dots: {"⠁", "⠂", "⠄", "⡀", "⢀", "⠠", "⠐", "⠈"}, + snake: {"⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷"}, + snake1: {"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"}, + snake2: {"⠋", "⠙", "⠚", "⠒", "⠂", "⠂", "⠒", "⠲", "⠴", "⠦", "⠖", "⠒", "⠐", "⠐", "⠒", "⠓", "⠋"}, + square1: {"■", "□", "▪", "▫"}, + square2: {"▖", "▘", "▝", "▗"}, + square3: {"▁", "▃", "▄", "▅", "▆", "▇", "█", "▇", "▆", "▅", "▄", "▃", "▁"}, + square4: {"▉", "▊", "▋", "▌", "▍", "▎", "▏", "▎", "▍", "▌", "▋", "▊", "▉"}, + square5: {"▁", "▂", "▃", "▄", "▅", "▆", "▇", "█", "▉", "▊", "▋", "▌", "▍", "▎", "▏", "▏", "▎", "▍", "▌", "▋", "▊", "▉", "█", "▇", "▆", "▅", "▄", "▃", "▂", "▁"}, + thin_arrow: {"←", "↑", "→", "↓"}, + big_arrow: {"⇐", "⇖", "⇑", "⇗", "⇒", "⇘", "⇓", "⇙"}, + balloon: {".", "o", "O", "°", "O", "o", "."}, + progress: {"[ ]", "[= ]", "[== ]", "[=== ]", "[==== ]", "[===== ]", "[====== ]", "[======= ]", "[======== ]", "[========= ]", "[==========]"}, + progress1: {"(*---------)", "(-*--------)", "(--*-------)", "(---*------)", "(----*-----)", "(-----*----)", "(------*---)", "(-------*--)", "(--------*-)", "(---------*)"}, + progress2: {"█▒▒▒▒▒▒▒▒▒", "███▒▒▒▒▒▒▒", "█████▒▒▒▒▒", "███████▒▒▒", "██████████"}, + progress3: {"[ ]", "[=> ]", "[===> ]", "[=====> ]", "[======> ]", "[========> ]", "[==========> ]", "[============> ]", "[==============> ]", "[================> ]", "[==================> ]", "[===================>]"}, + fish: {">))'> ", " >))'> ", " >))'> ", " >))'> ", " >))'>", " <'((<", " <'((< ", " <'((< ", " <'((< ", "<'((< "}, } end diff --git a/src/spinner/version.cr b/src/spinner/version.cr index c21d7b5..729dfc0 100644 --- a/src/spinner/version.cr +++ b/src/spinner/version.cr @@ -1,3 +1,3 @@ module Spinner - VERSION = "0.1.0" + VERSION = "0.1.1" end