Files
cucadmuh bd2242e4f3 feat(cli): add logs mode with tail/follow and completion support (#337)
Introduce a dedicated --logs mode for CLI log viewing with --tail <lines> and
-f/--follow streaming from the normal/debug log channel, keep user-facing CLI
output free of timestamped log formatting, and update bash/zsh completions for
the new logs flags.
2026-04-27 20:21:41 +03:00
..

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.