/usr/share/zsh/site-functions
NameSizeModeActions
_bluetoothctl24400644editdlrm
_bootctl11010644editdlrm
_busctl30570644editdlrm
_coredumpctl15820644editdlrm
_curl134280644editdlrm
_firewalld190610644editdlrm
_hostnamectl22700644editdlrm
_imunify360_agent153830644editdlrm
_journalctl59750644editdlrm
_kernel-install6510644editdlrm
_localectl35850644editdlrm
_loginctl58040644editdlrm
_sd_hosts_or_user_at_host1160644editdlrm
_sd_machines3550644editdlrm
_sd_outputmodes2890644editdlrm
_sd_unit_files2550644editdlrm
_systemctl156060644editdlrm
_systemd38390644editdlrm
_systemd-analyze30650644editdlrm
_systemd-delta5640644editdlrm
_systemd-inhibit10610644editdlrm
_systemd-resolve23300644editdlrm
_systemd-run31360644editdlrm
_systemd-tmpfiles7360644editdlrm
_timedatectl20420644editdlrm
_udevadm59970644editdlrm
Edit: /usr/share/zsh/site-functions/_bluetoothctl (2440B)
#compdef bluetoothctl __bluetoothctl() { bluetoothctl "$@" 2>/dev/null } _bluezcomp_controller() { local -a controllers bluetoothctl list | while read _ MAC NAME; do controllers+="${MAC//:/\\:}:${NAME//:/\\:}" done _describe -t controllers 'controller' controllers } _bluezcomp_device() { local -a devices bluetoothctl devices | while read _ MAC NAME; do devices+="${MAC//:/\\:}:${NAME//:/\\:}" done _describe -t devices 'device' devices } _bluezcomp_agentcap() { local -a agent_options=(${(f)"$(__bluetoothctl agent help)"}) agent_options=( "${(@)agent_options:#(on|off)}" ) compadd -a agent_options } _bluetoothctl_agent() { local -a agent_options=(${(f)"$(__bluetoothctl agent help)"}) agent_options+=help compadd -a agent_options } _bluetoothctl_advertise() { local -a ad_options=(${(f)"$(__bluetoothctl advertise help)"}) ad_options+=help compadd -a ad_options } _bluetoothctl() { local -a toggle_commands=( "discoverable" "pairable" "power" "scan" ) local -a controller_commands=( "select" "show" ) local -a device_commands=( "block" "connect" "disconnect" "info" "pair" "remove" "trust" "unblock" "untrust" ) # Other commands may be handled by _bluetoothctl_$command local -a all_commands=( "${(@f)$(__bluetoothctl --zsh-complete help)}" ) local curcontext=$curcontext state line ret=1 _arguments -C \ + '(info)' \ {-h,--help}'[Show help message and exit]' \ {-v,--version}'--version[Show version info and exit]' \ + 'mod' \ '(info)'{-a+,--agent=}'[Register agent handler]:agent:_bluezcomp_agentcap' \ '(info)'{-t,--timeout}'[Timeout in seconds for non-interactive mode]' \ '(info)'{-m,--monitor}'[Enable monitor output]' \ + 'command' \ '(info):command:->command' \ '(info):: :->argument' \ ': :_message "no more arguments"' if [[ $state == "command" ]]; then _describe -t commands 'command' all_commands elif [[ $state == "argument" ]]; then if (( ! ${"${(@)all_commands%%:*}"[(I)${line[1]}]} )); then _message "Unknown bluetoothctl command: $line[1]" return 1; fi curcontext="${curcontext%:*:*}:bluetoothctl-$line[1]:" if ! _call_function ret _bluetoothctl_$line[1]; then case $line[1] in (${(~j.|.)toggle_commands}) compadd on off ;; (${(~j.|.)device_commands}) _bluezcomp_device ;; (${(~j.|.)controller_commands}) _bluezcomp_controller ;; esac fi return ret fi } && _bluetoothctl