summaryrefslogtreecommitdiff
path: root/source/app.d
diff options
context:
space:
mode:
authorShav Kinderlehrer <[email protected]>2023-08-09 16:01:15 -0400
committerShav Kinderlehrer <[email protected]>2023-08-09 16:01:15 -0400
commit85f830ce4730da0489bc14d8726de7fb2dd0fc38 (patch)
tree811707c736ce7098b5655f018219c5093518f0a0 /source/app.d
parent24c94e510ab9c016542b287e060c992c195d7987 (diff)
downloadprim-85f830ce4730da0489bc14d8726de7fb2dd0fc38.tar.gz
prim-85f830ce4730da0489bc14d8726de7fb2dd0fc38.zip
Add styles
Diffstat (limited to 'source/app.d')
-rw-r--r--source/app.d32
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();
+ }
}