diff --git a/config/fish/completions/d.fish b/config/fish/completions/d.fish new file mode 100644 index 0000000..040da67 --- /dev/null +++ b/config/fish/completions/d.fish @@ -0,0 +1,17 @@ +function __d_complete_directory + set -g dev_dir $DEVELOPER + set dev_dirs (echo (commandline) | tr ' ' \n) + set -e dev_dirs[1] + + for dir in $dev_dirs + set -g dev_dir "$dev_dir/$dir" + end + + if test -d $dev_dir + command ls -d $dev_dir/*/ | xargs -n1 basename + else + command ls -d $dev_dir*/ | xargs -n1 basename + end +end + +complete -xc d -a "(__d_complete_directory)" diff --git a/config/fish/functions/d.fish b/config/fish/functions/d.fish new file mode 100644 index 0000000..adcecfc --- /dev/null +++ b/config/fish/functions/d.fish @@ -0,0 +1,10 @@ +function d --description 'Like z, but d' + cd $DEVELOPER + for dir in $argv + cd $dir*/ + or begin + echo "fish: No matches for wildcard '$dir*/'." >&2 + return 1 + end + end +end