aboutsummaryrefslogtreecommitdiffstats
path: root/src/ctl.rs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ctl: show the candidates when completion is ambiguousmainsalmonik6 days1-20/+39
| | | | | | | | | | Tab now behaves like bash: it extends the word to the longest common prefix and prints every candidate as a column list, instead of quietly cycling through them one per press. Above completion_prompt_limit (100) it asks before dumping the list. Candidates are inserted with their spaces escaped, so a completed track name stays one argument after Enter; the list itself shows the plain name.
* ctl: interactive shell with history, editing and completionsalmonik6 days1-0/+359
`rsp ctl` opens a prompt in the spirit of bluetoothctl. Lines are parsed with the same clap definitions as the one-shot CLI, so every command and flag works exactly as it does from a terminal, `help <command>` included. Tab completes subcommands, and track/album/artist paths for `play` through `db-complete` (run out of process, keeping its 100 ms timeout away from the input loop). History lives in the state directory. Piped input falls back to a plain line loop, so `rsp ctl < commands` works without a terminal.