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.
This commit is contained in:
cucadmuh
2026-04-27 20:21:41 +03:00
committed by GitHub
parent 8967ca825d
commit bd2242e4f3
5 changed files with 242 additions and 62 deletions
+15 -2
View File
@@ -60,7 +60,7 @@ _psysonic_server_ids() {
_psysonic_globals() {
compadd -J options -X 'option' -- \
--help --version --info --json --quiet --player completions
--help --version --info --json --quiet --logs --player completions
}
integer i pidx=0
@@ -68,12 +68,25 @@ for (( i = 2; i < CURRENT; i++ )); do
[[ ${words[i]} == --player ]] && pidx=i
done
if [[ ${words[CURRENT-1]} == --tail ]]; then
_message -e descriptions 'number of lines'
return
fi
if (( pidx == 0 )); then
local has_logs=0
for (( i = 2; i < CURRENT; i++ )); do
[[ ${words[i]} == --logs ]] && has_logs=1
done
if (( CURRENT == 3 )) && [[ ${words[2]} == completions ]]; then
compadd help bash zsh
return
fi
_psysonic_globals
if (( has_logs )); then
compadd -- --tail -f --follow
else
_psysonic_globals
fi
return
fi