feat: add completion script for bash
This commit is contained in:
parent
e1465ebe67
commit
b3422db063
1 changed files with 36 additions and 0 deletions
36
misc/igmpgen_completion.sh
Normal file
36
misc/igmpgen_completion.sh
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/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
|
||||||
|
|
Loading…
Reference in a new issue