From 3f7e4c4708c62c7d860a5a4d16b5c58331eba1da Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 24 Jul 2026 12:14:19 -0700 Subject: [PATCH] Share the command record emitter in the CLI router Co-Authored-By: Claude Opus 5 (1M context) --- bin/omarchy | 50 ++++++++++++++++++++------------------------------ 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/bin/omarchy b/bin/omarchy index 7c1ca018..0107fb60 100755 --- a/bin/omarchy +++ b/bin/omarchy @@ -616,25 +616,31 @@ show_commands_markdown() { done < <(sorted_keys "$include_all") } +emit_command_record() { + local key="$1" + + printf '%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n' \ + "${COMMAND_ROUTE[$key]}" \ + "${COMMAND_BINARY[$key]}" \ + "${COMMAND_GROUP[$key]}" \ + "${COMMAND_NAME[$key]}" \ + "${COMMAND_SUMMARY[$key]}" \ + "${COMMAND_REQUIRES_SUDO[$key]}" \ + "${COMMAND_HIDDEN[$key]}" \ + "${COMMAND_ARGS[$key]}" \ + "${COMMAND_EXAMPLES[$key]}" \ + "${COMMAND_ALIASES[$key]}" \ + "${COMMAND_FALLBACK_ROUTE[$key]}" \ + "${COMMAND_USAGE[$key]}" +} + emit_command_records() { local include_all="$1" local key="" while IFS= read -r key; do [[ -n $key ]] || continue - printf '%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n' \ - "${COMMAND_ROUTE[$key]}" \ - "${COMMAND_BINARY[$key]}" \ - "${COMMAND_GROUP[$key]}" \ - "${COMMAND_NAME[$key]}" \ - "${COMMAND_SUMMARY[$key]}" \ - "${COMMAND_REQUIRES_SUDO[$key]}" \ - "${COMMAND_HIDDEN[$key]}" \ - "${COMMAND_ARGS[$key]}" \ - "${COMMAND_EXAMPLES[$key]}" \ - "${COMMAND_ALIASES[$key]}" \ - "${COMMAND_FALLBACK_ROUTE[$key]}" \ - "${COMMAND_USAGE[$key]}" + emit_command_record "$key" done < <(sorted_keys "$include_all") } @@ -703,23 +709,7 @@ show_commands_check() { } show_command_json() { - local key="$1" - - printf '%s\n' "$key" | while IFS= read -r key; do - printf '%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n' \ - "${COMMAND_ROUTE[$key]}" \ - "${COMMAND_BINARY[$key]}" \ - "${COMMAND_GROUP[$key]}" \ - "${COMMAND_NAME[$key]}" \ - "${COMMAND_SUMMARY[$key]}" \ - "${COMMAND_REQUIRES_SUDO[$key]}" \ - "${COMMAND_HIDDEN[$key]}" \ - "${COMMAND_ARGS[$key]}" \ - "${COMMAND_EXAMPLES[$key]}" \ - "${COMMAND_ALIASES[$key]}" \ - "${COMMAND_FALLBACK_ROUTE[$key]}" \ - "${COMMAND_USAGE[$key]}" - done | jq -Rn "$(commands_json_filter) | {ok: true, command: .commands[0]}" + emit_command_record "$1" | jq -Rn "$(commands_json_filter) | {ok: true, command: .commands[0]}" } parse_commands_args() {