add --inplace option
This commit is contained in:
parent
9c8abe55fa
commit
6e9448bdbb
|
@ -33,9 +33,14 @@ import std.d.parser;
|
||||||
import std.d.formatter;
|
import std.d.formatter;
|
||||||
import std.d.ast;
|
import std.d.ast;
|
||||||
import std.array;
|
import std.array;
|
||||||
|
import std.getopt;
|
||||||
|
|
||||||
int main(string[] args)
|
int main(string[] args)
|
||||||
{
|
{
|
||||||
|
bool inplace = false;
|
||||||
|
getopt(args,
|
||||||
|
"inplace", &inplace);
|
||||||
|
File output = stdout;
|
||||||
ubyte[] buffer;
|
ubyte[] buffer;
|
||||||
if (args.length == 1)
|
if (args.length == 1)
|
||||||
{
|
{
|
||||||
|
@ -55,6 +60,8 @@ int main(string[] args)
|
||||||
File f = File(args[1]);
|
File f = File(args[1]);
|
||||||
buffer = new ubyte[](f.size);
|
buffer = new ubyte[](f.size);
|
||||||
f.rawRead(buffer);
|
f.rawRead(buffer);
|
||||||
|
if (inplace)
|
||||||
|
output = File(args[1], "w");
|
||||||
}
|
}
|
||||||
LexerConfig config;
|
LexerConfig config;
|
||||||
config.stringBehavior = StringBehavior.source;
|
config.stringBehavior = StringBehavior.source;
|
||||||
|
@ -71,7 +78,7 @@ int main(string[] args)
|
||||||
visitor.visit(mod);
|
visitor.visit(mod);
|
||||||
astInformation.cleanup();
|
astInformation.cleanup();
|
||||||
auto tokens = byToken(buffer, config, &cache).array();
|
auto tokens = byToken(buffer, config, &cache).array();
|
||||||
auto tokenFormatter = TokenFormatter(tokens, stdout, &astInformation,
|
auto tokenFormatter = TokenFormatter(tokens, output, &astInformation,
|
||||||
&formatterConfig);
|
&formatterConfig);
|
||||||
tokenFormatter.format();
|
tokenFormatter.format();
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue