Add tab completion for commands and file paths

Implement tab completion in interactive mode using rustyline:

- Command completion: /<TAB> shows all commands, /com<TAB> -> /compact
- File path completion: /run <TAB> completes file/directory paths
- Supports tilde expansion for home directory

Architecture is extensible for future semantic completions:
- /resume <TAB> -> session IDs (Phase 2)
- /rehydrate <TAB> -> fragment IDs (Phase 2)

New module: completion.rs with G3Helper struct implementing
rustyline's Completer trait.
This commit is contained in:
Dhanji R. Prasanna
2026-01-20 10:57:33 +05:30
parent 4db2150386
commit dd3db0227d
5 changed files with 170 additions and 4 deletions

View File

@@ -17,7 +17,7 @@ tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
rustyline = "17.0.1"
rustyline = { version = "17.0.1", features = ["derive", "with-dirs"] }
dirs = "5.0"
tokio-util = "0.7"
sha2 = "0.10"