[pulseaudio-commits] configure.ac Makefile.am shell-completion/bash shell-completion/pulseaudio-bash-completion.sh

Tanu Kaskinen tanuk at kemper.freedesktop.org
Tue Oct 28 03:52:28 PDT 2014


 Makefile.am                                    |   14 
 configure.ac                                   |    4 
 shell-completion/bash/pulseaudio               |  570 +++++++++++++++++++++++++
 shell-completion/pulseaudio-bash-completion.sh |  570 -------------------------
 4 files changed, 587 insertions(+), 571 deletions(-)

New commits:
commit ee4bbe5cd3ae6d236960b0e979e4f80c7a8120f9
Author: Michał Górny <mgorny at gentoo.org>
Date:   Fri Oct 17 20:45:18 2014 +0200

    build-sys: Alias bash-completion for all PulseAudio commands
    
    Bash-completion 1.90 introduced support for on-demand loading
    of completions. Install the completion file as 'pulseaudio' to match
    the main command, and create symlinks as aliases for other supported
    commands in order to support the new system.

diff --git a/Makefile.am b/Makefile.am
index 07dc73f..665736d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -62,7 +62,19 @@ cmakedir = $(libdir)/cmake/PulseAudio
 cmake_DATA = PulseAudioConfig.cmake PulseAudioConfigVersion.cmake
 
 bashcompletiondir=$(sysconfdir)/bash_completion.d
-dist_bashcompletion_DATA = shell-completion/pulseaudio-bash-completion.sh
+dist_bashcompletion_DATA = shell-completion/bash/pulseaudio
+
+install-bashcompletion-aliases:
+	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/pactl
+	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/pacmd
+	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/pasuspender
+	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/padsp
+	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/pacat
+	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/paplay
+	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/parec
+	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/parecord
+
+install-data-hook: install-bashcompletion-aliases
 
 zshcompletiondir=@zshcompletiondir@
 dist_zshcompletion_DATA = shell-completion/zsh/_pulseaudio
diff --git a/configure.ac b/configure.ac
index f426e03..f807699 100644
--- a/configure.ac
+++ b/configure.ac
@@ -74,6 +74,10 @@ AM_SILENT_RULES([yes])
 
 AC_PROG_MKDIR_P
 
+# ln -s
+
+AC_PROG_LN_S
+
 # CC
 
 AC_PROG_CC
