This file is indexed.

/etc/bash_completion.d/nanoblogger.bash_completion is in nanoblogger-extra 3.4.2-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
#-*- mode: shell-script;-*-

# NanoBlogger completion.
#
have nb &&
_nanoblogger()
{
    local cur prev dashoptions special i
    
    COMPREPLY=()
    cur=${COMP_WORDS[COMP_CWORD]}
    prev=${COMP_WORDS[COMP_CWORD-1]}
    dashoptions="--author --blog-dir --conf-file --data-dir --desc --draft --force \
    	     --help --interactive --meta-file --plugin-dir --query --set-var --tag --text \
	     --title --template --template-dir --var --verbose --version"
    shortoptions="-a -b -c -d -E -e -f -h -i -l -m -q -v -u"

    for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
	    if [[ ${COMP_WORDS[i]} == @(add|-b|configure|delete|draft|-E|edit|article|entry|tag|file|--meta-file|import|list|make-page|make-file|manual|--tag|tag-entry|preview|publish|--query|update|udate-cache) ]]; then
		    special=${COMP_WORDS[i]}
	    fi
    done

    if [[ -n "$special" ]]; then
	    case $special in
		# don't complete anything once these options are found
		@(manual|preview|publish))
				return 0
				;;
	    	@(draft|-E|make-*|--meta-file))
				_filedir
				return 0
				;;
		@(*article|*entry|*file))
				_filedir
				return 0
				;;
	    esac
    fi

    case "$prev" in
    	-b|--blog-dir)
			_filedir
			return 0
			;;
	--conf-file|--data-dir|\
	--plugin-dir|--template|--template-dir)
			_filedir
			return 0
			;;
	add|-a)
			COMPREPLY=( $( compgen -W "article entry tag weblog" -- $cur ) )
			return 0
			;;
	delete)
			COMPREPLY=( $( compgen -W "entry tag" -- $cur ) )
			return 0
			;;
	edit)
			COMPREPLY=( $( compgen -W "entry file tag" -- $cur ) )
			return 0
			;;
	list|-l)
			COMPREPLY=( $( compgen -W "all entries tags tag main max" -- $cur ) )
			return 0
			;;
	import)
			COMPREPLY=( $( compgen -W "article entry" -- $cur ) )
			return 0
			;;
	--query|-q)
			COMPREPLY=( $( compgen -W "all tag main max" -- $cur ) )
			return 0
			;;
	--tag|-c|-e)
			COMPREPLY=( $( compgen -W "1 2 3 4 5 6 7 8 9" -- $cur ) )
			return 0
			;;
	update|-u)
			COMPREPLY=( $( compgen -W "all articles main max feeds tag" -- $cur ) )
			return 0
			;;
	update-cache)
			COMPREPLY=( $( compgen -W "all expired main max tag" -- $cur ) )
			return 0
			;;
    esac

    if [[ "$cur" == - ]]; then
	    	COMPREPLY=( $( compgen -W "$shortoptions" -- $cur ) )

    else
	    if [[ "$cur" == -* ]]; then
		COMPREPLY=( $( compgen -W "$dashoptions" -- $cur ) )
	    else
		COMPREPLY=( $( compgen -W 'add configure delete draft edit \
					   import list make-page make-file manual \
					   preview publish tag-entry update \
					   update-cache' -- $cur ) )
	    fi
    fi

    return 0

}
[ "$have" ] && complete -F _nanoblogger nb