This plugin is designed to provide a uniform prompt status that
accommodates multiple vcs systems. The intent is to have reasonable
defaults for displaying each element of work tree status but also the
flexbility to make modifications without copying and pasting entire
functions into your own theme (or reimplementing a function just to
change one aspect of its behavior).
FEATURE HIGHLIGHTS
- uniform PROMPT interface for multiple vcs types
one addition to your PROMPT gets you all
- supports git, hg, svn
- indicators and (optional) counts for the primary dirty file types of
each supported vcs (e.g. `1N 3A 2U` for 1 new, 3 added, 2 untracked)
- inspired by the `git_status_prompt` function from lib/git.zsh
- rewritten as inline awk script to:
- optionally include counts for each dirty type
- provide more readable code
- move towards more modular code to support more vcs systems
- indicators for ahead-by and behind-by with counts; commits from
upstream not yet merged or local commits not yet pushed,respectively
(git-only for now)
- dirt age indicator to show how long it has been since a
significant action in the work tree (i.e. commit, file edited)
- reworked `git_time_since_commit` function found in multiple themes
- now centralized in a plugin
- and generalized to support hg and svn
- highly configurable, with many hooks for adding style information to
each element
- can rearrange order of elements
- uses an associative array, VCS_PLUGIN, for (almost) all of its
configuration settings
- incorporates functionally equivalent replacments of all functions from
from the git, svn, and hg oh-my-zsh plugins (but not any of their
aliases)
- handles ignored subdirectories of git work trees