zsh-workers
 help / color / mirror / code / Atom feed
979411d4b6bed2bdd52494d592534207397edf90 blob 1496 bytes (raw)

 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
# oliver prompt theme

prompt_oliver_help() {
  cat <<'ENDHELP'
With this prompt theme, the prompt contains the current directory,
history number, number of jobs (if non-zero) and the previous
command's exit code (if non-zero) and a final character which
depends on priviledges.

The colour of the prompt depends on two associative arrays -
$pcolour and $tcolour. Each array is indexed by the name of the
local host. Alternatively, the colour can be set with parameters
to prompt. To specify colours, use English words like 'yellow',
optionally preceded by 'bold'.

The hostname and username are also included unless they are in the
$normal_hosts or $normal_users array.
ENDHELP
}

prompt_oliver_setup() {
  prompt_opts=( cr subst percent )

  [[ "${(t)pcolour}" != assoc* ]] && typeset -Ag pcolour
  [[ "${(t)tcolour}" != assoc* ]] && typeset -Ag tcolour
  local pcol=${1:-${pcolour[${HOST:=`hostname`}]:-bold}}
  local pcolr="%F{${${pcol#bold}:-default}}"
  [[ $pcol = bold* ]] && pcolr=%B$pcolr

  local tcol=${2:-${tcolour[$HOST]}}
  local tcolr="fg=${${tcol#bold}:-default}"
  [[ $tcol = bold* ]] && tcolr=bold,$tcolr

  local a host="%m:" user="%n "
  [[ $HOST == (${(j(|))~normal_hosts}) ]] && host=""
  [[ $LOGNAME == (root|${(j(|))~normal_users}) ]] && user=""

  PS1="$pcolr$user$host%~%"'$((COLUMNS-12))'"(l.$prompt_newline. )[%h%1(j.%%%j.)%0(?..:%?)]%# %b%f%k"  RPS2='<%^'
  PS2=''

  typeset -ga zle_highlight
  zle_highlight[(r)default:*]=default:$tcolr
}

prompt_oliver_setup "$@"
debug log:

solving 979411d4b ...
found 979411d4b in https://git.vuxu.org/mirror/zsh/

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).