linespin
Version:
Simple progress output
86 lines (54 loc) • 1.76 kB
Markdown
# linespin
Simple progress output
Extracted from [music.json](https://github.com/geekjuice/musicjson)
## Why?
It's nice to know that your program is running and not dead with a simple
spinner animation
## Usage
```sh
$ npm install linespin
```
```javascript
// linespin_example.js
var Linespin = require('./linespin');
// Create new instance of linespin
var linespin = new Linespin('Spinning...', 'All done!', 100);
// Start spinner at beginning of task
linespin.start();
// Some long running task...
linespin.error('Error!');
// Continuing process...
linespin.warn('Warning!');
// Say something...
linespin.msg('Hello world!');
// Results down the line...
var results = 42;
// Stop at the end of task and overwrite message with results
linespin.stop('The answer is ' + results);
```
```sh
$ node linespin_example.js
[/] Spinning...
# During process...
$ node linespin_example.js
[!] Error! # Red
[!] Warning! # Yellow
[•] Hello world! # White
[-] Spinning... # Yellow/Blue
# On finish
$ node linespin_example.js
[!] Error! # Red
[!] Warning! # Yellow
[•] Hello world! # White
[✓] The answer is 42 # Green/Blue
```
## Notes
* Assumes your progress does not print to console/stdout as the spinner works by
replacing the same line over and over again to produce the _animation_
* Add editable color and symbol options
* Add replace text method to replace current text i.e. Progress done
* ~~Aggregate message output methods (wet code...)~~
* ~~Overwrite console.log or provide similar function i.e. ~~
* ~~Need to add Gruntfile~~
## License
Linespin is released under the MIT License.