display_settings.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. """Display configuration settings for the CLI."""
  2. class DisplaySettings:
  3. """Centralized display configuration settings.
  4. This class holds all configurable display parameters including colors,
  5. styles, layouts, and formatting options. Modify these values to customize
  6. the CLI appearance.
  7. """
  8. # === Color Scheme ===
  9. COLOR_ERROR = "red"
  10. COLOR_WARNING = "yellow"
  11. COLOR_SUCCESS = "green"
  12. COLOR_INFO = "blue"
  13. COLOR_MUTED = "dim"
  14. # Library type colors
  15. COLOR_LIBRARY_GIT = "blue"
  16. COLOR_LIBRARY_STATIC = "yellow"
  17. # === Style Constants ===
  18. STYLE_HEADER = "bold white underline"
  19. STYLE_HEADER_ALT = "bold cyan"
  20. STYLE_DISABLED = "bright_black"
  21. STYLE_SECTION_TITLE = "bold cyan"
  22. STYLE_SECTION_DESC = "dim"
  23. STYLE_TEMPLATE_NAME = "bold white"
  24. # Table styles
  25. STYLE_TABLE_HEADER = "bold blue"
  26. STYLE_VAR_COL_NAME = "white"
  27. STYLE_VAR_COL_TYPE = "magenta"
  28. STYLE_VAR_COL_DEFAULT = "green"
  29. STYLE_VAR_COL_DESC = "white"
  30. # === Text Labels ===
  31. LABEL_REQUIRED = " [yellow](*)[/yellow]"
  32. LABEL_DISABLED = " (disabled)"
  33. TEXT_EMPTY_VALUE = "(none)"
  34. TEXT_EMPTY_OVERRIDE = "(empty)"
  35. TEXT_UNNAMED_TEMPLATE = "Unnamed Template"
  36. TEXT_NO_DESCRIPTION = "No description available"
  37. TEXT_VERSION_NOT_SPECIFIED = "Not specified"
  38. # === Value Formatting ===
  39. SENSITIVE_MASK = "********"
  40. TRUNCATION_SUFFIX = "..."
  41. VALUE_MAX_LENGTH_SHORT = 15
  42. VALUE_MAX_LENGTH_DEFAULT = 30
  43. # === Layout Constants ===
  44. SECTION_SEPARATOR_CHAR = "─"
  45. SECTION_SEPARATOR_LENGTH = 40
  46. VAR_NAME_INDENT = " " # 2 spaces
  47. # === Size Formatting ===
  48. SIZE_KB_THRESHOLD = 1024
  49. SIZE_MB_THRESHOLD = 1024 * 1024
  50. SIZE_DECIMAL_PLACES = 1
  51. # === Table Padding ===
  52. PADDING_PANEL = (1, 2)
  53. PADDING_TABLE_COMPACT = (0, 1)
  54. PADDING_TABLE_NORMAL = (0, 2)