diff options
Diffstat (limited to 'Completion/Builtins/_source')
-rw-r--r-- | Completion/Builtins/_source | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/Completion/Builtins/_source b/Completion/Builtins/_source index aae2c7320..96b6c21bd 100644 --- a/Completion/Builtins/_source +++ b/Completion/Builtins/_source @@ -1,7 +1,14 @@ -#defcomp source +#compdef source . -if [[ -position 2 -1 ]]; then - _normal "$@" +if [[ CURRENT -ge 3 ]]; then + compset -n 2 + _normal else - _files + if [[ -prefix */ && ! -o pathdirs ]]; then + _files + elif [[ $service = . ]]; then + _files -W path + else + _files -W "(. $path)" + fi fi |