diff --git a/templates/bash.txt b/templates/bash.txt index 1888fe3..fbba2ff 100644 --- a/templates/bash.txt +++ b/templates/bash.txt @@ -111,6 +111,8 @@ function __zoxide_z() { __zoxide_cd ~ elif [[ $# -eq 1 && $1 == '-' ]]; then __zoxide_cd "${OLDPWD}" + elif [[ $# -eq 1 && ($1 == '.' || $1 == '..') ]]; then + __zoxide_cd "$1" elif [[ $# -eq 1 && -d $1 ]]; then __zoxide_cd "$1" elif [[ $# -eq 2 && $1 == '--' ]]; then diff --git a/templates/fish.txt b/templates/fish.txt index f5d4aa4..ceca213 100644 --- a/templates/fish.txt +++ b/templates/fish.txt @@ -79,6 +79,8 @@ function __zoxide_z __zoxide_cd $HOME else if test "$argv" = - __zoxide_cd - + else if test $argc -eq 1 -a \( "$argv[1]" = '.' -o "$argv[1]" = '..' \) + __zoxide_cd $argv[1] else if test $argc -eq 1 -a -d $argv[1] __zoxide_cd $argv[1] else if test $argc -eq 2 -a $argv[1] = -- diff --git a/templates/posix.txt b/templates/posix.txt index 7a1b888..0fe856f 100644 --- a/templates/posix.txt +++ b/templates/posix.txt @@ -105,6 +105,8 @@ __zoxide_z() { \command printf 'zoxide: $OLDPWD is not set' return 1 fi + elif [ "$#" -eq 1 ] && { [ "$1" = '.' ] || [ "$1" = '..' ]; }; then + __zoxide_cd "$1" elif [ "$#" -eq 1 ] && [ -d "$1" ]; then __zoxide_cd "$1" else diff --git a/templates/zsh.txt b/templates/zsh.txt index f900f3a..b21e690 100644 --- a/templates/zsh.txt +++ b/templates/zsh.txt @@ -89,6 +89,8 @@ function __zoxide_z() { __zoxide_doctor if [[ "$#" -eq 0 ]]; then __zoxide_cd ~ + elif [[ "$#" -eq 1 && ($1 == '.' || $1 == '..') ]]; then + __zoxide_cd "$1" elif [[ "$#" -eq 1 ]] && { [[ -d "$1" ]] || [[ "$1" = '-' ]] || [[ "$1" =~ ^[-+][0-9]+$ ]]; }; then __zoxide_cd "$1" elif [[ "$#" -eq 2 ]] && [[ "$1" = "--" ]]; then