summary refs log tree commit diff
path: root/Functions/Prompts/prompt_elite_setup
blob: 53216c52a76f7cbe182a2ab751e61dc6f1a33f4a (plain) (blame)
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
# Created by KrON from windowmaker on IRC
# Changed by Spidey 08/06
# Converted to zsh prompt theme by <adam@spiers.net>

prompt_elite_help () {
  cat <<EOH
This prompt is color-scheme-able.  You can invoke it thus:

  prompt elite [<text-color> [<punctuation-color>]]

The default colors are red and blue respectively.  This theme is
intended for use with a black background.

Recommended fonts for this theme: nexus or vga or similar.  If you
don't have any of these, the 8-bit characters will probably look stupid.
EOH
}

prompt_elite_setup () {
  local text=${1:-'red'}
  local punctuation=${2:-'blue'}

  for code in 332 304 371 372 300; do
    local char_$code=$(echo -n "\\0$code")
  done

  PS1="%{$fg[$text]%}$char_332$char_304%{$fg[$punctuation]%}(%{$fg[$text]%}%n%{$fg[$punctuation]%}@%{$fg[$text]%}%m%{$fg[$punctuation]%})%{$fg[$text]%}-%{$fg[$punctuation]%}(%{$fg[$text]%}%D{%I:%M%P}%{$fg[$punctuation]%}-:-%{$fg[$text]%}%D{%m}%{$fg[$punctuation]$fg[$text]%}/%D{%d}%{$fg[$punctuation]%})%{$fg[$text]%}$char_304-%{$fg[$punctuation]]%}$char_371%{$fg[$text]%}-$char_371$char_371%{$fg[$punctuation]%}$char_372$prompt_newline%{$fg[$text]%}$char_300$char_304%{$fg[$punctuation]%}(%{$fg[$text]%}%1~%{$fg[$punctuation]%})%{$fg[$text]%}$char_304$char_371%{$fg[$punctuation]%}$char_372%{$reset_color%}"
  PS2="> "

  precmd () { setopt promptsubst }
  preexec () { }
}

prompt_elite_preview () {
  if (( ! $#* )); then
    prompt_preview_theme elite
    print
    prompt_preview_theme elite green yellow
  else
    prompt_preview_theme elite "$@"
  fi
}

prompt_elite_setup "$@"