mirror of
https://github.com/tio/tio.git
synced 2026-05-03 07:37:57 +02:00
Also changes default timestamp format from ISO8601 to classic 24-hour format as this is assumed to be the format that most users would prefer. And reintroduces strict but optional ISO8601 format. This feature allows to easily add more timestamp formats in the future.
111 lines
2.9 KiB
Text
111 lines
2.9 KiB
Text
#
|
|
# Bash completion script for tio.
|
|
#
|
|
|
|
_tio()
|
|
{
|
|
local cur prev opts base ttys
|
|
COMPREPLY=()
|
|
cur="${COMP_WORDS[COMP_CWORD]}"
|
|
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
|
|
|
# The options we'll complete.
|
|
opts="-b --baudrate \
|
|
-d --databits \
|
|
-f --flow \
|
|
-s --stopbits \
|
|
-p --parity \
|
|
-o --output-delay \
|
|
-n --no-autoconnect \
|
|
-l --log \
|
|
-m --map \
|
|
-v --version \
|
|
-t --timestamp \
|
|
-L --list-devices \
|
|
-c --color \
|
|
-h --help"
|
|
|
|
# Complete the arguments to the options.
|
|
case "${prev}" in
|
|
-b | --baudrate)
|
|
local baudrates="@baudrates@"
|
|
COMPREPLY=( $(compgen -W "$baudrates" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-d | --databits)
|
|
COMPREPLY=( $(compgen -W "5 6 7 8" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-h | --local-echo)
|
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-f | --flow)
|
|
COMPREPLY=( $(compgen -W "hard soft none" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-s | --stopbits)
|
|
COMPREPLY=( $(compgen -W "1 2" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-p | --parity)
|
|
COMPREPLY=( $(compgen -W "even odd none" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-o | --output-delay)
|
|
COMPREPLY=( $(compgen -W "0 1 10 100" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-n | --no-autoconnect)
|
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-l | --log)
|
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-m | --map)
|
|
COMPREPLY=( $(compgen -W "ICRNL IGNCR INLCR INLCRNL OCRNL ODELBS ONLCRNL" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-t | --timestamp)
|
|
COMPREPLY=( $(compgen -W "24hour 24hour-start iso8601" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-L | --list-devices)
|
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-c | --color)
|
|
COMPREPLY=( $(compgen -W "$(seq 0 255)" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-v | --version)
|
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
-h | --help)
|
|
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
|
return 0
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
case "${cur}" in
|
|
-*)
|
|
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
|
|
return 0
|
|
;;
|
|
esac
|
|
|
|
if [ -d /dev/serial/by-id ]; then
|
|
ttys=$(printf '%s\n' /dev/tty* /dev/serial/by-id/*)
|
|
else
|
|
ttys=$(printf '%s\n' /dev/tty*)
|
|
fi
|
|
COMPREPLY=( $(compgen -W "${ttys}" -- ${cur}) )
|
|
return 0
|
|
}
|
|
|
|
# Bind completion to tio command
|
|
complete -o default -F _tio tio
|