Add nomnom for option parsing. Allow indentation option"
This commit is contained in:
27
lib/cli.js
27
lib/cli.js
@@ -1,7 +1,30 @@
|
|||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
var sys = require("sys");
|
var sys = require("sys");
|
||||||
|
var fs = require("fs");
|
||||||
var parser = require("./jsonlint").parser;
|
var parser = require("./jsonlint").parser;
|
||||||
|
var options = require("nomnom")
|
||||||
|
.scriptName("jsonlint")
|
||||||
|
.opts({
|
||||||
|
file: {
|
||||||
|
position: 0,
|
||||||
|
help: "file to parse; otherwise uses stdin"
|
||||||
|
},
|
||||||
|
version: {
|
||||||
|
string: '-v, --version',
|
||||||
|
help: 'print version and exit',
|
||||||
|
callback: function() {
|
||||||
|
return JSON.parse(fs.readFileSync(__dirname + "/../package.json", "utf8")).version;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
indent : {
|
||||||
|
string: '-t CHAR, --indent CHAR',
|
||||||
|
default: " ",
|
||||||
|
help: 'character(s) to use for indentation'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.parseArgs();
|
||||||
|
|
||||||
|
|
||||||
function parse (source) {
|
function parse (source) {
|
||||||
try {
|
try {
|
||||||
@@ -14,8 +37,8 @@ function parse (source) {
|
|||||||
|
|
||||||
function main (args) {
|
function main (args) {
|
||||||
var source = '';
|
var source = '';
|
||||||
if (args[1]) {
|
if (options.file) {
|
||||||
source = require('fs').readFileSync(require('path').join(process.cwd(), args[1]), "utf8");
|
source = fs.readFileSync(require('path').join(process.cwd(), options.file), "utf8");
|
||||||
parse(source);
|
parse(source);
|
||||||
} else {
|
} else {
|
||||||
var stdin = process.openStdin();
|
var stdin = process.openStdin();
|
||||||
|
|||||||
@@ -24,7 +24,9 @@
|
|||||||
"engines": {
|
"engines": {
|
||||||
"node": "0.4 || 0.5"
|
"node": "0.4 || 0.5"
|
||||||
},
|
},
|
||||||
"dependencies": {},
|
"dependencies": {
|
||||||
|
"nomnom": ">= 0.4.3"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"test": "*",
|
"test": "*",
|
||||||
"jison": "*",
|
"jison": "*",
|
||||||
|
|||||||
Reference in New Issue
Block a user