Browse code

Add dotfiles

Robert Cranston authored on 13/02/2022 02:08:04
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,50 @@
1
+# https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_05_03
2
+
3
+# NOTE: `PS0` and `PROMPT_COMMAND` are not POSIX but supported by common
4
+# shells.
5
+
6
+__prompt_ps1()
7
+{
8
+  __prompt_exit="$?"
9
+  __prompt_time="$(__prompt_time_stop)"
10
+  __prompt_jobs="$(jobs > '/dev/null'; jobs | wc -l)"
11
+  __prompt_color     '\x01%s\x02'
12
+  __prompt_user_host '%s:'
13
+  __prompt_pwd       '%s'
14
+  __prompt_chroot    ' (chroot:%s)'
15
+  __prompt_ranger    ' (ranger:%s)'
16
+  __prompt_venv      ' (venv:%s)'
17
+  __prompt_git       ' (git:%s)'
18
+  __prompt_jobs      ' {%s}' "$__prompt_jobs"
19
+  __prompt_time      ' [%s]' "$__prompt_time"
20
+  __prompt_exit      ' <%s>' 'TSTP' "$__prompt_exit"
21
+  __prompt_end       ' ' '$' '#'
22
+  __prompt_statusline '\x01%s\x02' "$(
23
+    __prompt_shell     '%s:' 'sh'
24
+    __prompt_user_host '%s:'
25
+    __prompt_pwd       '%s'
26
+  )"
27
+  __prompt_intr '^]'
28
+}
29
+
30
+__prompt_ps0()
31
+{
32
+  __prompt_intr '^C'
33
+  __prompt_statusline '%s' "$(
34
+    __prompt_shell     '%s:' 'sh'
35
+    __prompt_user_host '%s:'
36
+    __prompt_pwd       '%s'
37
+    __prompt_run       ':%s'
38
+  )"
39
+  __prompt_reset '%s'
40
+  __prompt_time_start
41
+}
42
+
43
+__prompt_command()
44
+{
45
+  __prompt_venv_activate
46
+}
47
+
48
+PS1='$(__prompt_ps1)'
49
+PS0='$(__prompt_ps0)'
50
+PROMPT_COMMAND='__prompt_command'