# nirc-rs bash completion # Generated for nirc 0.5.0 _nirc() { local cur prev words cword _init_completion -s || return # Top-level commands (no subcommand context needed) local commands=( connect disconnect join part msg me say notice ctcp raw quote nick away who whois names topic invite list kick op deop mode oper kill kline unkline wallops ignore unblock sendfile acceptfile listtransfers win 'win list' 'win new' 'win close' 'win name' jump jumpback close open winlist set get alias unalias bind unbind eval source echo clear clearall save help quit newconn server matrix adc dc 'dc++' revolt stoat discord spacebar nerimity url video image ) # Matrix subcommands local matrix_cmds=( login logout create invite members whoami devices verify verify-confirm verify-cancel react reply backfill ) # ADC subcommands local adc_cmds=(search users broadcast get download dl) # Revolt / Discord / Stout / Spacebar / Nerimity subcommands (same shape) local revolt_cmds=(join leave members servers) # Protocols for /connect (bitchat removed in 0.10.2 — see NOTICES.md) local protocols=(irc matrix adc dc 'dc++' discord stout spacebar nerimity revolt) case ${prev} in connect) COMPREPLY=($(compgen -W "${protocols[*]}" -- "${cur}")) return ;; matrix) COMPREPLY=($(compgen -W "${matrix_cmds[*]}" -- "${cur}")) return ;; adc|dc|'dc++') COMPREPLY=($(compgen -W "${adc_cmds[*]}" -- "${cur}")) return ;; revolt|stoat|discord|spacebar|nerimity) COMPREPLY=($(compgen -W "${revolt_cmds[*]}" -- "${cur}")) return ;; 'matrix verify') # Complete with nothing special — user provides a user_id return ;; 'matrix react') return ;; 'matrix reply') return ;; esac # Default: offer all top-level commands if [[ "${cur}" == /* ]]; then COMPREPLY=($(compgen -W "${commands[*]}" -- "${cur}")) fi # Also complete file paths for certain commands case ${words[1]} in sendfile|acceptfile|source|'adc get'|'adc download'|'adc dl') _filedir return ;; esac } complete -F _nirc nirc complete -F _nirc nirc-rs