Merge pull request #384 from bpinto/fix_completions

Fix import for completions
This commit is contained in:
Bruno 2015-02-19 02:30:55 -02:00
commit bc92376da2
2 changed files with 45 additions and 7 deletions

View File

@ -84,13 +84,9 @@ function _prepend_tree -d "Add a dependency tree to the Fish path."
end end
end end
# Null wildcard expansion will break the for loop even if $path is valid. # Traverse $path prepending only directories with matches. Excludes completions folder.
# $subs will become an empty list for directories without sub directories test -d $path
# which is safe to use in the loop. and for dir in (find $path \! -name "completions" -type d)
set -l subs $path/**/
# Traverse $path and $subs prepending only directories with matches.
for dir in $path $subs
# Use head to retrieve at least one match. Skip not found errors # Use head to retrieve at least one match. Skip not found errors
# for directories that do not exist. # for directories that do not exist.
if [ -z (find "$dir" $glob -maxdepth 1 ^/dev/null | head -1) ] if [ -z (find "$dir" $glob -maxdepth 1 ^/dev/null | head -1) ]

42
spec/import.spec.fish Normal file
View File

@ -0,0 +1,42 @@
import plugins/fish-spec
function describe_import
function before_all
set -g fish_function_path_bak $fish_function_path
list.erase "$fish_path/plugins/archlinux" --from fish_function_path
list.erase "$fish_path/plugins/git-flow" --from fish_function_path
list.erase "$fish_path/plugins/tiny" --from fish_function_path
end
function after_all
set fish_function_path $fish_function_path_bak
end
function it_imports_all_fish_files
import plugins/tiny
expect $fish_function_path --to-contain-all $fish_path/plugins/tiny
end
function it_imports_all_fish_files_recursively
import plugins/archlinux
expect $fish_function_path --to-contain-all $fish_path/plugins/archlinux/pacman
end
function it_does_not_import_test_files
import plugins/tiny
expect $fish_function_path --to-not-contain-all $fish_path/plugins/spec
end
function it_does_not_import_completion_files
import plugins/git-flow
expect $fish_function_path --to-not-contain-all $fish_path/plugins/git-flow/completions/
end
function it_adds_completion_files_to_completion_path
import plugins/git-flow
expect $fish_complete_path --to-contain-all $fish_path/plugins/git-flow/completions
end
end
spec.run $argv