diff options
Diffstat (limited to 'source/app.d')
-rw-r--r-- | source/app.d | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/source/app.d b/source/app.d index ca934fa..d1b18b9 100644 --- a/source/app.d +++ b/source/app.d @@ -1,21 +1,17 @@ import std.stdio; import std.getopt; +import prim.opt; + import prompt.ps1; +import prompt.rps1; import prompt.preexec; -import style.color; - -struct Opt { - bool ps1; - bool rps1; - bool preexec; - int col; - int row; -} +import style; +import style.color; void main(string[] argv) { - Opt opts; + Opts opts; GetoptResult args = getopt( argv, @@ -26,21 +22,31 @@ void main(string[] argv) { std.getopt.config.required, "col", "terminal width", &opts.col, + std.getopt.config.required, "row", "terminal height", &opts.row, + + std.getopt.config.required, + "status", "previous command exit code", &opts.status, ); if (args.helpWanted) { defaultGetoptPrinter("prim", args.options); } + dorun(opts); +} + +void dorun(Opts opts) { if (opts.ps1) { - ps1(opts.col).setColor(Color.black).write(); + ps1(opts).write(); } if (opts.preexec) { - preexec(opts.col).setColor(Color.black).write(); + preexec(opts.col).write(); } - write(setColor("", Color.reset)); + if (opts.rps1) { + rps1(opts).write(); + } } |