ewels/rich-click

Additional style options

Closed this issue · 1 comments

Options for panel for arguments:

ALIGN_ARGUMENTS_PANEL: "rich.align.AlignMethod" = "left"
STYLE_ARGUMENTS_TABLE_SHOW_LINES: bool = False
STYLE_ARGUMENTS_TABLE_LEADING: int = 0
STYLE_ARGUMENTS_TABLE_PAD_EDGE: bool = False
STYLE_ARGUMENTS_TABLE_PADDING: "rich.padding.PaddingDimensions" = (0, 1)
STYLE_ARGUMENTS_TABLE_BOX: "rich.style.StyleType" = ""
STYLE_ARGUMENTS_TABLE_ROW_STYLES: Optional[List["rich.style.StyleType"]] = None
STYLE_ARGUMENTS_TABLE_BORDER_STYLE: Optional["rich.style.StyleType"] = None

Box for panels:

STYLE_OPTIONS_PANEL_BOX: "rich.style.StyleType" = ""
STYLE_COMMANDS_PANEL_BOX: "rich.style.StyleType" = ""
STYLE_ARGUMENTS_PANEL_BOX: "rich.style.StyleType" = ""

Also, change types for all the boxes to Union["rich.style.StyleType", rich.box.Box"], and do an isinstance() check before running the getattr().

Resolved via #178.

I ultimately did not go with the STYLE_ARGUMENTS_* options. Instead, you can specify the styles via OPTION_GROUPS. This is actually slightly preferable in that it is, effectively, backwards compatible.