1
0
mirror of synced 2025-12-14 10:07:59 +08:00

Add nomnom for option parsing. Allow indentation option"

This commit is contained in:
Zach Carter
2011-06-01 17:24:24 -04:00
parent e48d7b93b4
commit 26d697c45f
2 changed files with 29 additions and 4 deletions

View File

@@ -1,7 +1,30 @@
#!/usr/bin/env node
var sys = require("sys");
var fs = require("fs");
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) {
try {
@@ -14,8 +37,8 @@ function parse (source) {
function main (args) {
var source = '';
if (args[1]) {
source = require('fs').readFileSync(require('path').join(process.cwd(), args[1]), "utf8");
if (options.file) {
source = fs.readFileSync(require('path').join(process.cwd(), options.file), "utf8");
parse(source);
} else {
var stdin = process.openStdin();

View File

@@ -24,7 +24,9 @@
"engines": {
"node": "0.4 || 0.5"
},
"dependencies": {},
"dependencies": {
"nomnom": ">= 0.4.3"
},
"devDependencies": {
"test": "*",
"jison": "*",