Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 48e04c7550

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 examples
Octocat-spinner-32 lib
Octocat-spinner-32 README.md
README.md

ansimator

Plop some simple animations onto the terminal with ANSI codes!

Example:

var ansimate = require("ansimator")(process);

var frames = [

  [
    "   ▜▘         ",
    "   ▐    ☻     ",
    "    ▚▄█████▚  ",
    "      ▐███  ▐ ",
    " ▜▛   ▐███    ",
    " ▔▔   ▐  ▐    ",
    "      ▟  ▟    ",
    "              " ].join("\n"),

  [
    "              ",
    "*tink*  ☻     ",
    "  ▖  ▄█████▚  ",
    "  ▛▀▀ ▐███  ▐ ",
    " ▜▛   ▐███    ",
    " ▔▔   ▐  ▐    ",
    "      ▟  ▟    ",
    "              " ].join("\n")


];

var metalworker = ansimate(frames).move(0, 2, function (metalworker) {
  setInterval(metalworker.next, 800);
});

metalworker.charm.on("^C", function () {
  metalworker.charm.display("reset");
  metalworker.charm.destroy();
  process.exit();
});

Install:

npm install ansimator

Usage:

ansimator(...)

This function takes the same arguments as charm and returns an instance of ansimate.

ansimate(frames)

Frames consists of a list of strings, where each string represents a single unicode image.

ansimate(frames) Properties and Methods:

  • position(x, y): Position the top-left cursor position as in charm.

  • move(x, y, cb): Move the top-left cursor position as in charm. Takes a callback argument which fires after polling is complete.

  • next(): Draws the next frame.

  • frames: Feel free to modify the frames at runtime.

  • charm: Access the associated instance of charm directly.

License:

MIT/X11.

Something went wrong with that request. Please try again.