diff --git a/bin/autojump b/bin/autojump index d039cd1..15a2f8e 100755 --- a/bin/autojump +++ b/bin/autojump @@ -120,6 +120,10 @@ def parse_arguments(): '--complete', action='store_true', default=False, help='used for tab completion', ) + parser.add_argument( + '--child', action="store_true", default=False, + help='only match subdirectories of the current working directory' + ) parser.add_argument( '--purge', action='store_true', default=False, help='remove non-existent paths from database', @@ -313,6 +317,13 @@ def main(args): # noqa tab_needle, tab_index, tab_path = \ get_tab_entry_info(first(needles), TAB_SEPARATOR) + if args.child: + pwd = get_pwd() + entries = ifilter( + lambda entry: entry.path.find(pwd) == 0, + entries + ) + # Handle `j foo__`, assuming first index. if not tab_path and not tab_index \ and tab_needle and needles[0] == tab_needle + TAB_SEPARATOR: diff --git a/bin/autojump.bash b/bin/autojump.bash index 379e529..71db807 100644 --- a/bin/autojump.bash +++ b/bin/autojump.bash @@ -79,10 +79,10 @@ j() { # jump to child directory (subdirectory of current path) jc() { if [[ ${1} == -* ]] && [[ ${1} != "--" ]]; then - autojump ${@} + autojump --child ${@} return else - j $(pwd) ${@} + j ${@} --child fi } @@ -122,9 +122,9 @@ jo() { # open autojump results (child directory) in file browser jco() { if [[ ${1} == -* ]] && [[ ${1} != "--" ]]; then - autojump ${@} + autojump --child ${@} return else - jo $(pwd) ${@} + jo ${@} --child fi } diff --git a/bin/autojump.fish b/bin/autojump.fish index e995506..fb5ec76 100644 --- a/bin/autojump.fish +++ b/bin/autojump.fish @@ -70,12 +70,7 @@ end # jump to child directory (subdirectory of current path) function jc - switch "$argv" - case '-*' - j $argv - case '*' - j (pwd) $argv - end + j $argv --child end @@ -103,10 +98,5 @@ end # open autojump results (child directory) in file browser function jco - switch "$argv" - case '-*' - j $argv - case '*' - jo (pwd) $argv - end + jo $argv --child end diff --git a/bin/autojump.zsh b/bin/autojump.zsh index a761206..3596ffe 100644 --- a/bin/autojump.zsh +++ b/bin/autojump.zsh @@ -73,10 +73,10 @@ j() { # jump to child directory (subdirectory of current path) jc() { if [[ ${1} == -* ]] && [[ ${1} != "--" ]]; then - autojump ${@} + autojump --child ${@} return else - j $(pwd) ${@} + j ${@} --child fi } @@ -117,9 +117,9 @@ jo() { # open autojump results (child directory) in file browser jco() { if [[ ${1} == -* ]] && [[ ${1} != "--" ]]; then - autojump ${@} + autojump --child ${@} return else - jo $(pwd) ${@} + jo ${@} --child fi }