module shlex_main; import std.stdio; import std.typecons; import std.file; import std.utf; import std.array; import std.algorithm; import shlex; // TODO: inefficient. auto readFile(File file) { return file.byLine(Yes.keepTerminator).join; } void main(string[] args) { if (args.length == 1) _printTokens(*new Shlex(stdin.readFile)); else { immutable filename = args[1]; scope File file = File(filename, "r"); _printTokens(*new Shlex(file.readFile, nullable(filename))); } }