summaryrefslogtreecommitdiff
path: root/source/prompt/ps1.d
blob: 3b46bf2e56dfbb26fa2e0e4777599a920701d402 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module prompt.ps1;

import std.conv;

import prim.opt;

import comp.hr;
import comp.path;

import style;
import style.color;
import style.font;

string ps1(Opts opt) {
  string ps;

  string pathstr = path(opt.pathlen).set(Color.magenta).set(Font.italic).set(Font.bold);

  ps ~= "\n";
  ps ~= (",-(" ~ pathstr ~ ")".set(Color.black)).set(Color.black);
  ps ~= "\n";

  ps ~= ("`-(" ~ to!string(opt.status).set(Color.yellow) ~ ") ".set(Color.black)).set(Color.black); // prompt char
  ps ~= (opt.pchar ~ " ").set(Font.bold).set(opt.status == 0 ? Color.green : Color.red);
  return ps;
}