summaryrefslogtreecommitdiff
blob: abecda0cb798a8b70c521f48c40491fd90b32963 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

# nanoblogger completion
# author: Aaron Walker <ka0ttic@gentoo.org>

_nb()
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    opts="-a --add -b --blogdir -B --body -c --category --configure \
	--datadir -d --delete -D --desc -e --edit -f --blogconf -h --help \
	-l --list --makepage --manual -m --move -n --author -p --preview \
	-P --publish --template --templatedir -t --title -u --update \
	-v --verbose -V --version"

    if [[ "${cur}" == -* || ${COMP_CWORD} -eq 1 ]] ; then
	COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
	return 0
    fi

    case "${prev}" in
	-b|--*dir)
	    COMPREPLY=($(compgen -d -S '/' -- ${cur}))
	    ;;
	-f|--blogconf|--template)
	    COMPREPLY=($(compgen -f -- ${cur}))
	    ;;
	-l|--list)
	    COMPREPLY=($(compgen -W "all cat current max" -- ${cur}))
	    ;;
	-u|--update)
	    COMPREPLY=($(compgen -W "all current main max" -- ${cur}))
	    ;;
	?(-)-@(B|body|c|category|d|delete|D|desc|m|move|n|author|t|title))
	    COMPREPLY=()
	    ;;
	*)
	    COMPREPLY=($(compgen -W "${opts/${prev}}" -- ${cur}))
	    ;;
    esac
}
complete -F _nb nb

# vim: set ft=sh :