From b9064540b3f335cbb363e65ab0d571ebd77678bf Mon Sep 17 00:00:00 2001 From: dakkar Date: Mon, 7 Sep 2009 12:15:06 +0200 Subject: better expansion using pre-defined functions --- website.bashcomp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'website.bashcomp') diff --git a/website.bashcomp b/website.bashcomp index ba04385..04682ed 100644 --- a/website.bashcomp +++ b/website.bashcomp @@ -1,3 +1,22 @@ +_website_filedir() { + local IFS=$'\n' xspec + + _expand || return 0 + + local -a toks + local tmp + + toks=( ${toks[@]-} $( + compgen -d -X "$1" -- "$(quote_readline "$cur")" | { + while read -r tmp; do + [ -n "$tmp" ] && echo "${tmp}/" + done + } + )) + + COMPREPLY=( "${COMPREPLY[@]}" "${toks[@]}" ) +} + _website_newdoc() { local dir='src' local excl='[._]*' @@ -6,8 +25,11 @@ _website_newdoc() { else excl="@(${excl}|tags)" fi + + local cur="$(_get_cword)" + pushd "$dir" >/dev/null - COMPREPLY=($(compgen -o filenames -o nospace -d -X "$excl" -- "${COMP_WORDS[COMP_CWORD]}" | sed 's,$,/,')) + _website_filedir "$excl" popd >/dev/null } -- cgit v1.2.3