nirc-rs/completions/nirc.fish

147 lines
7.2 KiB
Fish
Executable File

# nirc-rs fish completion for 0.10.2
# Disable file completions unless we explicitly want them
complete -c nirc -f
complete -c nirc-rs -f
# --help and --version
complete -c nirc -s h -l help -d 'Print usage information'
complete -c nirc -s V -l version -d 'Print version'
complete -c nirc -s c -l config -r -F -d 'Alternate configuration file'
# ═══ Connection ═══
complete -c nirc -k -x -a connect -d 'Connect to a server'
complete -c nirc -k -x -a disconnect -d 'Disconnect from protocol'
complete -c nirc -k -x -a newconn -d 'New connection dialog'
complete -c nirc -k -x -a server -d 'Switch servers'
# After /connect, offer protocols (bitchat removed in 0.10.2 — see NOTICES.md)
complete -c nirc -k -x -a '/connect irc' -d 'Connect via IRC'
complete -c nirc -k -x -a '/connect matrix' -d 'Connect via Matrix'
complete -c nirc -k -x -a '/connect adc' -d 'Connect via ADC/DC++'
complete -c nirc -k -x -a '/connect dc' -d 'Connect via DC++'
complete -c nirc -k -x -a '/connect discord' -d 'Connect via Discord'
complete -c nirc -k -x -a '/connect stout' -d 'Connect via Stout (Discord fork)'
complete -c nirc -k -x -a '/connect spacebar' -d 'Connect via Spacebar (Discord fork)'
complete -c nirc -k -x -a '/connect nerimity' -d 'Connect via Nerimity'
complete -c nirc -k -x -a '/connect revolt' -d 'Connect via Revolt'
# ═══ Messaging ═══
complete -c nirc -k -x -a msg -d 'Send private message'
complete -c nirc -k -x -a me -d 'Send action'
complete -c nirc -k -x -a say -d 'Send to current window'
complete -c nirc -k -x -a notice -d 'Send notice'
complete -c nirc -k -x -a ctcp -d 'Send CTCP query'
complete -c nirc -k -x -a raw -d 'Send raw IRC line'
complete -c nirc -k -x -a quote -d 'Alias for /raw'
complete -c nirc -k -x -a echo -d 'Display text'
# ═══ Channels ═══
complete -c nirc -k -x -a join -d 'Join channel'
complete -c nirc -k -x -a part -d 'Leave channel'
complete -c nirc -k -x -a names -d 'List channel users'
complete -c nirc -k -x -a topic -d 'View/set topic'
complete -c nirc -k -x -a invite -d 'Invite user'
complete -c nirc -k -x -a list -d 'List channels'
complete -c nirc -k -x -a who -d 'List users'
complete -c nirc -k -x -a whois -d 'User information'
# ═══ Channel ops ═══
complete -c nirc -k -x -a kick -d 'Kick user'
complete -c nirc -k -x -a op -d 'Give operator status'
complete -c nirc -k -x -a deop -d 'Remove operator status'
complete -c nirc -k -x -a mode -d 'Set mode'
# ═══ IRC operator ═══
complete -c nirc -k -x -a oper -d 'Become IRC operator'
complete -c nirc -k -x -a kill -d 'Force-disconnect user'
complete -c nirc -k -x -a kline -d 'Set K-line ban'
complete -c nirc -k -x -a unkline -d 'Remove K-line ban'
complete -c nirc -k -x -a wallops -d 'Message to operators'
# ═══ User ═══
complete -c nirc -k -x -a nick -d 'Change nickname'
complete -c nirc -k -x -a away -d 'Set away status'
complete -c nirc -k -x -a ignore -d 'Toggle ignore'
complete -c nirc -k -x -a unblock -d 'Remove from ignore list'
# ═══ Files ═══
complete -c nirc -k -x -a sendfile -d 'Send file'
complete -c nirc -k -x -a acceptfile -d 'Accept file transfer'
complete -c nirc -k -x -a listtransfers -d 'Toggle transfer panel'
# ═══ Windows ═══
complete -c nirc -k -x -a win -d 'Switch/list windows'
complete -c nirc -k -x -a jump -d 'Jump to window'
complete -c nirc -k -x -a jumpback -d 'Previous window'
complete -c nirc -k -x -a close -d 'Close window'
complete -c nirc -k -x -a open -d 'Open query window'
complete -c nirc -k -x -a winlist -d 'Toggle winlist'
# ═══ Utilities ═══
complete -c nirc -k -x -a set -d 'Set variable'
complete -c nirc -k -x -a get -d 'Print variable'
complete -c nirc -k -x -a alias -d 'Define alias'
complete -c nirc -k -x -a unalias -d 'Remove alias'
complete -c nirc -k -x -a bind -d 'Bind key'
complete -c nirc -k -x -a unbind -d 'Remove key binding'
complete -c nirc -k -x -a eval -d 'Expand and re-evaluate'
complete -c nirc -k -x -a source -d 'Execute command file'
complete -c nirc -k -x -a clear -d 'Clear tab'
complete -c nirc -k -x -a clearall -d 'Clear all tabs'
complete -c nirc -k -x -a save -d 'Save config'
complete -c nirc -k -x -a help -d 'Show help'
complete -c nirc -k -x -a quit -d 'Quit'
# ═══ Matrix ═══
complete -c nirc -k -x -a '/matrix login' -d 'Matrix password login'
complete -c nirc -k -x -a '/matrix logout' -d 'Matrix logout'
complete -c nirc -k -x -a '/matrix create' -d 'Create room'
complete -c nirc -k -x -a '/matrix invite' -d 'Invite user'
complete -c nirc -k -x -a '/matrix members' -d 'List members'
complete -c nirc -k -x -a '/matrix whoami' -d 'Show user info'
complete -c nirc -k -x -a '/matrix devices' -d 'List devices'
complete -c nirc -k -x -a '/matrix verify' -d 'SAS verification'
complete -c nirc -k -x -a '/matrix verify-confirm' -d 'Confirm SAS'
complete -c nirc -k -x -a '/matrix verify-cancel' -d 'Cancel SAS'
complete -c nirc -k -x -a '/matrix react' -d 'React to message'
complete -c nirc -k -x -a '/matrix reply' -d 'Reply to event'
complete -c nirc -k -x -a '/matrix backfill' -d 'Backfill messages'
# ═══ ADC/DC++ ═══
complete -c nirc -k -x -a '/adc search' -d 'Search hub files'
complete -c nirc -k -x -a '/adc users' -d 'List hub users'
complete -c nirc -k -x -a '/adc broadcast' -d 'Broadcast message'
complete -c nirc -k -x -a '/dc bcast' -d 'Broadcast message'
complete -c nirc -k -x -a '/adc get' -d 'Download file'
complete -c nirc -k -x -a '/adc download' -d 'Download file'
complete -c nirc -k -x -a '/adc dl' -d 'Download file'
# ═══ Revolt / Discord / Stout / Spacebar / Nerimity ═══
complete -c nirc -k -x -a '/revolt join' -d 'Join server'
complete -c nirc -k -x -a '/revolt leave' -d 'Leave server'
complete -c nirc -k -x -a '/revolt members' -d 'List members'
complete -c nirc -k -x -a '/revolt servers' -d 'List servers'
complete -c nirc -k -x -a '/discord join' -d 'Join server'
complete -c nirc -k -x -a '/discord leave' -d 'Leave server'
complete -c nirc -k -x -a '/discord members' -d 'List members'
complete -c nirc -k -x -a '/discord servers' -d 'List servers'
complete -c nirc -k -x -a '/stout join' -d 'Join server (Stout fork)'
complete -c nirc -k -x -a '/stout leave' -d 'Leave server (Stout fork)'
complete -c nirc -k -x -a '/stout members' -d 'List members (Stout fork)'
complete -c nirc -k -x -a '/stout servers' -d 'List servers (Stout fork)'
complete -c nirc -k -x -a '/spacebar join' -d 'Join server (Spacebar fork)'
complete -c nirc -k -x -a '/spacebar leave' -d 'Leave server (Spacebar fork)'
complete -c nirc -k -x -a '/spacebar members' -d 'List members (Spacebar fork)'
complete -c nirc -k -x -a '/spacebar servers' -d 'List servers (Spacebar fork)'
complete -c nirc -k -x -a '/nerimity join' -d 'Join server (Nerimity)'
complete -c nirc -k -x -a '/nerimity leave' -d 'Leave server (Nerimity)'
complete -c nirc -k -x -a '/nerimity members' -d 'List members (Nerimity)'
complete -c nirc -k -x -a '/nerimity servers' -d 'List servers (Nerimity)'
# ═══ Media (0.10.1) ═══
complete -c nirc -k -x -a '/url' -d 'Open URL in OS default browser'
complete -c nirc -k -x -a '/video' -d 'Launch video in OS default player'
complete -c nirc -k -x -a '/image' -d 'Attempt inline image render (falls back to /url)'
# BitChat P2P support was removed in 0.10.2. See NOTICES.md for the rationale.