Skip to content

Add interactive mode with fuzzy search and hierarchical navigation#145

Open
ManUtopiK wants to merge 1 commit intojacobdeichert:masterfrom
ManUtopiK:feat/interactive
Open

Add interactive mode with fuzzy search and hierarchical navigation#145
ManUtopiK wants to merge 1 commit intojacobdeichert:masterfrom
ManUtopiK:feat/interactive

Conversation

@ManUtopiK
Copy link

Introduce mask -i / mask --interactive flag that launches a terminal UI for browsing and executing maskfile commands. Uses skim for fuzzy search with preview panel and dialoguer for argument/flag prompts. Supports hierarchical navigation with arrow keys (→ enter subcommands, ← go back). Feature-gated behind the interactive feature (enabled by default, opt-out with --no-default-features).

Which issue does this fix?

Closes #144

Describe the solution

  • Add mask -i / mask --interactive flag that launches a terminal UI for browsing and executing maskfile commands
  • Fuzzy search powered by https://github.com/lotabout/skim with a preview panel showing description, arguments, flags, and script source
  • Hierarchical navigation: → to enter subcommands, ← to go back, breadcrumb trail shown at the top
  • After selecting a command, https://github.com/console-rs/dialoguer prompts for required/optional arguments and flags (choices, values, booleans)
  • Feature-gated behind the interactive feature (enabled by default, opt-out with --no-default-features to keep the binary lean)

Files changed

File Description
mask/Cargo.toml Add skim + dialoguer as optional dependencies
mask/src/main.rs Add -i/--interactive flag and module wiring
mask/src/interactive.rs New module: skim selector + dialoguer prompts

Test plan

  • cargo build — compiles without errors or warnings
  • cargo build --no-default-features — compiles without skim/dialoguer
  • cargo test — all existing tests pass (1 pre-existing failure unrelated to this change)
  • mask -i — opens interactive selector, fuzzy search works, preview panel shows command details
  • Arrow key navigation through subcommands works (→ enter, ← back)
  • Selecting a command with Enter executes it
  • Esc goes back one level, then quits at root
  • mask --help shows the --interactive flag

Introduce `mask -i` / `mask --interactive` flag that launches a terminal UI
for browsing and executing maskfile commands. Uses skim for fuzzy search with
preview panel and dialoguer for argument/flag prompts. Supports hierarchical
navigation with arrow keys (→ enter subcommands, ← go back). Feature-gated
behind the `interactive` feature (enabled by default, opt-out with
--no-default-features).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a show command to display the source code of a task

1 participant