summaryrefslogtreecommitdiff
path: root/functions/utilities.zsh
diff options
context:
space:
mode:
authorDominik Ritter <dritter03@googlemail.com>2017-02-14 23:42:41 +0300
committerDominik Ritter <dritter03@googlemail.com>2017-02-14 23:42:41 +0300
commit875dec5dae69966e009237a3aa174b255158f01f (patch)
tree696317551c3e55011b90c6d1a880c4c656bb9038 /functions/utilities.zsh
parent674ae068b65bebb669e0cdd58db9f3e0413b0324 (diff)
parent04284abe14a8b578b1c3e824cf96f0a0768b9161 (diff)
Merge branch 'next' into execution_time
Diffstat (limited to 'functions/utilities.zsh')
-rw-r--r--functions/utilities.zsh16
1 files changed, 16 insertions, 0 deletions
diff --git a/functions/utilities.zsh b/functions/utilities.zsh
index f27c7f99..22b53c6a 100644
--- a/functions/utilities.zsh
+++ b/functions/utilities.zsh
@@ -208,3 +208,19 @@ function truncatePathFromRight() {
echo $1 | sed $SED_EXTENDED_REGEX_PARAMETER \
"s@(([^/]{$((POWERLEVEL9K_SHORTEN_DIR_LENGTH))})([^/]{$delim_len}))[^/]+/@\2$POWERLEVEL9K_SHORTEN_DELIMITER/@g"
}
+
+# Search recursively in parent folders for given file.
+function upsearch () {
+ if [[ "$PWD" == "$HOME" || "$PWD" == "/" ]]; then
+ echo "$PWD"
+ elif test -e "$1"; then
+ pushd .. > /dev/null
+ upsearch "$1"
+ popd > /dev/null
+ echo "$PWD"
+ else
+ pushd .. > /dev/null
+ upsearch "$1"
+ popd > /dev/null
+ fi
+}