Adam Rensel b05888e79d Add the correct demo app 9 years ago
..
bin 0ad841a423 init commit 9 years ago
examples 0ad841a423 init commit 9 years ago
lib 0ad841a423 init commit 9 years ago
node_modules b05888e79d Add the correct demo app 9 years ago
test 0ad841a423 init commit 9 years ago
themes 0ad841a423 init commit 9 years ago
.npmignore 0ad841a423 init commit 9 years ago
.travis.yml 0ad841a423 init commit 9 years ago
LICENSE 0ad841a423 init commit 9 years ago
README.md 0ad841a423 init commit 9 years ago
cardinal.js 0ad841a423 init commit 9 years ago
colorize.js 0ad841a423 init commit 9 years ago
colors.js 0ad841a423 init commit 9 years ago
package.json b05888e79d Add the correct demo app 9 years ago
settings.js 0ad841a423 init commit 9 years ago
utl.js 0ad841a423 init commit 9 years ago

README.md

cardinal Build Status

car·di·nal (kärdn-l, kärdnl) - crested thick-billed North American finch having bright red plumage in the male.

screenshot

Features

  • highlights JavaScript code with ANSI colors to improve terminal output
  • theming support, see custom color themes
  • optionally print line numbers
  • API and command line interface (cdl)
  • .cardinalrc config to customize settings
  • supports UNIX pipes

Table of Contents generated with DocToc

Installation

As library

npm install cardinal

As Commandline Tool

[sudo] npm install -g cardinal

Note:

When installed globally, cardinal exposes itself as the cdl command.

Commandline

Highlight a file

cdl <file.js> [options]

options:

  • --nonum: turns off line number printing (relevant if it is turned on inside ~/.cardinalrc

As part of a UNIX pipe

cat file.js | grep console | cdl

Note:

Not all code lines may be parsable JavaScript. In these cases the line is printed to the terminal without highlighting it.

Theme

The default theme will be used for highlighting.

To use a different theme, include a .cardinalrc file in your HOME directory.

This is a JSON file of the following form:

{
  "theme": "hide-semicolons",
  "linenos": true|false
}
  • theme can be the name of any of the built-in themes or the full path to a custom theme anywhere on your computer.
  • linenos toggles line number printing

API

highlight(code[, opts])

  • returns the highlighted version of the passed code ({String}) or throws an error if it was not able to parse it
  • opts (see below)

highlightFileSync(fullPath[, opts])

  • returns the highlighted version of the file whose fullPath ({String}) was passed or throws an error if it was not able to parse it
  • opts (see below)

highlightFile(fullPath[, opts], callback)

  • calls back with the highlighted version of the file whose fullPath ({String}) was passed or with an error if it was not able to parse it
  • opts (see below)
  • callback ({Function}) has the following signature: function (err, highlighted) { .. }

opts

opts is an {Object} with the following properties:

  • theme {Object} is used to optionally override the theme used to highlight
  • linenos {Boolean} if true line numbers are included in the highlighted code
  • firstline {Integer} sets line number of the first line when line numbers are printed
  • json {Boolean} if true highlights JSON in addition to JavaScript (true by default if file extension is .json)

Examples (browse)