]>
git.madduck.net Git - etc/zsh.git/blobdiff - .zsh/zshrc/60_vcsprompt
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
#
# Make git information available to the prompt
#
#
# Make git information available to the prompt
#
-# Copyright © 1994–2008 martin f. krafft <madduck@madduck.net>
+# Copyright © 1994–2017 martin f. krafft <madduck@madduck.net>
# Released under the terms of the Artistic Licence 2.0
#
# Released under the terms of the Artistic Licence 2.0
#
-# Source repository: git://git.madduck.net /etc/zsh.git
+# Source repository: http://git.madduck.net/v /etc/zsh.git
#
# Shamelessly based on http://glandium.org/blog/?p=170
#
#
# Shamelessly based on http://glandium.org/blog/?p=170
#
+__on_networkfs()
+{
+ case $(df -T . | sed -rne '$s,^[^[:space:]]+[[:space:]]+([^[:space:]]+).*,\1,p') in
+ (cifs|nfs) return 0;;
+ esac
+ return 1
+}
+
__git_get_reporoot()
{
# return the full path to the root of the current git repository
[ -d "$GIT_DIR" ] && echo "$GIT_DIR" && return 0
__git_get_reporoot()
{
# return the full path to the root of the current git repository
[ -d "$GIT_DIR" ] && echo "$GIT_DIR" && return 0
- local relroot
- relroot="$(git rev-parse --show-cdup 2>/dev/null)" || return 1
- if [ -n "$relroot" ]; then
- readlink -f "$relroot"
- else
- echo $PWD
- fi
+ local dir; dir="$PWD/$(git rev-parse --show-cdup)"
+ # do not use --show-toplevel because it resolves symlinks
+ echo $dir:a
__git_print_preprompt()
{
[ "$(git config --get core.bare)" = false ] || return
__git_print_preprompt()
{
[ "$(git config --get core.bare)" = false ] || return
+ __on_networkfs && return
local output
output=(${(f):-"$(git diff --stat --relative 2>/dev/null)"})
local output
output=(${(f):-"$(git diff --stat --relative 2>/dev/null)"})