| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- # -*- shell-script -*-
- # bash completion script for cpupower
- # Taken from git.git's completion script.
- _cpupower_commands="frequency-info frequency-set idle-info idle-set set info monitor"
- _frequency_info ()
- {
- local flags="-f -w -l -d -p -g -a -s -y -o -m -n --freq --hwfreq --hwlimits --driver --policy --governors --related-cpus --affected-cpus --stats --latency --proc --human --no-rounding"
- local prev="${COMP_WORDS[COMP_CWORD-1]}"
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$prev" in
- frequency-info) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
- esac
- }
- _frequency_set ()
- {
- local flags="-f -g --freq --governor -d --min -u --max -r --related"
- local prev="${COMP_WORDS[COMP_CWORD-1]}"
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$prev" in
- -f| --freq | -d | --min | -u | --max)
- if [ -d /sys/devices/system/cpu/cpufreq/ ] ; then
- COMPREPLY=($(compgen -W '$(cat $(ls -d /sys/devices/system/cpu/cpufreq/policy* | head -1)/scaling_available_frequencies)' -- "$cur"))
- fi ;;
- -g| --governor)
- if [ -d /sys/devices/system/cpu/cpufreq/ ] ; then
- COMPREPLY=($(compgen -W '$(cat $(ls -d /sys/devices/system/cpu/cpufreq/policy* | head -1)/scaling_available_governors)' -- "$cur"))
- fi;;
- frequency-set) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
- esac
- }
- _idle_info()
- {
- local flags="-f --silent"
- local prev="${COMP_WORDS[COMP_CWORD-1]}"
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$prev" in
- idle-info) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
- esac
- }
- _idle_set()
- {
- local flags="-d --disable -e --enable -D --disable-by-latency -E --enable-all"
- local prev="${COMP_WORDS[COMP_CWORD-1]}"
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$prev" in
- idle-set) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
- esac
- }
- _set()
- {
- local flags="--perf-bias, -b"
- local prev="${COMP_WORDS[COMP_CWORD-1]}"
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$prev" in
- set) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
- esac
- }
- _monitor()
- {
- local flags="-l -m -i -c -v"
- local prev="${COMP_WORDS[COMP_CWORD-1]}"
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$prev" in
- monitor) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
- esac
- }
- _taskset()
- {
- local prev_to_prev="${COMP_WORDS[COMP_CWORD-2]}"
- local prev="${COMP_WORDS[COMP_CWORD-1]}"
- local cur="${COMP_WORDS[COMP_CWORD]}"
- case "$prev_to_prev" in
- -c|--cpu) COMPREPLY=($(compgen -W "$_cpupower_commands" -- "$cur")) ;;
- esac
- case "$prev" in
- frequency-info) _frequency_info ;;
- frequency-set) _frequency_set ;;
- idle-info) _idle_info ;;
- idle-set) _idle_set ;;
- set) _set ;;
- monitor) _monitor ;;
- esac
- }
- _cpupower ()
- {
- local i
- local c=1
- local command
- while test $c -lt $COMP_CWORD; do
- if test $c == 1; then
- command="${COMP_WORDS[c]}"
- fi
- c=$((++c))
- done
- # Complete name of subcommand if the user has not finished typing it yet.
- if test $c -eq $COMP_CWORD -a -z "$command"; then
- COMPREPLY=($(compgen -W "help -v --version -c --cpu $_cpupower_commands" -- "${COMP_WORDS[COMP_CWORD]}"))
- return
- fi
- # Complete arguments to subcommands.
- case "$command" in
- -v|--version) return ;;
- -c|--cpu) _taskset ;;
- help) COMPREPLY=($(compgen -W "$_cpupower_commands" -- "${COMP_WORDS[COMP_CWORD]}")) ;;
- frequency-info) _frequency_info ;;
- frequency-set) _frequency_set ;;
- idle-info) _idle_info ;;
- idle-set) _idle_set ;;
- set) _set ;;
- monitor) _monitor ;;
- esac
- }
- complete -o bashdefault -o default -F _cpupower cpupower 2>/dev/null \
- || complete -o default -F _cpupower cpupower
|