aboutsummaryrefslogtreecommitdiff
path: root/files/prompt
blob: e4d4ddf04aa51d4eadcb1e01a7661372a41e79d1 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
#
# Fancy bash prompt.
# See http://www.debian-administration.org/article/Fancy_Bash_Prompts
#

command_prompt() {
  exit_status="$?"
  # colors
  COLOR_RED="\[\033[31m\]"
  COLOR_GREEN="\[\033[32m\]"
  COLOR_YELLOW="\[\033[33m\]"
  COLOR_BLUE="\[\033[34m\]"
  COLOR_MAGENTA="\[\033[35m\]"
  COLOR_CYAN="\[\033[36m\]"

  COLOR_RED_BOLD="\[\033[31;1m\]"
  COLOR_GREEN_BOLD="\[\033[32;1m\]"
  COLOR_YELLOW_BOLD="\[\033[33;1m\]"
  COLOR_BLUE_BOLD="\[\033[34;1m\]"
  COLOR_MAGENTA_BOLD="\[\033[35;1m\]"
  COLOR_CYAN_BOLD="\[\033[36;1m\]"

  COLOR_NONE="\[\033[0m\]"
  BOLD="\[\033[1m\]"

  if [ "$exit_status" == "0" ]; then
    status_color="${COLOR_GREEN}"
  else
    status_color="${COLOR_RED_BOLD}"
  fi

  # Yellow blue theme with git completion
  PS1="${status_color}${exit_status}${COLOR_NONE} ${COLOR_CYAN}\D{%Y%m%d %H:%M:%S}${COLOR_NONE} ${COLOR_CYAN}${debian_chroot:+($debian_chroot) }${COLOR_NONE}${COLOR_YELLOW}\u@\h${COLOR_NONE}:${COLOR_CYAN}\w$(__git_ps1 " (%s)")${COLOR_NONE} \\$ "
  PS2="${BOLD}>${OFF} "
}

# Older systems doesn't source git completion by default
if ! type __git_ps1 &> /dev/null && [ -e "/etc/bash_completion.d/git" ]; then
  source /etc/bash_completion.d/git
fi

PROMPT_COMMAND="command_prompt"