this should not break the old way of putting git info in the prompt.
Also changed awesomepanda theme to use the new scm architecture.
for users:
this works the same as plugins: the scms variable is set in ~/.zshrc with a list of SCM for which info should be displayed in the prompt, as simple as that.
for theme developers:
instead of calling the git_prompt_info function, you can call the get_scm_prompt, which will display info for all the scms in the scms variable.
the following variables can be used in the old git-way:
ZSH_THEME_SCM_PROMPT_PREFIX: before everything but the scm's name (svn, git, ..)
ZSH_THEME_SCM_PROMPT_SUFFIX: after everything
ZSH_THEME_SCM_PROMPT_DIRTY: displayed when the repo is dirty
ZSH_THEME_SCM_PROMPT_CLEAN displated when the repo is clean
by default, the name of the scm (git, svn, ...) is not displayed before the scm info, but this can be changed by setting the ZSH_THEME_SCM_DISPLAY_NAME to 1.
for scm-plugin developers:
to make an scm plugin with the name 'foo':
add a script called 'foo.scm.zsh' in to the scm folder. this script has to contain two functions:
scm_in_foo_repo: checks wether we are in a foo repo, usually by checking if a .foo folder is present
scm_foo_prompt_info: returns the prompt which follows the rules outlined above (in the "for theme developers"-section)
Use /etc/hosts in addtion to $HOME/.ssh/known_hosts as the source for
hostname completion
Turn on completion caching to speed up certain comands
When completing usernames, don't include system accounts by default
On my linux virtual terminals, where TERM="linux", I was getting
annoying output that was messing up my prompt.
It turns out the title function was always matching on the elif
statement for xterm/rxvt no matter what and the linux vt doesn't know
what to do with the title special control sequence and thus was printing
out garbage.
Through experimentation I figured out that the || inside of the [[ ]]
did not work:
export TERM=linux
$ if [[ $TERM =~ "^xterm" || $TERM == "rxvt" ]]; then echo $TERM; fi
linux
$ if [[ $TERM =~ "^xterm" ]] || [[ $TERM == "rxvt" ]]; then echo $TERM; fi
Signed-off-by: Brandon Philips <brandon@ifup.org>
openSUSE running zsh 4.3.10