Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 18.119.124.204
# tshark(1) completion -*- shell-script -*-
_tshark()
{
local cur prev words cword prefix
_init_completion -n : || return
case $cur in
-o*)
prefix=-o
;;
-X*)
prefix=-X
;;
esac
case ${prefix:-$prev} in
--*)
# Fallback to completion of long options below.
;;
-o*)
if [[ $cur == *:* ]]; then
cur=${cur#*:}
_filedir
else
[ -n "$_tshark_prefs" ] ||
_tshark_prefs="$("$1" -G defaultprefs 2>/dev/null | command\
sed -ne 's/^#\{0,1\}\([a-z0-9_.-]\{1,\}:\).*/\1/p' |
tr '\n' ' ')"
COMPREPLY=( $(compgen -P "$prefix" -W "$_tshark_prefs" \
-- "${cur:${#prefix}}") )
[[ $COMPREPLY == *: ]] && compopt -o nospace
fi
return
;;
-*[fsBDLcRNdCeEzhvoK])
return
;;
-*i)
COMPREPLY=( $(compgen -W \
"$("$1" -D 2>/dev/null | awk '{print $2}')" -- "$cur") )
return
;;
-*y)
local opts i
for (( i=${#words[@]}-1; i > 0; i-- )); do
if [[ ${words[i]} == -i ]]; then
opts+="-i ${words[i+1]}"
break
fi
done
COMPREPLY=( $(compgen -W "$("$1" $opts -L 2>/dev/null | \
awk '/^ / { print $1 }')" -- "$cur") )
return
;;
-*[ab])
COMPREPLY=( $(compgen -W 'duration: filesize: files:' -- "$cur") )
[[ $COMPREPLY == *: ]] && compopt -o nospace
return
;;
-*r)
_filedir '@(pcap?(ng)|cap)?(.gz)'
return
;;
-*H)
_filedir
return
;;
-*w)
_filedir
[[ $cur == @(|-) ]] && COMPREPLY+=( - )
return
;;
-*F)
COMPREPLY=( $(compgen -W "$("$1" -F 2>&1 | \
awk '/^ / { print $1 }')" -- "$cur") )
return
;;
-*O)
local prefix=; [[ $cur == *,* ]] && prefix="${cur%,*},"
[ -n "$_tshark_protocols" ] ||
_tshark_protocols="$("$1" -G protocols 2>/dev/null |
cut -f 3 | tr '\n' ' ')"
COMPREPLY=( $(compgen -W "$_tshark_protocols" -- "${cur##*,}") )
[[ ${#COMPREPLY[@]} -eq 1 ]] && COMPREPLY=( ${COMPREPLY/#/$prefix} )
return
;;
-*T)
# Parse from: tshark -T . 2>&1 | awk -F \" '/^\t*"/ { print $2 }'
COMPREPLY=( $(compgen -W \
'pdml ps psml json jsonraw ek tabs text fields' -- "$cur") )
return
;;
-*t)
# Parse from: tshark -t . 2>&1 | awk -F \" '/^\t*"/ { print $2 }'
COMPREPLY=( $(compgen -W \
'a ad adoy d dd e r u ud udoy' -- "$cur") )
return
;;
-*u)
# TODO: could be parsed from "-u ." output
COMPREPLY=( $(compgen -W 's hms' -- "$cur") )
return
;;
-*W)
COMPREPLY=( $(compgen -W 'n' -- "$cur") )
return
;;
-*X)
if [[ ${cur:${#prefix}} == lua_script:* ]]; then
cur=${cur#*:}
_filedir lua
else
COMPREPLY=( $(compgen -P "$prefix" -W 'lua_script:' -- \
"${cur:${#prefix}}") )
[[ $COMPREPLY == *: ]] && compopt -o nospace
fi
return
;;
-*G)
COMPREPLY=( $(compgen -W "$("$1" -G \? 2>/dev/null | \
awk '/^[ \t]*-G / \
{ sub("^[[]","",$2); sub("[]]$","",$2); print $2 }')" \
-- "$cur") )
return
;;
esac
if [[ "$cur" == -* ]]; then
COMPREPLY=( $(compgen -W '$(_parse_help "$1" -h 2>/dev/null)' \
-- "$cur") )
return
fi
} &&
complete -F _tshark tshark
# ex: filetype=sh
|