From 8fd94c3ece20a9aa83786c659757487d0f8dc943 Mon Sep 17 00:00:00 2001 From: Itamar Haber Date: Mon, 30 Nov 2020 15:00:16 +0200 Subject: [PATCH] Adds support for nested args in cli's help (#8074) See https://github.com/redis/redis-doc/pull/1443 Also allows nameless commands. --- utils/generate-command-help.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/utils/generate-command-help.rb b/utils/generate-command-help.rb index e57acf4b9..929761b24 100755 --- a/utils/generate-command-help.rb +++ b/utils/generate-command-help.rb @@ -25,9 +25,15 @@ GROUPS_BY_NAME = Hash[* ].freeze def argument arg - name = arg["name"].is_a?(Array) ? arg["name"].join(" ") : arg["name"] - name = arg["enum"].join "|" if "enum" == arg["type"] - name = arg["command"] + " " + name if arg["command"] + if "block" == arg["type"] + name = arg["block"].map do |entry| + argument entry + end.join " " + else + name = arg["name"].is_a?(Array) ? arg["name"].join(" ") : arg["name"] + name = arg["enum"].join "|" if "enum" == arg["type"] + name = arg["command"] + (name ? " " + name : "") if arg["command"] + end if arg["multiple"] name = "#{name} [#{name} ...]" end