aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/default-face-summary.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/theme-studio/default-face-summary.py')
-rw-r--r--scripts/theme-studio/default-face-summary.py30
1 files changed, 30 insertions, 0 deletions
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()