diff --git a/Base/usr/share/shell/completion/builtin.sh b/Base/usr/share/shell/completion/builtin.sh index d7725b47ff..3213d47fdb 100644 --- a/Base/usr/share/shell/completion/builtin.sh +++ b/Base/usr/share/shell/completion/builtin.sh @@ -74,3 +74,17 @@ _complete_kill() { __complete_job_spec $*[-1] } } + +_complete_cd() { + if test $*[-1] = '--' { + invariant_offset=0 + results=${concat_lists .*/ */} + } else { + invariant_offset=${length "$*[-1]"} + results=$(glob "$*[-1]*/") + } + + for $results { + echo '{"kind":"plain","static_offset":0,"invariant_offset":'"$invariant_offset"',"completion":"'"${remove_suffix / $it}"'","trailing_trivia":"/"}' + } +}