On Sat, May 24, 2014 at 01:05:52PM +0300, Tanu Kaskinen wrote:
> ---
> shell-completion/pulseaudio-bash-completion.sh | 2 +-
> shell-completion/pulseaudio-zsh-completion.zsh | 1 +
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/shell-completion/pulseaudio-bash-completion.sh
> b/shell-completion/pulseaudio-bash-completion.sh
> index 43f4a2c..7775b08 100644
> --- a/shell-completion/pulseaudio-bash-completion.sh
> +++ b/shell-completion/pulseaudio-bash-completion.sh
> @@ -492,7 +492,7 @@ _pacat () {
> ;;
> esac
> }
> -complete -F _pacat pacat paplay parecord
> +complete -F _pacat pacat paplay parec parecord
ACK.
> _pulseaudio()
> {
> diff --git a/shell-completion/pulseaudio-zsh-completion.zsh
> b/shell-completion/pulseaudio-zsh-completion.zsh
> index abc443a..4101a21 100644
> --- a/shell-completion/pulseaudio-zsh-completion.zsh
> +++ b/shell-completion/pulseaudio-zsh-completion.zsh
> @@ -541,6 +541,7 @@ _pulseaudio() {
> pacmd) _pacmd_completion;;
> pacat) _pacat_completion;;
> paplay)_pacat_completion;;
> + parec) _pacat_completion;;
> parecord)_pacat_completion;;
> padsp) _padsp_completion;;
> pasuspender) _pasuspender_completion;;
This one needs a little bit more work. The first line in the file
defines all the 'commands' that this completion file supports (the
#compdef one).
The _pulseaudio function is just a dispatcher function that looks up the
name of the calling command ($service is equivalent to argv[0]) and
calls the real worker functions, so this part is ok but the _devices
function uses $service as well to complete based on context, e.g.
when we complete devices for parec we only want sources, for paplay only sinks.
Modified patch attached.
>From 6f3b4ccf510a12162eea7c15ccc94f69026a8291 Mon Sep 17 00:00:00 2001
From: Tanu Kaskinen <[email protected]>
Date: Sat, 24 May 2014 13:05:52 +0300
Subject: [PATCH] shell-completion: Add completion for parec
---
shell-completion/pulseaudio-bash-completion.sh | 2 +-
shell-completion/pulseaudio-zsh-completion.zsh | 9 +++++----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/shell-completion/pulseaudio-bash-completion.sh b/shell-completion/pulseaudio-bash-completion.sh
index 43f4a2c..7775b08 100644
--- a/shell-completion/pulseaudio-bash-completion.sh
+++ b/shell-completion/pulseaudio-bash-completion.sh
@@ -492,7 +492,7 @@ _pacat () {
;;
esac
}
-complete -F _pacat pacat paplay parecord
+complete -F _pacat pacat paplay parec parecord
_pulseaudio()
{
diff --git a/shell-completion/pulseaudio-zsh-completion.zsh b/shell-completion/pulseaudio-zsh-completion.zsh
index abc443a..c503f2c 100644
--- a/shell-completion/pulseaudio-zsh-completion.zsh
+++ b/shell-completion/pulseaudio-zsh-completion.zsh
@@ -1,4 +1,4 @@
-#compdef pulseaudio pactl pacmd pacat paplay parecord padsp pasuspender
+#compdef pulseaudio pactl pacmd pacat paplay parec parecord padsp pasuspender
_devices() {
local -a _device_list
@@ -23,14 +23,14 @@ _devices() {
move-source-output) cmd=('sources');;
esac
- elif [[ $service == (pacat|paplay|parecord) ]]; then
+ elif [[ $service == (pacat|paplay|parec|parecord) ]]; then
case $words[$((CURRENT))] in
--device=*)
if [[ $words == *(--playback|-p)[[:space:]]* ||
$service == paplay ]]; then
cmd=('sinks')
elif [[ $words == *(--record|-r)[[:space:]]* ||
- $service == parecord ]]; then
+ $service == (parec|parecord) ]]; then
cmd=('sources')
else
cmd=('sinks' 'sources')
@@ -45,7 +45,7 @@ _devices() {
$service == paplay ]]; then
cmd=('sinks')
elif [[ $words == *(--record|-r)[[:space:]]* ||
- $service == parecord ]]; then
+ $service == (parec|parecord) ]]; then
cmd=('sources')
else
cmd=('sinks' 'sources')
@@ -541,6 +541,7 @@ _pulseaudio() {
pacmd) _pacmd_completion;;
pacat) _pacat_completion;;
paplay)_pacat_completion;;
+ parec) _pacat_completion;;
parecord)_pacat_completion;;
padsp) _padsp_completion;;
pasuspender) _pasuspender_completion;;
--
1.9.3
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss