Skip to content
Browse files

Initial releaze!

  • Loading branch information...
0 parents commit cfb0b4b46bc7e451512338f8459fa6dc5758a2a4 @Gozala committed Jul 10, 2011
Showing with 110 additions and 0 deletions.
  1. +5 −0 History.md
  2. +11 −0 Readme.md
  3. +69 −0 index.js
  4. +25 −0 package.json
5 History.md
@@ -0,0 +1,5 @@
+# Changes #
+
+## 0.0.1 / 2011-07-10 ##
+
+ - Initial release
11 Readme.md
@@ -0,0 +1,11 @@
+# ansi-font #
+
+ANSI font styling utils
+
+## Install ##
+
+ npm install ansi-font
+
+## Require ##
+
+ var font = require('!raw.github.com/Gozala/ansi-font/v0.0.1/index')
69 index.js
@@ -0,0 +1,69 @@
+/* vim:set ts=2 sw=2 sts=2 expandtab */
+/*jshint asi: true newcap: true undef: true es5: true node: true devel: true
+ forin: false */
+/*global define: true */
+
+(typeof define === "undefined" ? function ($) { $(require, exports, module) } : define)(function (require, exports, module, undefined) {
+
+"use strict";
+
+var ESC = '\u001b['
+
+// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
+var SGR_STYLES = {
+ bold: [ 1, 22 ],
+ italic: [ 3, 23 ],
+ underline: [ 4, 24 ],
+ blink: [ 5, 25 ],
+
+ inverse: [ 7, 27 ],
+
+ frame: [ 51, 54 ],
+ encircle: [ 52, 54 ],
+
+ overline: [ 53, 55 ],
+ strikethrough: [ 53, 55 ]
+}
+var SGR_COLORS = {}
+var SGR_BACKROUNDS = {}
+var COLORS = [
+ 'black',
+ 'red',
+ 'green',
+ 'yellow',
+ 'blue',
+ 'magenta',
+ 'cyan',
+ 'white'
+]
+
+COLORS.forEach(function(color, index) {
+ SGR_COLORS[color] = [ 30 + index, 39 ]
+ SGR_BACKROUNDS[color] = [ 40 + index, 49 ]
+})
+
+function sgr(options, id, message) {
+ var params = options[id]
+ if (params) message = ESC + params[0] + 'm' + message + ESC + params[1] + 'm'
+ return message
+}
+
+exports.style = sgr.bind(null, SGR_STYLES)
+exports.color = sgr.bind(null, SGR_COLORS)
+exports.background = sgr.bind(null, SGR_BACKROUNDS)
+
+Object.keys(SGR_STYLES).forEach(function(name) {
+ exports[name] = exports.style.bind(null, name)
+})
+Object.keys(SGR_COLORS).forEach(function(name) {
+ exports[name] = exports.color.bind(null, name)
+ exports['bg' + name] = exports.background.bind(null, name)
+})
+
+var index = 0
+while(index++ < 256) {
+ SGR_COLORS[index] = ['38;5;' + index, 39]
+ SGR_BACKROUNDS[index] = ['48;5;' + index, 39]
+}
+
+});
25 package.json
@@ -0,0 +1,25 @@
+{
+ "name": "ansi-font",
+ "id": "ansi-font",
+ "version": "0.0.1",
+ "description": "ANSI font styling utils",
+ "keywords": [ "ANSI", "font", "style", "colors" ],
+ "author": "Irakli Gozalishvili <rfobic@gmail.com> (http://jeditoolkit.com)",
+ "homepage": "https://github.com/Gozala/ansi-font",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/Gozala/ansi-font.git",
+ "web": "https://github.com/Gozala/ansi-font"
+ },
+ "bugs": {
+ "web": "http://github.com/Gozala/ansi-font/issues/"
+ },
+ "main": "./index.js",
+ "engines": {
+ "node": ">=0.4.x"
+ },
+ "licenses": [{
+ "type" : "MIT",
+ "url" : "http://jeditoolkit.com/LICENSE"
+ }]
+}

0 comments on commit cfb0b4b

Please sign in to comment.
Something went wrong with that request. Please try again.