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
+17 -1
View File
@@ -54,6 +54,14 @@ _psysonic_snapshot_json() {
_psysonic_complete() {
local cur
cur="${COMP_WORDS[COMP_CWORD]}"
local prev=""
(( COMP_CWORD > 0 )) && prev="${COMP_WORDS[COMP_CWORD-1]}"
if [[ $prev == --tail ]]; then
_psysonic_compopt -o default
COMPREPLY=()
return
fi
local i pidx=0
for (( i = 1; i < COMP_CWORD; i++ )); do
@@ -61,11 +69,19 @@ _psysonic_complete() {
done
if (( pidx == 0 )); then
local has_logs=0
for (( i = 1; i < COMP_CWORD; i++ )); do
[[ ${COMP_WORDS[i]} == --logs ]] && has_logs=1
done
if [[ ${COMP_WORDS[1]} == completions && COMP_CWORD -eq 2 ]]; then
_psysonic_compreply_from_compgen 'help bash zsh' "$cur"
return
fi
_psysonic_compreply_from_compgen '--help --version --info --json --quiet --player completions' "$cur"
if (( has_logs )); then
_psysonic_compreply_from_compgen '--tail -f --follow' "$cur"
else
_psysonic_compreply_from_compgen '--help --version --info --json --quiet --logs --player completions' "$cur"
fi
return
fi