Skip to content

Instantly share code, notes, and snippets.

@berga
Forked from mortn/.promptrc
Created February 18, 2020 09:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save berga/32633f4ea13a2eaa71f995d1b8899246 to your computer and use it in GitHub Desktop.
Save berga/32633f4ea13a2eaa71f995d1b8899246 to your computer and use it in GitHub Desktop.
byobu git prompt
#!/bin/bash
# modified from byobu's bashrc -- colorize the prompt
# Copyright (C) 2014 Dustin Kirkland
#
# Authors: Dustin Kirkland <kirkland@byobu.co>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Ensure that we're in a tmux or screen session
case "$TERM" in
xterm)
# Try to ensure we have 256 colors
export TERM="xterm-256color"
;;
esac
git_branch() {
local branch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null)
[[ -n $branch ]] && echo -e "($branch)"
}
# Ensure that we're in bash, in a byobu environment
if [ -n "$BASH" ]; then
byobu_prompt_status() { local e=$?; [ $e != 0 ] && echo -e "$e "; }
[ -n "$BYOBU_CHARMAP" ] || BYOBU_CHARMAP=$(locale charmap 2>/dev/null || echo)
byobu_prompt_symbol() {
if [ "$USER" = "root" ]; then
printf "%s" "#";
elif [ "$BYOBU_DISTRO" = "Ubuntu" ]; then
case "$BYOBU_CHARMAP" in
"UTF-8")
# MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET (U+27EB, Pe): [0m~_�
printf "%s" "[0m~_�[0m~_�"
;;
*)
# Simple ASCII greater-than sign
printf "%s" ">"
;;
esac
else
printf "%s" "\$"
fi
}
case "$BYOBU_DISTRO" in
"Ubuntu")
# Use Ubuntu colors (grey / aubergine / orange)
PS1="${debian_chroot:+($debian_chroot)}\[\e[38;5;202m\]\$(byobu_prompt_status)\[\e[38;5;245m\]\u\[\e[00m\]@\[\e[38;5;172m\]\h\[\e[00m\]:\[\e[38;5;180m\]\w\[\e[00m\]\[\e[38;5;141m\]\$(git_branch)\[\e[00m\]\$(byobu_prompt_symbol) "
;;
*)
# Use nice colors (green / red / blue)
PS1="${debian_chroot:+($debian_chroot)}\[\e[31m\]\$(byobu_prompt_status)\[\e[00;32m\]\u\[\e[0m\]@\[\e[00;31m\]\h\[\e[0m\]:\[\e[00;36m\]\w\[\e[0m\]\$(byobu_prompt_symbol) "
;;
esac
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment