Skip to content

feat: show REPO and PLAYLIST columns by default in list --all-repos#62

Open
proboscis wants to merge 1 commit intomainfrom
issue/ISSUE-021/run-20260126-215214
Open

feat: show REPO and PLAYLIST columns by default in list --all-repos#62
proboscis wants to merge 1 commit intomainfrom
issue/ISSUE-021/run-20260126-215214

Conversation

@proboscis
Copy link
Owner

Summary

  • Show REPO column by default when using runbox list --all-repos (previously required --verbose)
  • Add PLAYLIST column showing the playlist display name for playlist items
  • Include playlist_name in JSON output when --all-repos is used

Changes Made

crates/runbox-cli/src/main.rs

  • Added playlist_name: Option<String> field to RunnableInfo struct
  • Changed condition from if verbose to if show_repo (where show_repo = all_repos || verbose)
  • Added PLAYLIST column to table output header and rows
  • Populated playlist_name from storage when show_repo is true

crates/runbox-core/src/storage.rs

  • Added get_runnable_playlist_name() method to retrieve playlist display name for runnable items

crates/runbox-cli/tests/list.rs

  • Added test_list_all_repos_shows_repo_and_playlist_columns test
  • Added test_list_all_repos_json_includes_playlist_name test

Example Output

Before:

SHORT      TYPE       SOURCE           NAME                     TAGS
────────────────────────────────────────────────────────────────────────
abc12345   playlist   game_run[0]      tpl_game_cli             -
def67890   template   -                tpl_echo                 -

After (with --all-repos):

SHORT      TYPE       SOURCE           NAME                     TAGS   REPO                     PLAYLIST
──────────────────────────────────────────────────────────────────────────────────────────────────────────
abc12345   playlist   game_run[0]      tpl_game_cli             -      /path/to/game-repo       Card Game 2026
def67890   template   -                tpl_echo                 -      /path/to/runbox          -

Testing Evidence

All 13 list tests pass:

running 13 tests
test test_list_all_types ... ok
test test_list_all_repos_json_includes_playlist_name ... ok
test test_list_all_repos_shows_repo_and_playlist_columns ... ok
test test_list_json_output ... ok
test test_list_empty ... ok
test test_list_playlist_items ... ok
test test_list_filter_by_playlist ... ok
test test_list_verbose_shows_repo ... ok
test test_list_replays_only ... ok
test test_list_templates_only ... ok
test test_list_short_output ... ok
test test_list_limit ... ok
test test_list_invalid_type ... ok

test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

Closes

Resolves ISSUE-021

When using 'runbox list --all-repos', the output now includes:
- REPO column showing repository path (previously required --verbose)
- PLAYLIST column showing the playlist display name for playlist items

This provides better context when viewing runnables across multiple repositories.
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.

1 participant