84 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
# GIT Stuff
 | 
						|
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[white]%}"
 | 
						|
ZSH_THEME_GIT_PROMPT_SUFFIX=""
 | 
						|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}+%{$fg[white]%}"
 | 
						|
# ZSH_THEME_GIT_PROMPT_CLEAN=""
 | 
						|
 | 
						|
##################
 | 
						|
#  Build Prompt  #
 | 
						|
##################
 | 
						|
 | 
						|
function prompt_pwd {
 | 
						|
    SHORTPWD=`print -Pn "%4~"`
 | 
						|
 | 
						|
    if [[ -n "${ZSH_VERSION:-}" ]]
 | 
						|
        then _pwd="${SHORTPWD[0,1]}"
 | 
						|
        else _pwd="${SHORTPWD:0:1}"
 | 
						|
    fi
 | 
						|
 | 
						|
    [[ $_pwd =~ "[^/~]" ]] && SHORTPWD=".../$SHORTPWD"
 | 
						|
 | 
						|
    echo -n $SHORTPWD
 | 
						|
}
 | 
						|
 | 
						|
function prompt_git {
 | 
						|
    if [ "`git_prompt_info`" ]; then
 | 
						|
        echo -n "$(git_prompt_info)"
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function prompt_vimode {
 | 
						|
    # The prompt turns green in command mode, and red in insert mode
 | 
						|
    MODE_INDICATOR=" %{$fg[green]%}\$ "
 | 
						|
    MODE_PROMPT="${${KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}"
 | 
						|
    if [ $MODE_PROMPT ]; then
 | 
						|
        echo -n $MODE_PROMPT
 | 
						|
    else
 | 
						|
        echo -n " \$ "
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
# prompts
 | 
						|
function lprompt {
 | 
						|
    # Start each prompt with a newline
 | 
						|
    echo
 | 
						|
 | 
						|
    # Then the timestamp
 | 
						|
    echo -n "%{$FG[242]%}"
 | 
						|
    echo -n '$(date "+%H:%M:%S")'
 | 
						|
    echo -n "%{$FG[white]%}"
 | 
						|
 | 
						|
    # Show the hostname if this is an SSH session
 | 
						|
    if [[ -n $SSH_CLIENT ]]; then
 | 
						|
        echo -n "%{$fg[blue]%}"
 | 
						|
        if is_mac; then
 | 
						|
            echo -n " $(hostname | sed -e 's/\.local$//')"
 | 
						|
        else
 | 
						|
            echo -n " $(hostname)"
 | 
						|
        fi
 | 
						|
    fi
 | 
						|
 | 
						|
    # The prompt
 | 
						|
    echo -n "%{$fg[red]%}"
 | 
						|
    echo -n "%{$FX[bold]%}"
 | 
						|
    echo -n '$(prompt_vimode)'
 | 
						|
    echo -n "%{$reset_color%}"
 | 
						|
}
 | 
						|
 | 
						|
function rprompt {
 | 
						|
    # Make the rprompt a bright grey to set it apart
 | 
						|
    echo -n "%{$FG[245]%}"
 | 
						|
    echo -n '$(prompt_pwd)'
 | 
						|
 | 
						|
    # Show the branch/status if in a git repo
 | 
						|
    echo -n '$(prompt_git)'
 | 
						|
 | 
						|
    # Reset formatting for command output
 | 
						|
    echo -n "%{$reset_color%}"
 | 
						|
}
 | 
						|
 | 
						|
PROMPT="$(lprompt)"
 | 
						|
RPROMPT="$(rprompt)"
 | 
						|
 | 
						|
# vim:set ft=zsh:
 |