File tree Expand file tree Collapse file tree 2 files changed +20
-3
lines changed
Expand file tree Collapse file tree 2 files changed +20
-3
lines changed Original file line number Diff line number Diff line change 33import os
44import re
55import sys
6+ import textwrap
67from types import ModuleType
78from typing import (
89 Any ,
@@ -50,11 +51,21 @@ def format_help(self) -> str:
5051 for line in result .splitlines (keepends = True ):
5152 # All of our resources are on one line and wrapped inside braces.
5253 # For example: {application,resource1,resource2}
54+ # except if there are fewer resources - then the line and help text
55+ # are collapsed on the same line.
56+ # For example: {list} Action to execute on the GitLab resource.
5357 # We then put each resource on its own line to make it easier to read.
5458 if line .strip ().startswith ("{" ):
55- choices = line .strip ().strip ("{}" ).split ("," )
56- choices_str = f"\n { indent } " .join (choices )
57- line = f"{ indent } { choices_str } \n "
59+ choice_string , help_string = line .split ("}" , 1 )
60+ choice_list = choice_string .strip (" {" ).split ("," )
61+ help_string = help_string .strip ()
62+
63+ if help_string :
64+ help_indent = len (max (choice_list , key = len )) * " "
65+ choice_list .append (f"{ help_indent } { help_string } " )
66+
67+ choices = "\n " .join (choice_list )
68+ line = f"{ textwrap .indent (choices , indent )} \n "
5869 output += line
5970 return output
6071
Original file line number Diff line number Diff line change @@ -46,6 +46,12 @@ def test_resource_help_prints_actions_vertically(script_runner):
4646 assert ret .returncode == 0
4747
4848
49+ def test_resource_help_prints_actions_vertically_only_one_action (script_runner ):
50+ ret = script_runner .run (["gitlab" , "event" , "--help" ])
51+ assert """action:\n list\n """ in ret .stdout
52+ assert ret .returncode == 0
53+
54+
4955@pytest .mark .script_launch_mode ("inprocess" )
5056@responses .activate
5157def test_defaults_to_gitlab_com (script_runner , resp_get_project , monkeypatch ):
You can’t perform that action at this time.
0 commit comments