prim/source/prompt/ps1.d

29 lines
641 B
D
Raw Normal View History

2023-08-09 17:57:38 +00:00
module prompt.ps1;
2023-08-09 20:01:15 +00:00
import std.conv;
import prim.opt;
2023-08-10 14:44:06 +00:00
2023-08-09 19:05:26 +00:00
import comp.hr;
2023-08-10 14:44:06 +00:00
import comp.path;
2023-09-26 13:00:14 +00:00
import comp.ssh;
2023-08-09 20:01:15 +00:00
import style;
2023-08-09 19:05:26 +00:00
import style.color;
2023-08-09 20:01:15 +00:00
import style.font;
2023-08-09 19:05:26 +00:00
2023-08-09 20:01:15 +00:00
string ps1(Opts opt) {
2023-08-09 17:57:38 +00:00
string ps;
2023-08-10 15:13:22 +00:00
string pathstr = path(opt.pathlen).set(Color.magenta).set(Font.italic).set(Font.bold);
2023-08-09 20:01:15 +00:00
2023-08-10 14:44:06 +00:00
ps ~= "\n";
2023-08-10 15:13:22 +00:00
ps ~= (",-(" ~ pathstr ~ ")".set(Color.black)).set(Color.black);
2023-09-26 13:00:14 +00:00
ps ~= " " ~ ssh().set(Color.cyan);
2023-08-10 14:44:06 +00:00
ps ~= "\n";
2023-08-09 19:05:26 +00:00
2023-08-23 04:08:22 +00:00
ps ~= ("`-(" ~ to!string(opt.status).set(Color.yellow) ~ ") ".set(Color.black)).set(Color.black); // prompt char
2023-08-10 15:50:57 +00:00
ps ~= (opt.pchar ~ " ").set(Font.bold).set(opt.status == 0 ? Color.green : Color.red);
2023-08-09 17:57:38 +00:00
return ps;
}