aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/face_specs.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/theme-studio/face_specs.py')
-rw-r--r--scripts/theme-studio/face_specs.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/scripts/theme-studio/face_specs.py b/scripts/theme-studio/face_specs.py
index 20894cd6d..697eec50f 100644
--- a/scripts/theme-studio/face_specs.py
+++ b/scripts/theme-studio/face_specs.py
@@ -5,22 +5,32 @@ from __future__ import annotations
from typing import Any
+# The full per-face attribute model. inherit and height live here (every tier
+# can set them now, not just packages). bold/italic/underline/strike stay as the
+# legacy booleans for this phase; the weight/slant/underline-object cutover lands
+# with the editor widgets that force it. distant-fg, family, overline, inverse,
+# and extend are added in their final shape (no legacy form to migrate).
STYLE_DEFAULTS: dict[str, Any] = {
"fg": None,
"bg": None,
+ "distant-fg": None,
+ "family": None,
"bold": False,
"italic": False,
"underline": False,
"strike": False,
+ "overline": None,
"box": None,
-}
-
-PACKAGE_DEFAULTS: dict[str, Any] = {
- **STYLE_DEFAULTS,
+ "inverse": False,
+ "extend": False,
"inherit": None,
- "height": 1,
+ "height": None,
}
+# Kept as a distinct name for callers, but inherit/height are no longer
+# package-only, so the package defaults are now the same full set.
+PACKAGE_DEFAULTS: dict[str, Any] = dict(STYLE_DEFAULTS)
+
def face_spec(spec: dict[str, Any] | None = None, *, package: bool = False) -> dict[str, Any]:
out = dict(PACKAGE_DEFAULTS if package else STYLE_DEFAULTS)