Files
Psychotoxical-psysonic/completions/README.md
T
Maxim Isaev c75297fcf6 feat(cli): completions, library/audio commands, server switcher
Embed bash and zsh completion scripts and add a `completions` subcommand.
Extend the player CLI (library, audio device, instant mix) and surface
`music_library` in snapshots. Add a shared active-server switcher in the
header and locales; instant mix can reseed the queue from CLI and UI.
2026-04-15 01:47:46 +03:00

1.6 KiB
Raw Blame History

Shell completion for psysonic

Covers global flags (--help, --info, …), completions …, and --player commands (next, audio-device …, library …, mix …, …). Run psysonic --help for the full list.

The same scripts are embedded in the release binary: run psysonic completions for install instructions, or psysonic completions bash / zsh to print the scripts (no repo checkout needed).

zsh

Copy or symlink _psysonic into a directory on your $fpath, then reload completion:

mkdir -p ~/.zsh/completions
ln -sf /path/to/psysonic/completions/_psysonic ~/.zsh/completions/_psysonic
fpath=(~/.zsh/completions $fpath)
autoload -Uz compinit && compinit

If you use a plugin manager, point its fpath at this repos completions/ directory instead.

bash

Source the script once (e.g. in ~/.bashrc):

source /path/to/psysonic/completions/psysonic.bash

Use this only under bash (including macOSs /bin/bash 3.2). zsh users should install _psysonic instead — do not source the .bash file in zsh.

Device names after audio-device set

Completion can suggest IDs from psysonic-cli-audio-devices.json (same paths the app uses: $XDG_RUNTIME_DIR or $TMPDIR//tmp). That file appears after you run psysonic --player audio-device list while the app is running. Optional: install jq for parsing that JSON in the completion scripts.

Folder ids after library set

Same idea with psysonic-cli-library.json, produced by psysonic --player library list. Optional jq for completion of folder ids plus the literal all.