diff --git a/shell-completion/bash/pulseaudio b/shell-completion/bash/pulseaudio
new file mode 100644
index 0000000..7775b08
--- /dev/null
+++ b/shell-completion/bash/pulseaudio
@@ -0,0 +1,570 @@
+#!/bin/bash
+
+__cards () {
+    while IFS=$'\t' read idx name _; do
+        printf "%s %s\n" "$idx" "$name"
+    done < <(pactl list cards short 2> /dev/null)
+}
+
+__sinks () {
+    while IFS=$'\t' read _ name _ _ _; do
+        printf "%s\n" "$name"
+    done < <(pactl list sinks short 2> /dev/null)
+}
+
+__sinks_idx () {
+    while IFS=$'\t' read idx _ _ _ _; do
+        printf "%s\n" "$idx"
+    done < <(pactl list sinks short 2> /dev/null)
+}
+
+__sources () {
+    while IFS=$'\t' read _ name _ _ _; do
+        printf "%s\n" "$name"
+    done < <(pactl list sources short 2> /dev/null)
+}
+
+__sink_inputs () {
+    while IFS=$'\t' read idx _ _ _ _; do
+        printf "%s\n" "$idx"
+    done < <(pactl list sink-inputs short 2> /dev/null)
+}
+
+__source_outputs () {
+    while IFS=$'\t' read idx _ _ _ _; do
+        printf "%s\n" "$idx"
+    done < <(pactl list source-outputs short 2> /dev/null)
+}
+
+__ports () {
+    pactl list cards 2> /dev/null | awk -e \
+        '/^\tPorts:/ {
+            flag=1; next
+         }
+
+         /^\t[A-Za-z]/ {
+             flag=0
+         }
+
+         flag {
+             if (/^\t\t[A-Za-z]/)
+                 ports = ports substr($0, 3, index($0, ":")-3) " "
+         }
+
+         END {
+             print ports
+         }'
+}
+
+__profiles () {
+    pactl list cards 2> /dev/null | awk -e \
+        '/^\tProfiles:/ {
+            flag=1; next
+        }
+
+        /^\t[A-Za-z]/ {
+            flag=0
+        }
+
+        flag {
+            if (/^\t\t[A-Za-z]/)
+                profiles = profiles substr($0, 3, index($0, ": ")-3) " "
+        }
+
+        END {
+            print profiles
+        }'
+}
+
+__all_modules () {
+    while read name; do
+        name=${name%% *}
+        printf "%s\n" "$name"
+    done < <(pulseaudio --dump-modules 2> /dev/null)
+}
+
+__loaded_modules () {
+    while IFS=$'\t' read idx name _; do
+        printf "%s %s\n" "$idx" "$name"
+    done < <(pactl list modules short 2> /dev/null)
+}
+
+__resample_methods () {
+    while read name; do
+        printf "%s\n" "$name"
+    done < <(pulseaudio --dump-resample-methods 2> /dev/null)
+}
+
+_pacat_file_formats () {
+    while IFS=$'\t' read name _; do
+        printf "%s\n" "$name"
+    done < <(pacat --list-file-formats 2> /dev/null)
+}
+
+in_array() {
+    local i
+    for i in "${@:2}"; do
+        [[ $1 = "$i" ]] && return
+    done
+}
+
+_pactl() {
+    local cur prev words cword preprev command
+    local comps
+    local flags='-h --help --version -s --server= --client-name='
+    local list_types='short sinks sources sink-inputs source outputs cards
+                    modules samples clients'
+    local commands=(stat info list exit upload-sample play-sample remove-sample
+                    load-module unload-module move-sink-input move-source-output
+                    suspend-sink suspend-source set-card-profile set-sink-port
+                    set-source-port set-sink-volume set-source-volume
+                    set-sink-input-volume set-source-output-volume set-sink-mute
+                    set-source-mute set-sink-input-mute set-source-output-mute
+                    set-sink-formats set-port-latency-offset subscribe help)
+
+    _init_completion -n = || return
+    preprev=${words[$cword-2]}
+
+    for word in "${COMP_WORDS[@]}"; do
+        if in_array "$word" "${commands[@]}"; then
+            command=$word
+            break
+        fi
+    done
+
+    case $preprev in
+        list) COMPREPLY=($(compgen -W 'short' -- "$cur")) ;;
+
+        play-sample)
+            comps=$(__sinks)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        move-sink-input)
+            comps=$(__sinks)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        move-source-output)
+            comps=$(__sources)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-card-profile)
+            comps=$(__profiles)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-*-port)
+            comps=$(__ports)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-*-mute) COMPREPLY=($(compgen -W 'true false toggle' -- "$cur")) ;;
+
+        set-sink-formats)
+            ;; #TODO
+
+        set-port-*)
+            comps=$(__ports)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+        --server)
+            compopt +o nospace
+            _known_hosts_real "$cur"
+            ;;
+    esac
+    [[ $COMPREPLY ]] && return 0
+
+    case $prev in
+        list) COMPREPLY=($(compgen -W '${list_types[*]}' -- "$cur")) ;;
+
+        stat) COMPREPLY=($(compgen -W 'short' -- "$cur")) ;;
+
+        upload-sample) _filedir ;;
+
+        play-sample) ;; # TODO
+
+        remove-sample) ;; # TODO
+
+        load-module)
+            comps=$(__all_modules)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        unload-module)
+            comps=$(__loaded_modules)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-card*)
+            comps=$(__cards)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        *sink-input*)
+            comps=$(__sink_inputs)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        *source-output*)
+            comps=$(__source_outputs)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-sink-formats)
+            comps=$(__sinks_idx)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        *sink*)
+            comps=$(__sinks)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        *source*)
+            comps=$(__sources)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-port*)
+            comps=$(__cards)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        -s)
+            _known_hosts_real "$cur" ;;
+    esac
+    [[ $COMPREPLY ]] && return 0
+
+    case $cur in
+        --server=*)
+            cur=${cur#*=}
+            _known_hosts_real "$cur"
+            ;;
+
+        -*)
+            COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur"))
+            [[ $COMPREPLY == *= ]] && compopt -o nospace
+            ;;
+
+        *)
+            [[ -z $command ]] && COMPREPLY=($(compgen -W '${commands[*]}' -- "$cur"))
+            ;;
+    esac
+}
+complete -F _pactl pactl
+
+_pacmd() {
+    local cur prev words cword preprev command
+    local comps
+    local flags='-h --help --version'
+    local commands=(exit help list-modules list-cards list-sinks list-sources list-clients
+                    list-samples list-sink-inputs list-source-outputs stat info
+                    load-module unload-module describe-module set-sink-volume
+                    set-source-volume set-sink-input-volume set-source-output-volume
+                    set-sink-mute set-source-mut set-sink-input-mute
+                    set-source-output-mute update-sink-proplist update-source-proplist
+                    update-sink-input-proplist update-source-output-proplist
+                    set-default-sink set-default-source kill-client kill-sink-input
+                    kill-source-output play-sample remove-sample load-sample
+                    load-sample-lazy load-sample-dir-lazy play-file dump
+                    move-sink-input move-source-output suspend-sink suspend-source
+                    suspend set-card-profile set-sink-port set-source-port
+                    set-port-latency-offset set-log-target set-log-level set-log-meta
+                    set-log-time set-log-backtrace)
+    _init_completion -n = || return
+    preprev=${words[$cword-2]}
+
+    for word in "${COMP_WORDS[@]}"; do
+        if in_array "$word" "${commands[@]}"; then
+            command=$word
+            break
+        fi
+    done
+
+    case $preprev in
+        play-sample|play-file)
+            comps=$(__sinks)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        load-sample*) _filedir ;;
+
+        move-sink-input)
+            comps=$(__sinks)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        move-source-output)
+            comps=$(__sources)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-card-profile)
+            comps=$(__profiles)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-*port*)
+            comps=$(__ports)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-*-mute) COMPREPLY=($(compgen -W 'true false' -- "$cur"));;
+
+        set-sink-formats)
+            ;; #TODO
+    esac
+
+    case $prev in
+        list-*) ;;
+        describe-module|load-module)
+            comps=$(__all_modules)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        unload-module)
+            comps=$(__loaded_modules)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        load-sample-dir-lazy) _filedir -d ;;
+        play-file) _filedir ;;
+
+        *sink-input*)
+            comps=$(__sink_inputs)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        *source-output*)
+            comps=$(__source_outputs)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        *sink*)
+            comps=$(__sinks)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        *source*)
+            comps=$(__sources)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-card*)
+            comps=$(__cards)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-port-*)
+            comps=$(__cards)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        set-log-target)
+            COMPREPLY=($(compgen -W 'auto syslog stderr file: newfile:' -- "$cur"))
+            ;;
+
+        set-log-level)
+            COMPREPLY=($(compgen -W '{0..4}' -- "$cur"))
+            ;;
+
+        set-log-meta|set-log-time|suspend)
+            COMPREPLY=($(compgen -W 'true false' -- "$cur"))
+            ;;
+    esac
+
+    case $cur in
+        -*) COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur")) ;;
+        suspend)
+            COMPREPLY=($(compgen -W 'suspend suspend-sink suspend-source' -- "$cur"))
+            ;;
+
+        load-sample)
+            COMPREPLY=($(compgen -W 'load-sample load-sample-lazy load-sample-dir-lazy' -- "$cur"))
+            ;;
+
+        *)
+            [[ -z $command ]] && COMPREPLY=($(compgen -W '${commands[*]}' -- "$cur"))
+            ;;
+    esac
+}
+complete -F _pacmd pacmd
+
+_pasuspender () {
+    local cur prev
+    local flags='-h --help --version -s --server='
+
+    _init_completion -n = || return
+
+    case $cur in
+        --server=*)
+            cur=${cur#*=}
+            _known_hosts_real "$cur"
+            ;;
+
+        -*)
+            COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur"))
+            [[ $COMPREPLY == *= ]] && compopt -o nospace
+            ;;
+    esac
+
+    case $prev in
+        -s) _known_hosts_real "$cur" ;;
+    esac
+}
+complete -F _pasuspender pasuspender
+
+_padsp () {
+    local cur prev
+    local flags='-h -s -n -m -M -S -D -d'
+
+    _get_comp_words_by_ref cur prev
+
+    case $cur in
+        -*) COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur")) ;;
+    esac
+
+    case $prev in
+        -s) _known_hosts_real "$cur" ;;
+    esac
+}
+complete -F _padsp padsp
+
+_pacat () {
+    local cur prev comps
+    local flags='-h --help --version -r --record -p --playback -v --verbose -s
+                --server= -d --device= -n --client-name= --stream-name= --volume=
+                --rate= --format= --channels= --channel-map= --fix-format --fix-rate
+                --fix-channels --no-remix --no-remap --latency= --process-time=
+                --latency-msec= --process-time-msec= --property= --raw --passthrough
+                --file-format= --list-file-formats --monitor-stream='
+
+    _init_completion -n = || return
+
+    case $cur in
+        --server=*)
+            cur=${cur#*=}
+            _known_hosts_real "$cur"
+            ;;
+
+        --device=*)
+            cur=${cur#*=}
+            comps=$(__sinks)
+            comps+=" "$(__sources)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        --monitor-stream=*)
+            cur=${cur#*=}
+            comps=$(__sink_inputs)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        --rate=*)
+            cur=${cur#*=}
+            COMPREPLY=($(compgen -W '32000 44100 48000 9600 192000' -- "$cur"))
+            ;;
+
+        --file-format=*)
+            cur=${cur#*=}
+            comps=$(_pacat_file_formats)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        --*=*)
+            ;;
+
+        -*)
+            COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur"))
+            [[ $COMPREPLY == *= ]] && compopt -o nospace
+            ;;
+        *) _filedir ;;
+    esac
+
+    case $prev in
+        -s) _known_hosts_real "$cur" ;;
+        -d)
+            comps=$(__sinks)
+            comps+=" "$(__sources)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+    esac
+}
+complete -F _pacat pacat paplay parec parecord
+
+_pulseaudio()
+{
+    local cur prev words cword
+    local flags='-h --help --version --dump-conf --dump-resample-methods --cleanup-shm
+                --start -k --kill --check --system= -D --daemonize= --fail= --high-priority=
+                --realtime= --disallow-module-loading= --disallow-exit= --exit-idle-time=
+                --scache-idle-time= --log-level= -v --log-target= --log-meta= --log-time=
+                --log-backtrace= -p --dl-search-path= --resample-method= --use-pit-file=
+                --no-cpu-limit= --disable-shm= -L --load= -F --file= -C -n'
+    _init_completion -n = || return
+
+    case $cur in
+        --system=*|--daemonize=*|--fail=*|--high-priority=*|--realtime=*| \
+            --disallow-*=*|--log-meta=*|--log-time=*|--use-pid-file=*| \
+            --no-cpu-limit=*|--disable-shm=*)
+            cur=${cur#*=}
+            COMPREPLY=($(compgen -W 'true false' -- "$cur"))
+            ;;
+
+        --log-target=*)
+            cur=${cur#*=}
+            COMPREPLY=($(compgen -W 'auto syslog stderr file: newfile:' -- "$cur"))
+            ;;
+
+        --log-level=*)
+            cur=${cur#*=}
+            COMPREPLY=($(compgen -W '{0..4}' -- "$cur"))
+            ;;
+
+        --dl-search-path=*)
+            cur=${cur#*=}
+            _filedir -d
+            ;;
+
+        --file=*)
+            cur=${cur#*=}
+            _filedir
+            ;;
+
+        --resample-method=*)
+            cur=${cur#*=}
+            comps=$(__resample_methods)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        --load=*)
+            cur=${cur#*=}
+            comps=$(__all_modules)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+
+        --*=*)
+            ;;
+
+        -*)
+            COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur"))
+            [[ $COMPREPLY == *= ]] && compopt -o nospace
+            ;;
+    esac
+
+    case $prev in
+        -D) COMPREPLY=($(compgen -W 'true false' -- "$cur")) ;;
+        -p) _filedir -d ;;
+        -F) _filedir ;;
+        -L)
+            cur=${cur#*=}
+            comps=$(__all_modules)
+            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
+            ;;
+    esac
+}
+complete -F _pulseaudio pulseaudio
+
+#vim: set ft=zsh sw=4 ts=4 noet
diff --git a/shell-completion/pulseaudio-bash-completion.sh b/shell-completion/pulseaudio-bash-completion.sh
deleted file mode 100644
index 7775b08..0000000
--- a/shell-completion/pulseaudio-bash-completion.sh
+++ /dev/null
@@ -1,570 +0,0 @@
-#!/bin/bash
-
-__cards () {
-    while IFS=$'\t' read idx name _; do
-        printf "%s %s\n" "$idx" "$name"
-    done < <(pactl list cards short 2> /dev/null)
-}
-
-__sinks () {
-    while IFS=$'\t' read _ name _ _ _; do
-        printf "%s\n" "$name"
-    done < <(pactl list sinks short 2> /dev/null)
-}
-
-__sinks_idx () {
-    while IFS=$'\t' read idx _ _ _ _; do
-        printf "%s\n" "$idx"
-    done < <(pactl list sinks short 2> /dev/null)
-}
-
-__sources () {
-    while IFS=$'\t' read _ name _ _ _; do
-        printf "%s\n" "$name"
-    done < <(pactl list sources short 2> /dev/null)
-}
-
-__sink_inputs () {
-    while IFS=$'\t' read idx _ _ _ _; do
-        printf "%s\n" "$idx"
-    done < <(pactl list sink-inputs short 2> /dev/null)
-}
-
-__source_outputs () {
-    while IFS=$'\t' read idx _ _ _ _; do
-        printf "%s\n" "$idx"
-    done < <(pactl list source-outputs short 2> /dev/null)
-}
-
-__ports () {
-    pactl list cards 2> /dev/null | awk -e \
-        '/^\tPorts:/ {
-            flag=1; next
-         }
-
-         /^\t[A-Za-z]/ {
-             flag=0
-         }
-
-         flag {
-             if (/^\t\t[A-Za-z]/)
-                 ports = ports substr($0, 3, index($0, ":")-3) " "
-         }
-
-         END {
-             print ports
-         }'
-}
-
-__profiles () {
-    pactl list cards 2> /dev/null | awk -e \
-        '/^\tProfiles:/ {
-            flag=1; next
-        }
-
-        /^\t[A-Za-z]/ {
-            flag=0
-        }
-
-        flag {
-            if (/^\t\t[A-Za-z]/)
-                profiles = profiles substr($0, 3, index($0, ": ")-3) " "
-        }
-
-        END {
-            print profiles
-        }'
-}
-
-__all_modules () {
-    while read name; do
-        name=${name%% *}
-        printf "%s\n" "$name"
-    done < <(pulseaudio --dump-modules 2> /dev/null)
-}
-
-__loaded_modules () {
-    while IFS=$'\t' read idx name _; do
-        printf "%s %s\n" "$idx" "$name"
-    done < <(pactl list modules short 2> /dev/null)
-}
-
-__resample_methods () {
-    while read name; do
-        printf "%s\n" "$name"
-    done < <(pulseaudio --dump-resample-methods 2> /dev/null)
-}
-
-_pacat_file_formats () {
-    while IFS=$'\t' read name _; do
-        printf "%s\n" "$name"
-    done < <(pacat --list-file-formats 2> /dev/null)
-}
-
-in_array() {
-    local i
-    for i in "${@:2}"; do
-        [[ $1 = "$i" ]] && return
-    done
-}
-
-_pactl() {
-    local cur prev words cword preprev command
-    local comps
-    local flags='-h --help --version -s --server= --client-name='
-    local list_types='short sinks sources sink-inputs source outputs cards
-                    modules samples clients'
-    local commands=(stat info list exit upload-sample play-sample remove-sample
-                    load-module unload-module move-sink-input move-source-output
-                    suspend-sink suspend-source set-card-profile set-sink-port
-                    set-source-port set-sink-volume set-source-volume
-                    set-sink-input-volume set-source-output-volume set-sink-mute
-                    set-source-mute set-sink-input-mute set-source-output-mute
-                    set-sink-formats set-port-latency-offset subscribe help)
-
-    _init_completion -n = || return
-    preprev=${words[$cword-2]}
-
-    for word in "${COMP_WORDS[@]}"; do
-        if in_array "$word" "${commands[@]}"; then
-            command=$word
-            break
-        fi
-    done
-
-    case $preprev in
-        list) COMPREPLY=($(compgen -W 'short' -- "$cur")) ;;
-
-        play-sample)
-            comps=$(__sinks)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        move-sink-input)
-            comps=$(__sinks)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        move-source-output)
-            comps=$(__sources)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-card-profile)
-            comps=$(__profiles)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-*-port)
-            comps=$(__ports)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-*-mute) COMPREPLY=($(compgen -W 'true false toggle' -- "$cur")) ;;
-
-        set-sink-formats)
-            ;; #TODO
-
-        set-port-*)
-            comps=$(__ports)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-        --server)
-            compopt +o nospace
-            _known_hosts_real "$cur"
-            ;;
-    esac
-    [[ $COMPREPLY ]] && return 0
-
-    case $prev in
-        list) COMPREPLY=($(compgen -W '${list_types[*]}' -- "$cur")) ;;
-
-        stat) COMPREPLY=($(compgen -W 'short' -- "$cur")) ;;
-
-        upload-sample) _filedir ;;
-
-        play-sample) ;; # TODO
-
-        remove-sample) ;; # TODO
-
-        load-module)
-            comps=$(__all_modules)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        unload-module)
-            comps=$(__loaded_modules)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-card*)
-            comps=$(__cards)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        *sink-input*)
-            comps=$(__sink_inputs)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        *source-output*)
-            comps=$(__source_outputs)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-sink-formats)
-            comps=$(__sinks_idx)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        *sink*)
-            comps=$(__sinks)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        *source*)
-            comps=$(__sources)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-port*)
-            comps=$(__cards)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        -s)
-            _known_hosts_real "$cur" ;;
-    esac
-    [[ $COMPREPLY ]] && return 0
-
-    case $cur in
-        --server=*)
-            cur=${cur#*=}
-            _known_hosts_real "$cur"
-            ;;
-
-        -*)
-            COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur"))
-            [[ $COMPREPLY == *= ]] && compopt -o nospace
-            ;;
-
-        *)
-            [[ -z $command ]] && COMPREPLY=($(compgen -W '${commands[*]}' -- "$cur"))
-            ;;
-    esac
-}
-complete -F _pactl pactl
-
-_pacmd() {
-    local cur prev words cword preprev command
-    local comps
-    local flags='-h --help --version'
-    local commands=(exit help list-modules list-cards list-sinks list-sources list-clients
-                    list-samples list-sink-inputs list-source-outputs stat info
-                    load-module unload-module describe-module set-sink-volume
-                    set-source-volume set-sink-input-volume set-source-output-volume
-                    set-sink-mute set-source-mut set-sink-input-mute
-                    set-source-output-mute update-sink-proplist update-source-proplist
-                    update-sink-input-proplist update-source-output-proplist
-                    set-default-sink set-default-source kill-client kill-sink-input
-                    kill-source-output play-sample remove-sample load-sample
-                    load-sample-lazy load-sample-dir-lazy play-file dump
-                    move-sink-input move-source-output suspend-sink suspend-source
-                    suspend set-card-profile set-sink-port set-source-port
-                    set-port-latency-offset set-log-target set-log-level set-log-meta
-                    set-log-time set-log-backtrace)
-    _init_completion -n = || return
-    preprev=${words[$cword-2]}
-
-    for word in "${COMP_WORDS[@]}"; do
-        if in_array "$word" "${commands[@]}"; then
-            command=$word
-            break
-        fi
-    done
-
-    case $preprev in
-        play-sample|play-file)
-            comps=$(__sinks)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        load-sample*) _filedir ;;
-
-        move-sink-input)
-            comps=$(__sinks)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        move-source-output)
-            comps=$(__sources)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-card-profile)
-            comps=$(__profiles)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-*port*)
-            comps=$(__ports)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-*-mute) COMPREPLY=($(compgen -W 'true false' -- "$cur"));;
-
-        set-sink-formats)
-            ;; #TODO
-    esac
-
-    case $prev in
-        list-*) ;;
-        describe-module|load-module)
-            comps=$(__all_modules)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        unload-module)
-            comps=$(__loaded_modules)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        load-sample-dir-lazy) _filedir -d ;;
-        play-file) _filedir ;;
-
-        *sink-input*)
-            comps=$(__sink_inputs)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        *source-output*)
-            comps=$(__source_outputs)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        *sink*)
-            comps=$(__sinks)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        *source*)
-            comps=$(__sources)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-card*)
-            comps=$(__cards)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-port-*)
-            comps=$(__cards)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        set-log-target)
-            COMPREPLY=($(compgen -W 'auto syslog stderr file: newfile:' -- "$cur"))
-            ;;
-
-        set-log-level)
-            COMPREPLY=($(compgen -W '{0..4}' -- "$cur"))
-            ;;
-
-        set-log-meta|set-log-time|suspend)
-            COMPREPLY=($(compgen -W 'true false' -- "$cur"))
-            ;;
-    esac
-
-    case $cur in
-        -*) COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur")) ;;
-        suspend)
-            COMPREPLY=($(compgen -W 'suspend suspend-sink suspend-source' -- "$cur"))
-            ;;
-
-        load-sample)
-            COMPREPLY=($(compgen -W 'load-sample load-sample-lazy load-sample-dir-lazy' -- "$cur"))
-            ;;
-
-        *)
-            [[ -z $command ]] && COMPREPLY=($(compgen -W '${commands[*]}' -- "$cur"))
-            ;;
-    esac
-}
-complete -F _pacmd pacmd
-
-_pasuspender () {
-    local cur prev
-    local flags='-h --help --version -s --server='
-
-    _init_completion -n = || return
-
-    case $cur in
-        --server=*)
-            cur=${cur#*=}
-            _known_hosts_real "$cur"
-            ;;
-
-        -*)
-            COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur"))
-            [[ $COMPREPLY == *= ]] && compopt -o nospace
-            ;;
-    esac
-
-    case $prev in
-        -s) _known_hosts_real "$cur" ;;
-    esac
-}
-complete -F _pasuspender pasuspender
-
-_padsp () {
-    local cur prev
-    local flags='-h -s -n -m -M -S -D -d'
-
-    _get_comp_words_by_ref cur prev
-
-    case $cur in
-        -*) COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur")) ;;
-    esac
-
-    case $prev in
-        -s) _known_hosts_real "$cur" ;;
-    esac
-}
-complete -F _padsp padsp
-
-_pacat () {
-    local cur prev comps
-    local flags='-h --help --version -r --record -p --playback -v --verbose -s
-                --server= -d --device= -n --client-name= --stream-name= --volume=
-                --rate= --format= --channels= --channel-map= --fix-format --fix-rate
-                --fix-channels --no-remix --no-remap --latency= --process-time=
-                --latency-msec= --process-time-msec= --property= --raw --passthrough
-                --file-format= --list-file-formats --monitor-stream='
-
-    _init_completion -n = || return
-
-    case $cur in
-        --server=*)
-            cur=${cur#*=}
-            _known_hosts_real "$cur"
-            ;;
-
-        --device=*)
-            cur=${cur#*=}
-            comps=$(__sinks)
-            comps+=" "$(__sources)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        --monitor-stream=*)
-            cur=${cur#*=}
-            comps=$(__sink_inputs)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        --rate=*)
-            cur=${cur#*=}
-            COMPREPLY=($(compgen -W '32000 44100 48000 9600 192000' -- "$cur"))
-            ;;
-
-        --file-format=*)
-            cur=${cur#*=}
-            comps=$(_pacat_file_formats)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        --*=*)
-            ;;
-
-        -*)
-            COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur"))
-            [[ $COMPREPLY == *= ]] && compopt -o nospace
-            ;;
-        *) _filedir ;;
-    esac
-
-    case $prev in
-        -s) _known_hosts_real "$cur" ;;
-        -d)
-            comps=$(__sinks)
-            comps+=" "$(__sources)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-    esac
-}
-complete -F _pacat pacat paplay parec parecord
-
-_pulseaudio()
-{
-    local cur prev words cword
-    local flags='-h --help --version --dump-conf --dump-resample-methods --cleanup-shm
-                --start -k --kill --check --system= -D --daemonize= --fail= --high-priority=
-                --realtime= --disallow-module-loading= --disallow-exit= --exit-idle-time=
-                --scache-idle-time= --log-level= -v --log-target= --log-meta= --log-time=
-                --log-backtrace= -p --dl-search-path= --resample-method= --use-pit-file=
-                --no-cpu-limit= --disable-shm= -L --load= -F --file= -C -n'
-    _init_completion -n = || return
-
-    case $cur in
-        --system=*|--daemonize=*|--fail=*|--high-priority=*|--realtime=*| \
-            --disallow-*=*|--log-meta=*|--log-time=*|--use-pid-file=*| \
-            --no-cpu-limit=*|--disable-shm=*)
-            cur=${cur#*=}
-            COMPREPLY=($(compgen -W 'true false' -- "$cur"))
-            ;;
-
-        --log-target=*)
-            cur=${cur#*=}
-            COMPREPLY=($(compgen -W 'auto syslog stderr file: newfile:' -- "$cur"))
-            ;;
-
-        --log-level=*)
-            cur=${cur#*=}
-            COMPREPLY=($(compgen -W '{0..4}' -- "$cur"))
-            ;;
-
-        --dl-search-path=*)
-            cur=${cur#*=}
-            _filedir -d
-            ;;
-
-        --file=*)
-            cur=${cur#*=}
-            _filedir
-            ;;
-
-        --resample-method=*)
-            cur=${cur#*=}
-            comps=$(__resample_methods)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        --load=*)
-            cur=${cur#*=}
-            comps=$(__all_modules)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-
-        --*=*)
-            ;;
-
-        -*)
-            COMPREPLY=($(compgen -W '${flags[*]}' -- "$cur"))
-            [[ $COMPREPLY == *= ]] && compopt -o nospace
-            ;;
-    esac
-
-    case $prev in
-        -D) COMPREPLY=($(compgen -W 'true false' -- "$cur")) ;;
-        -p) _filedir -d ;;
-        -F) _filedir ;;
-        -L)
-            cur=${cur#*=}
-            comps=$(__all_modules)
-            COMPREPLY=($(compgen -W '${comps[*]}' -- "$cur"))
-            ;;
-    esac
-}
-complete -F _pulseaudio pulseaudio
-
-#vim: set ft=zsh sw=4 ts=4 noet



More information about the pulseaudio-commits mailing list