Comparing version 0.0.1 to 0.0.2
49
index.js
var Generator = require('generate-js'); | ||
function repeat(string, times) { | ||
return new Array( times + 1 ).join( string ); | ||
} | ||
function calcMaxKeyLength(arr, arrIndex) { | ||
var maxKeyLength = 0, i; | ||
if (arr instanceof Array) { | ||
for (i = 0; i < arr.length; i++) { | ||
if (arr[i][arrIndex].length > maxKeyLength) { | ||
maxKeyLength = arr[i][arrIndex].length; | ||
} | ||
} | ||
} else { | ||
for (i in arr) { | ||
if (arr[i][arrIndex].length > maxKeyLength) { | ||
maxKeyLength = arr[i][arrIndex].length; | ||
} | ||
} | ||
} | ||
return maxKeyLength; | ||
} | ||
var CommandLineParser = Generator.generate( | ||
@@ -241,2 +265,21 @@ /** | ||
/** | ||
* Creates A help message | ||
* @return {String} | ||
*/ | ||
help: function help() { | ||
var _ = this, | ||
helpStr = '', | ||
maxLength = calcMaxKeyLength(_.options, 1); | ||
for (var i = 0; i < _.options.length; i++) { | ||
var flag = _.options[i]; | ||
var longName = flag[1] + repeat(' ', maxLength - flag[1].length + 4); | ||
helpStr += ' ' + (flag[0] ? ('-' + flag[0] + ',') : ' ') + ' --' + longName + flag[2] + '\n'; | ||
} | ||
return helpStr; | ||
}, | ||
/** | ||
* Option Parser Regex | ||
@@ -268,3 +311,5 @@ * @type {RegExp} | ||
// ]); | ||
// c.parse(['echo', 'cats', '--red', 'car']); | ||
// | ||
// console.log(c.help()); | ||
// | ||
// console.log(c.parse(['echo', 'cats', '--red', 'car'])); |
{ | ||
"name": "cmd-args", | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"description": "A simple command-line argument parser for NodeJS command-line tools.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
11524
267