Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Motor
GitHub releaseSwift Package Managerlicense

Swift cli spinner. Simple and fully customizable.

Table of Contents

import Foundation
import Motor
/// Initialize spinner.
letspinner=Spinner(pattern:Patterns.dots)
/// Start spinner.
spinner.start(message:"Motor initiated...")
/// Do your job.
sleep(2)
/// Print message.
spinner.display("Do something...")
/// Do another job.
sleep(3)
/// Stop spinner with message.
spinner.stop(message:"".color(.green)+" Done!")

On terminal

Demo

Installation

Add Motor to Package.swift.

dependencies:[.package(url:"https://github.com/flintbox/Motor", from:"0.1.1")]

Customization

publicstructPattern{publicletframes:[String]publicletfps:UInt32}

Spinner pattern. frames for frames of the animation. fps(frames per second) for frame rate.

openclassAnimator:Operation{publicinit(pattern:Pattern, delay:UInt32){
spinner =Animation(pattern: pattern)self.delay = delay
super.init()}}

Delay before starting animation. Useful when duration of the job could be short and don't want to flash spinner.

openclassSpinner{openfunc start(message:String=""){}openfunc display(_ message:String){}openfunc stop(message:String?=nil){}}

On start, during or termination of the animation. Show message beside spinner. Please, keep in mind that the spinner and message should be in one line to be correctly animated.

Contribute

If you have good idea or suggestion? Please, don't hesitate to open a pull request or send me an email.

Hope you enjoy building command line tool with Motor!

About

Swift CLI spinner. Simple and fully customizable.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages