aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-11-02 13:35:56 +0100
committersalmonik <salmonik@tuta.io>2026-11-02 13:35:56 +0100
commit5dfb5b4ce521a44eb4e9173d20c58e665c78e979 (patch)
tree514508f9bef90444b867a68abfeb2ad365c44d14 /src/lib.rs
parentaudio: open the output at the track's rate instead of pw-alsa's 44100 (diff)
downloadrsplayer-5dfb5b4ce521a44eb4e9173d20c58e665c78e979.tar.gz
rsplayer-5dfb5b4ce521a44eb4e9173d20c58e665c78e979.zip
ctl: interactive shell with history, editing and completion
`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.
Diffstat (limited to '')
-rw-r--r--src/lib.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 189c376..fe0a3b6 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -15,6 +15,7 @@ pub fn debug_eprintln(args: core::fmt::Arguments<'_>) {
15pub mod audio; 15pub mod audio;
16pub mod cli; 16pub mod cli;
17pub mod config; 17pub mod config;
18pub mod ctl;
18pub mod daemon; 19pub mod daemon;
19pub mod database; 20pub mod database;
20pub mod mpris; 21pub mod mpris;