diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-13 15:27:54 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-13 15:27:54 -0500 |
| commit | 319a12fc1f85e19991a5aabdea6832da02e342d3 (patch) | |
| tree | 833c5b8dd9940f94835e72dbfccdeb5f47293911 /scripts/theme-studio/default-face-summary.py | |
| parent | d02d6dcea6469820143eabcbe82754eaa083c47c (diff) | |
| download | dotemacs-319a12fc1f85e19991a5aabdea6832da02e342d3.tar.gz dotemacs-319a12fc1f85e19991a5aabdea6832da02e342d3.zip | |
Add theme studio default face drift summary
Diffstat (limited to 'scripts/theme-studio/default-face-summary.py')
| -rw-r--r-- | scripts/theme-studio/default-face-summary.py | 30 |
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 000000000..4a163eb4f --- /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() |
