v0.6.0-rc11: Interactive Command Support
Pre-release
Pre-release
·
715 commits
to master
since this release
What's New
π Interactive Command Execution Support
TimeWarp.Cli now supports interactive commands like FZF, vim, nano, and other terminal UI applications!
New Methods
-
GetStringInteractiveAsync()- Execute interactive commands and capture their output- Perfect for tools like FZF where you want user interaction but need the selection
- UI renders to console via stderr, output captured from stdout
-
ExecuteInteractiveAsync()- Full interactive mode without output capture- For editors like vim, nano, or any fully interactive terminal application
- All streams connected to console for complete interaction
Usage Examples
// Interactive file selection with FZF
var selectedFile = await Fzf.Run()
.FromInput("file1.txt", "file2.txt", "file3.txt")
.WithPreview("cat {}")
.GetStringInteractiveAsync();
// Interactive pipeline - find and select files
var chosenFile = await Shell.Run("find")
.WithArguments(".", "-name", "*.cs")
.Pipe("fzf", "--preview", "head -20 {}")
.GetStringInteractiveAsync();
// Full interactive mode for editors
await Shell.Run("vim")
.WithArguments("config.json")
.ExecuteInteractiveAsync();Other Changes
- Updated documentation with interactive examples
- Added integration tests for interactive functionality
- Fixed test organization
Breaking Changes
None - all existing APIs remain unchanged.