Vulture ignore rules for Textual apps

Textual is a neat library for creating terminal UI applications. However, it doesn't play nice with vulture, which is a tool that detects unused code in your repo. This is because Textual accesses many of its attributes and methods internally, and Vulture does not pick up on this type of usage.

Here is are some pyproject.toml rules to make vulture ignore Textual variables:

# pyproject.toml

[tool.vulture]
ignore_names = [
  # Core methods
  "action_*", "on_*", "watch_*", "validate_*", "compute_*",
  "compose", "render", "render_line",
  # Class variables
  "BINDINGS", "CSS", "CSS_PATH", "DEFAULT_CSS", "SCOPED_CSS", "COMPONENT_CLASSES",
  "TITLE", "SUB_TITLE", "SCREENS", "MODES", "AUTO_FOCUS", "COMMANDS", "ESCAPE_TO_MINIMIZE",
  # Other
  "BORDER_TITLE", "BORDER_SUBTITLE",
  "BINDING_GROUP_TITLE", "HORIZONTAL_BREAKPOINTS", "VERTICAL_BREAKPOINTS",
  "SUSPENDED_SCREEN_CLASS", "ALLOW_SELECT", "TOOLTIP_DELAY", "NOTIFICATION_TIMEOUT",
]

Copyright Ricardo Decal. richarddecal.com