diff options
Diffstat (limited to 'Functions/VCS_Info/VCS_INFO_realpath')
-rw-r--r-- | Functions/VCS_Info/VCS_INFO_realpath | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Functions/VCS_Info/VCS_INFO_realpath b/Functions/VCS_Info/VCS_INFO_realpath new file mode 100644 index 000000000..481d5e98f --- /dev/null +++ b/Functions/VCS_Info/VCS_INFO_realpath @@ -0,0 +1,16 @@ +## vim:ft=zsh +## Written by Frank Terbeck <ft@bewatermyfriend.org> +## Distributed under the same BSD-ish license as zsh itself. + +# a portable 'readlink -f' +# forcing a subshell, to ensure chpwd() is not removed +# from the calling shell (if VCS_INFO_realpath() is called +# manually). + +setopt localoptions NO_shwordsplit + +( + (( ${+functions[chpwd]} )) && unfunction chpwd + setopt chaselinks + cd $1 2>/dev/null && pwd +) |