Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 2cddecbf16
Fetching contributors…

Cannot retrieve contributors at this time

106 lines (70 sloc) 2.65 kb

Node.CLI

By SchizoDuckie

Updated By Cory Gross, xkxx Super simple CLI cursor position control to spice up your script's functionality in terminal/console windows

Updated for 0.4.*

v2.0

Free to use and modify. Report any issues you encountered.

Node.cli uses ANSI control codes to control console behavior. For details see: http://en.wikipedia.org/wiki/ANSI_escape_code

See screenshot.png for an impression of what you can do.

Enjoy!

Usage:

var cli = require('./node-cli.js');
cli.clear().move(20,20).color('red').write('Node.js').down(1).back(7).color('yellow').write('Rocks!').down(10);

Try node example.js to see this in action.

cli.write(text)

Print the text to console without adding a new line after it

Example:

cli.write('We are');
cli.write('in the same line.');

cli.print(text)

Same as cli.write(), except will add a new line

Example:

cli.print('We are');
cli.print('In different lines');

cli.color(text_color, [bold(boolean or cli.bold), [background_color]])

cli.color(text_color, [[background_color, [text_styles...]])

Set colors and styles

Choices of Text and background colors: 'default', 'gray', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'.

Choices of Text styles: 'bold', 'underscore', 'blink', 'inverse', 'conceal', 'nobold', 'nounderscore', 'noblink', 'noinverse', 'noconceal', 'frame', 'encircle', 'overline', 'no_frame_or_circle', 'nooverline'.

Example:

cli.color('yellow', cli.bold).write('Here is some yellow text.');

If you are not satisfied with the provided text styles, it's possible to pass SGR codes directly. For example:

cli.color('green', 'default', 'bold', 4, 7); //same as cli.color('green', 'default', 'bold', 'underscore', 'inverse');

cli.bgcolor(background_color)

Set only the background color

cli.style(text_style)

Set only the text style

cli.reset()

Reset the console to default

cli.resetColor()

Reset only the text color

cli.resetBg()

Reset only the background color

cli.resetStyle()

Reset only text styles

cli.move(x, y)

Move the cursor in x,y position

cli.up(x), cli.down(x), cli.fwd(x), cli.back(x)

Move the cursor up, down, fwd or back x rows/columns

cli.clear(x)

Clear the screen. If no parameter is given or x = 2, the entire screen will be cleared; x = 0, the screen above the cursor; x = 1, the screen under the cursor

cli.clearLine(x)

Clear the line. Works similarly as cli.clear().

cli.clearNext(x)

Clear the next n letters in the line

cli.custom(command)

Save you a '\x1B['.

Jump to Line
Something went wrong with that request. Please try again.