Liking cljdoc? Tell your friends :D

Build Status Open Issues License Dependencies Status

spinner

A simple text spinner for command line Clojure apps.

What is it useful for?

To give the user of a command line app a simple indeterminate progress indicator for long running operations. Supports output of additional messages while a spinner is active.

Here it is in action (from the unit tests):

spinner example screenshot

Installation

spinner is available as a Maven artifact from Clojars. Plonk the following in your project.clj :dependencies, substitute "#.#.#" for the latest version number, lein deps and you should be good to go:

[org.clojars.pmonks/spinner "#.#.#"]

The latest version is:

version

Trying it Out

Alternatively, you may prefer to kick the library's tyres without creating a project. This is a snap with the awesome lein try plugin:

$ lein try org.clojars.pmonks/spinner

Or (as of v0.5.0), if you have done a brew install clojure you can simply

$ clj -Sdeps '{:deps {org.clojars.pmonks/spinner {:mvn/version "#.#.#"}}}'  # Where #.#.# is replaced with an actual version number >= 0.5.0

Either way, you will be dropped in a REPL with the library downloaded and ready for use.

Usage

The spinner functionality is provided by the spinner.core namespace.

Require it in the REPL:

(require '[spinner.core :as spin] :reload-all)

Require it in your application:

(ns my-app.core
  (:require [spinner.core :as spin]))

Important Note: if you're using leiningen, your REPL must be run in a trampoline (lein trampoline repl) in order for ANSI escape sequences to be available.

The API documentation has full details on the functionality provided by the library, and the unit tests have several examples of usage.

Tested Versions

spinner is tested on:

JVM v1.6JVM v1.7JVM v1.8JVM v9JVM v10JVM v11
Clojure 1.4.01,211111
Clojure 1.5.12
Clojure 1.6.02
Clojure 1.7.02
Clojure 1.8.02
Clojure 1.9.02
Clojure 1.10.0 (snapshot)2,33

1 I chose to only go back as far as Clojure v1.5.1. If anyone needs this on older versions, PRs are welcome!

2 Leiningen v2.8 only supports JVM v1.7 and up

3 Clojure v1.10 only supports JVM v1.8 and up

Developer Information

GitHub project

Bug Tracker

License

Copyright © 2014 Peter Monks (pmonks@gmail.com)

Distributed under the Eclipse Public License either version 2.0 or (at your option) any later version.

Can you improve this documentation?Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close