File tree Expand file tree Collapse file tree 2 files changed +19
-3
lines changed Expand file tree Collapse file tree 2 files changed +19
-3
lines changed Original file line number Diff line number Diff line change 3
3
import os
4
4
import re
5
5
import sys
6
+ import textwrap
6
7
from types import ModuleType
7
8
from typing import (
8
9
Any ,
@@ -50,11 +51,20 @@ def format_help(self) -> str:
50
51
for line in result .splitlines (keepends = True ):
51
52
# All of our resources are on one line and wrapped inside braces.
52
53
# For example: {application,resource1,resource2}
54
+ # except if there are few resources, then the line and help text
55
+ # are collapsed on the same line
56
+ # For exemple: {list} Action to execute on the GitLab resource.
53
57
# We then put each resource on its own line to make it easier to read.
54
58
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
+ choices , help_str = line .split ("}" , 1 )
60
+ if help_str .strip ():
61
+ help_str = f"{ ' ' * (len (choices ) + 1 )} { help_str } "
62
+ else :
63
+ help_str = None
64
+ choices_str = textwrap .indent (choices .strip (" {" ).replace ("," , "\n " ), indent )
65
+ line = f"{ choices_str } \n "
66
+ if help_str :
67
+ line += f"{ help_str } " # includes a \n
58
68
output += line
59
69
return output
60
70
Original file line number Diff line number Diff line change @@ -46,6 +46,12 @@ def test_resource_help_prints_actions_vertically(script_runner):
46
46
assert ret .returncode == 0
47
47
48
48
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
+
49
55
@pytest .mark .script_launch_mode ("inprocess" )
50
56
@responses .activate
51
57
def test_defaults_to_gitlab_com (script_runner , resp_get_project , monkeypatch ):
You can’t perform that action at this time.
0 commit comments