1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
"""Shared face-spec defaults for theme-studio generation."""
from __future__ import annotations
from typing import Any
STYLE_DEFAULTS: dict[str, Any] = {
"fg": None,
"bg": None,
"bold": False,
"italic": False,
"underline": False,
"strike": False,
}
PACKAGE_DEFAULTS: dict[str, Any] = {
**STYLE_DEFAULTS,
"inherit": None,
"height": 1,
"box": None,
}
def face_spec(spec: dict[str, Any] | None = None, *, package: bool = False) -> dict[str, Any]:
out = dict(PACKAGE_DEFAULTS if package else STYLE_DEFAULTS)
if spec:
out.update(spec)
return out
def ui_face_spec(spec: dict[str, Any] | None = None) -> dict[str, Any]:
return face_spec(spec, package=False)
def package_face_spec(spec: dict[str, Any] | None = None) -> dict[str, Any]:
return face_spec(spec, package=True)
|