diff --git a/prettyjson.dart b/prettyjson.dart index de6ad35..fb20b69 100644 --- a/prettyjson.dart +++ b/prettyjson.dart @@ -9,16 +9,18 @@ main(List args) async { return; } final restArgs = parseResult.rest; + final width = int.parse(parseResult['width']); final jsonContent = await readContent(restArgs); final jsonDecoded = json.decode(jsonContent); - JsonEncoder encoder = new JsonEncoder.withIndent(' '); + JsonEncoder encoder = new JsonEncoder.withIndent(repeat(' ', width)); print(encoder.convert(jsonDecoded)); } ArgResults parseArgs(List args) { final parser = new ArgParser(); parser.addFlag('help', abbr: 'h', defaultsTo: false, help: 'Help'); + parser.addOption('width', abbr: 'w', defaultsTo: '4', help: 'Space width'); return parser.parse(args); } @@ -40,6 +42,14 @@ Future readFromStdin() async { return Future.value(stdinContentArray.join('\n')); } +String repeat(String s, int count) { + var ret = ''; + for (var i = 0; i < count; i++) { + ret += s; + } + return ret; +} + printHelp() { print('pretty.dart - version 0.1'); print('Usage:');