diff --git a/cli/kdeconnect.zsh b/cli/kdeconnect.zsh index a9a7e3dd..9a45f15f 100644 --- a/cli/kdeconnect.zsh +++ b/cli/kdeconnect.zsh @@ -1,34 +1,40 @@ #compdef kdeconnect-cli _kdeconnect_device-ids() { _values "KDE Connect device id" "${(f)$(kdeconnect-cli --shell-device-autocompletion=zsh 2>/dev/null)}" } -_arguments \ - '(-l --list-devices -a --list-available)'{-l,--list-devices}'[list all devices]' \ - '(-l --list-devices -a --list-available)'{-a,--list-available}'[list available (paired and reachable) devices]' \ - '--id-only[make --list-devices or --list-available print only the devices id, to ease scripting]' \ - '--refresh[search for devices in the network and re-establish connections]' \ - '(--pair --unpair)--pair[request pairing with the specified device]' \ - '--ring[find the device by ringing it.]' \ - '(--pair --unpair)--unpair[stop pairing to the specified device]' \ - '(--ping --ping-msg)--ping[send a ping to the device]' \ - '(--ping --ping-msg)--ping-msg[send a ping to the device with the specified message]:message' \ - '--share[share a file to the device]:file:_files' \ - '--list-notifications[display the notifications on the device]' \ - '--lock[lock the specified device]' \ - '--send-sms[send an SMS. Requires --destination]:message' \ - '--destination[specify phone number to send the SMS to]:phone number' \ - '(-d --device -n --name)'{-d,--device}'[specify device ID]:id:_kdeconnect_device-ids' \ - '(-d --device -n --name)'{-n,--name}'[specify device name]:name' \ - '--encryption-info[get encryption info about the device]' \ - '--list-commands[list remote commands and their ids]' \ - '--execute-command[execute a remote command]:command id' \ - '(-k --send-keys)'{-k,--send-keys}'[send keys to the specified device]' \ - "--my-id[display this device's id]" \ - "--photo[open the connected device's camera and transfer the photo]:file:_files" \ +#See http://zsh.sourceforge.net/Doc/Release/Completion-System.html#index-_005farguments for autocomplete documentation +# +#The --desktopfile option is not included, since it rarely makes sense to use +#The --shell-device-autocompletion option is not included, since it's not even in the help (and only required for scripts like these) +local blockoperations="(operation sms)" +_arguments -s \ '(-)'{-h,--help}'[display usage information]' \ - '(-)'{-v,--version}'[display version information]' \ - '(-)--author[show author information and exit]' \ - '(-)--license[show license information and exit]' \ - '--desktopfile[specify base file name of the desktop entry for this application]:file' + + '(global)' \ + $blockoperations{-l,--list-devices}'[list all devices]' \ + $blockoperations{-a,--list-available}'[list available (paired and reachable) devices]' \ + $blockoperations'--refresh[search for devices in the network and re-establish connections]' \ + {-d=,--device=}'[specify device ID]:id:_kdeconnect_device-ids' \ + {-n=,--name=}'[specify device name]:name' \ + $blockoperations''{-v,--version}'[display version information]' \ + $blockoperations'--author[show author information and exit]' \ + $blockoperations'--license[show license information and exit]' \ + $blockoperations"--my-id[display this device's id]" \ + + '(operation)' \ + $blockoperations'--pair[request pairing with the specified device]' \ + $blockoperations'--ring[find the device by ringing it.]' \ + $blockoperations'--unpair[stop pairing to the specified device]' \ + $blockoperations'--ping[send a ping to the device]' \ + $blockoperations'--ping-msg=[send a ping to the device with the specified message]:message' \ + $blockoperations'--share=[share a file to the device]:file:_files' \ + $blockoperations'--list-notifications[display the notifications on the device]' \ + $blockoperations'--lock[lock the specified device]' \ + $blockoperations'--encryption-info[get encryption info about the device]' \ + $blockoperations'--list-commands[list remote commands and their ids]' \ + $blockoperations'--execute-command=[execute a remote command]:command id' \ + $blockoperations{-k=,--send-keys=}'[send keyboard input to the specified device]:keyboard input' \ + $blockoperations"--photo=[open the connected device's camera and transfer the photo]:file:_files" \ + + 'sms' \ + '(operation)--send-sms=[send an SMS]:message:' \ + '(operation)--destination=[specify phone number to send the SMS to]:phone number:'