From 19780fa994a697966984366a54dcdfbdb7e7838c Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sat, 13 Jun 2026 15:27:54 -0500 Subject: Add theme studio default face drift summary --- scripts/theme-studio/default-face-summary.py | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 scripts/theme-studio/default-face-summary.py (limited to 'scripts/theme-studio/default-face-summary.py') diff --git a/scripts/theme-studio/default-face-summary.py b/scripts/theme-studio/default-face-summary.py new file mode 100644 index 00000000..4a163eb4 --- /dev/null +++ b/scripts/theme-studio/default-face-summary.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python3 +"""Print a concise summary of theme-studio's captured Emacs default faces.""" + +from __future__ import annotations + +import json +import pathlib +import sys + +from default_faces import DefaultFaces, changed_summary + + +HERE = pathlib.Path(__file__).resolve().parent + + +def main() -> None: + paths = [pathlib.Path(p) for p in sys.argv[1:]] + if not paths: + paths = [HERE / "emacs-default-faces.json"] + summaries = [DefaultFaces.from_path(path).summary() for path in paths] + if len(summaries) == 1: + print(json.dumps(summaries[0], indent=2, sort_keys=True)) + elif len(summaries) == 2: + print(json.dumps(changed_summary(summaries[0], summaries[1]), indent=2, sort_keys=True)) + else: + raise SystemExit("usage: default-face-summary.py [snapshot.json [snapshot-after.json]]") + + +if __name__ == "__main__": + main() -- cgit v1.2.3