spinny

授权协议 MIT License
开发语言 C/C++
所属分类 应用工具、 终端/远程登录
软件类型 开源软件
地区 不详
投 递 者 司空思聪
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Spinny

Spinny is a tiny terminal spinner package for Nim Programming Language.

Getting Started

You can use Nimble to install the package by running:

nimble install spinny

This library uses threads for spinners, so you have to compile your application(or add to your nim.cfg):

--threads:on

Usage

Spinny is quite easy to use. You can set the color, text or symbol of an already running spinner.

import spinny, os

var spinner1 = newSpinny("Loading file..".fgWhite, Dots)
spinner1.setSymbolColor(fgBlue)
spinner1.start()

# do some work here
for x in countup(5, 10):
  sleep(500)

spinner1.success("File was loaded successfully.")

var spinner2 = newSpinny("Downloading files..".fgBlue, Dots5)
spinner2.setSymbolColor(fgLightBlue)
spinner2.start()

# do some work here
for x in countup(5, 10):
  sleep(500)

spinner2.error("Sorry, something went wrong during downloading!")

You can even use custom spinners if predefined ones aren't suitable for your needs.

import spinny, os

# makeSpinner accepts two arguments - the interval between different frames,
# and frames themselves (as a sequence of strings)
var spinner3 = newSpinny("I'm custom.", makeSpinner(100, @["x", "y"]))
spinner3.setSymbolColor(fgGreen)
spinner3.start()

# do some magnificent work here
for x in countup(1, 5):
  sleep(500)

spinner3.success("Looks like it's working!")

Spinny embeds the colorize library for terminal colors.For spinners to use, take a look at the src/spinners.nim file. (Credit goes to sindresorhus)

API Reference

The following procs are available on a Spinny object:

  • setSymbolColor*(spinny: Spinny, color: proc(x: string): string)
  • setSymbol*(spinny: Spinny, symbol: string)
  • setText*(spinny: Spinny, text: string)
  • start*(spinny: Spinny)
  • stop*(spinny: Spinny)
  • success*(spinny: Spinny, msg: string)
  • error*(spinny: Spinny, msg: string)

Contributing

All contributions are welcome. Feel free to make this project better. :)

Authors

  • Mark Molnar

License

  • MIT

相关阅读

相关文章

相关问答

相关文档