From c7ede29779e9dac8e473208a4fd2d3e6c35303c6 Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 22 Oct 2020 09:41:15 +0000 Subject: [PATCH] Refactor help topics to include short message --- pkg/cmd/root/help_topic.go | 84 ++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 40 deletions(-) diff --git a/pkg/cmd/root/help_topic.go b/pkg/cmd/root/help_topic.go index d88109ad3..09566df2b 100644 --- a/pkg/cmd/root/help_topic.go +++ b/pkg/cmd/root/help_topic.go @@ -5,49 +5,53 @@ import ( "github.com/spf13/cobra" ) +var HelpTopics = map[string]map[string]string{ + "environment": { + "short": "Environmental variables that can be used with gh", + "long": heredoc.Doc(` + GITHUB_TOKEN: an authentication token for github.com API requests. Setting this avoids + being prompted to authenticate and takes precedence over previously stored credentials. + + GITHUB_ENTERPRISE_TOKEN: an authentication token for API requests to GitHub Enterprise. + + GH_REPO: specify the GitHub repository in the "[HOST/]OWNER/REPO" format for commands + that otherwise operate on a local repository. + + GH_HOST: specify the GitHub hostname for commands that would otherwise assume + the "github.com" host when not in a context of an existing repository. + + GH_EDITOR, GIT_EDITOR, VISUAL, EDITOR (in order of precedence): the editor tool to use + for authoring text. + + BROWSER: the web browser to use for opening links. + + DEBUG: set to any value to enable verbose output to standard error. Include values "api" + or "oauth" to print detailed information about HTTP requests or authentication flow. + + GH_PAGER, PAGER (in order of precedence): a terminal paging program to send standard output to, e.g. "less". + + GLAMOUR_STYLE: the style to use for rendering Markdown. See + https://github.com/charmbracelet/glamour#styles + + NO_COLOR: set to any value to avoid printing ANSI escape sequences for color output. + + CLICOLOR: set to "0" to disable printing ANSI colors in output. + + CLICOLOR_FORCE: set to a value other than "0" to keep ANSI colors in output + even when the output is piped. + + GH_NO_UPDATE_NOTIFIER: set to any value to disable update notifications. By default, gh + checks for new releases once every 24 hours and displays an upgrade notice on standard + error if a newer version was found. + `), + }, +} + func NewHelpTopic(topic string) *cobra.Command { - topicContent := make(map[string]string) - - topicContent["environment"] = heredoc.Doc(` - GITHUB_TOKEN: an authentication token for github.com API requests. Setting this avoids - being prompted to authenticate and takes precedence over previously stored credentials. - - GITHUB_ENTERPRISE_TOKEN: an authentication token for API requests to GitHub Enterprise. - - GH_REPO: specify the GitHub repository in the "[HOST/]OWNER/REPO" format for commands - that otherwise operate on a local repository. - - GH_HOST: specify the GitHub hostname for commands that would otherwise assume - the "github.com" host when not in a context of an existing repository. - - GH_EDITOR, GIT_EDITOR, VISUAL, EDITOR (in order of precedence): the editor tool to use - for authoring text. - - BROWSER: the web browser to use for opening links. - - DEBUG: set to any value to enable verbose output to standard error. Include values "api" - or "oauth" to print detailed information about HTTP requests or authentication flow. - - GH_PAGER, PAGER (in order of precedence): a terminal paging program to send standard output to, e.g. "less". - - GLAMOUR_STYLE: the style to use for rendering Markdown. See - https://github.com/charmbracelet/glamour#styles - - NO_COLOR: set to any value to avoid printing ANSI escape sequences for color output. - - CLICOLOR: set to "0" to disable printing ANSI colors in output. - - CLICOLOR_FORCE: set to a value other than "0" to keep ANSI colors in output - even when the output is piped. - - GH_NO_UPDATE_NOTIFIER: set to any value to disable update notifications. By default, gh - checks for new releases once every 24 hours and displays an upgrade notice on standard - error if a newer version was found. - `) - cmd := &cobra.Command{ Use: topic, - Long: topicContent[topic], + Short: HelpTopics[topic]["short"], + Long: HelpTopics[topic]["long"], Hidden: true, Args: cobra.NoArgs, Run: helpTopicHelpFunc,