Improve behavior inside Emacs, abbreviate master branch to M

* when branch is master, replace displayed branch name with M
 * enable colors only when on color capable terminal.
This commit is contained in:
alexg0 2009-12-12 00:51:31 -06:00
commit 812d81a807
2 changed files with 31 additions and 11 deletions

View file

@ -1,15 +1,23 @@
# ls colors
autoload colors; colors;
export LSCOLORS="Gxfxcxdxbxegedabagacad"
#export LS_COLORS
autoload colors zsh/terminfo
# Enable ls colors
if [ "$DISABLE_LS_COLORS" != "true" ]
then
# Find the option for using colors in ls, depending on the version: Linux or BSD
ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G'
# enable colors on color capable terminals
if [[ "$terminfo[colors]" -ge 8 ]]; then
colors
export LSCOLORS="Gxfxcxdxbxegedabagacad"
# ls colors
if [ "$DISABLE_LS_COLORS" != "true" ]; then
# Find the option for using colors in ls, depending on the
# version: Linux or BSD
ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || \
alias ls='ls -G'
fi
fi
# disable zle inside emacs
[[ $TERM = 'dumb' && $EMACS = t ]] && unsetopt zle
#setopt no_beep
setopt auto_cd
setopt multios
@ -35,4 +43,4 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" # Text to display if the branch is c
setopt prompt_subst
# Load the theme
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
source "$ZSH/themes/$ZSH_THEME.zsh-theme"

View file

@ -1,7 +1,7 @@
# get the name of the branch we are on
function git_prompt_info() {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
branch=$(current_branch_for_display) || return
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${branch}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
}
parse_git_dirty () {
@ -20,3 +20,15 @@ function current_branch() {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo ${ref#refs/heads/}
}
#
# current branch for display. Abbreviate master to M.
# Other substitutions are possible.
# TODO:
# * allow to enable/disable translation of master to M.
# * enable argument to git_prompt_info control what is displayed
# (eg: M=535516, ala git-prompt project for bash)
function current_branch_for_display() {
branch=$(current_branch) || return
echo ${branch/master/M} # master abbreviated to M.
}