diff options
author | Igor Murzov <e-mail@date.by> | 2011-06-26 03:38:20 +0400 |
---|---|---|
committer | Igor Murzov <e-mail@date.by> | 2011-06-26 04:04:53 +0400 |
commit | b13ee019d0eed45107aefdbe550c52aaef2bcc93 (patch) | |
tree | 2cf84870f92548fb1d9ef2617e0a1f591bb33922 | |
parent | 17a316bfca13dcbd7ac432dc368ef18b35494616 (diff) | |
download | bash-completion-b13ee019d0eed45107aefdbe550c52aaef2bcc93.tar.gz |
make completions that use _command also work with file names
-rw-r--r-- | bash_completion | 3 | ||||
-rw-r--r-- | test/lib/completions/time.exp | 18 |
2 files changed, 19 insertions, 2 deletions
diff --git a/bash_completion b/bash_completion index 819899ef..e5577e38 100644 --- a/bash_completion +++ b/bash_completion @@ -1581,8 +1581,9 @@ _command_offset() _get_comp_words_by_ref cur if [[ $COMP_CWORD -eq 0 ]]; then + local IFS=$'\n' compopt -o filenames - COMPREPLY=( $( compgen -c -- "$cur" ) ) + COMPREPLY=( $( compgen -d -c -- "$cur" ) ) else cmd=${COMP_WORDS[0]} compcmd=${COMP_WORDS[0]} # Do we have full path completion for $cmd? diff --git a/test/lib/completions/time.exp b/test/lib/completions/time.exp index 3bed4fdf..d052458c 100644 --- a/test/lib/completions/time.exp +++ b/test/lib/completions/time.exp @@ -4,7 +4,7 @@ proc setup {} { proc teardown {} { - assert_env_unmodified + assert_env_unmodified {/OLDPWD=/d} } @@ -17,4 +17,20 @@ assert_complete_any "time set" sync_after_int +set test "-p find -typ should complete find's options" +assert_complete "-type" "time -p find -typ" $test + + +sync_after_int + + +set test "it should be possible to complete file paths" +set dir $::srcdir/fixtures/shared +set files [split [exec bash -c "cd $dir/bin && ls -p"] "\n"] +assert_complete_dir $files "time ./bin/" $dir $test + + +sync_after_int + + teardown |