Skip to content

v0.6.0-rc11: Interactive Command Support

Pre-release
Pre-release

Choose a tag to compare

@StevenTCramer StevenTCramer released this 18 Jul 03:18
· 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.

Full Changelog

  • feat: add interactive command execution support (060a6ae)
  • chore: bump version to 0.6.0-rc11 (3adb236)
  • test: fix interactive tests and remove non-test scripts (fd65ad2)