diff --git a/debian/scrapy.install b/debian/scrapy.install index 856338403..2007a9d06 100644 --- a/debian/scrapy.install +++ b/debian/scrapy.install @@ -1 +1,2 @@ debian/tmp/usr +extras/scrapy_bash_completion etc/bash_completion.d/ diff --git a/extras/scrapy_bash_completion b/extras/scrapy_bash_completion new file mode 100644 index 000000000..3e4750e3d --- /dev/null +++ b/extras/scrapy_bash_completion @@ -0,0 +1,18 @@ +# bash completion for the Scrapy command-line tool + +_scrapy_completion() { + local cmd cur commands spiders + cmd=${COMP_WORDS[1]} + cur=${COMP_WORDS[2]} + case "$cmd" in + crawl) + spiders=$(scrapy list 2>/dev/null) || spiders="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$spiders" -- "$cur")) + ;; + *) + commands="crawl fetch genspider list parse queue runserver runspider settings shell startproject view" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W "$commands" -- "$cmd")) + ;; + esac +} +complete -F _scrapy_completion -o default scrapy