Skip to content

Commit b2eef74

Browse files
committed
Allow pretty printing a file by file path
1 parent a35c53e commit b2eef74

1 file changed

Lines changed: 16 additions & 3 deletions

File tree

example/pretty.dart

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,26 @@ import 'dart:io';
44
import 'package:org_parser/org_parser.dart';
55

66
void main(List<String> arguments) async {
7-
final markup = arguments.isNotEmpty
8-
? arguments.first
9-
: await stdin.transform(utf8.decoder).join();
7+
final markup = await getMarkup(arguments);
108
final doc = OrgDocument.parse(markup);
119
visit(doc);
1210
}
1311

12+
Future<String> getMarkup(List<String> arguments) async {
13+
if (arguments.length > 1) {
14+
print('Usage: pretty.dart [file]');
15+
exit(1);
16+
}
17+
if (arguments.isEmpty || arguments.single == '-') {
18+
return await stdin.transform(utf8.decoder).join();
19+
}
20+
final file = File(arguments.single);
21+
if (await file.exists()) {
22+
return await file.readAsString();
23+
}
24+
return arguments.single;
25+
}
26+
1427
void visit(OrgNode node, {int depth = 0}) {
1528
final preview = makePreview(node);
1629
print('${' ' * depth}$node: $preview');

0 commit comments

Comments
 (0)