igmpgen/misc/igmpgen_completion.sh

36 lines
992 B
Bash

#!/bin/bash
# Function for autocompletion
_igmpgen_completion() {
local cur prev opts igmp_types
COMPREPLY=() # Array variable storing the completions.
cur="${COMP_WORDS[COMP_CWORD]}" # Current word being completed.
prev="${COMP_WORDS[COMP_CWORD-1]}" # Previous word.
# Options for igmpgen
opts="-i -t -g -s -d -n"
# Available IGMP packet types
igmp_types="1.query 1.report 1.dvmrp 2.query 2.report 2.leave 3.report"
case "${prev}" in
-t)
COMPREPLY=( $(compgen -W "${igmp_types}" -- ${cur}) )
return 0
;;
esac
# If the previous word is an option requiring an argument, don't complete with options
case "${prev}" in
-i | -g | -s | -d | -n)
return 0
;;
esac
# Default completion: suggest igmpgen options
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
}
# Attach the completion function to igmpgen command
complete -F _igmpgen_completion igmpgen