diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-15 12:30:30 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-15 12:30:30 -0500 |
| commit | 3367f238927a9c17c6429025bc913e913efb60ce (patch) | |
| tree | af2db140f3de11ea4bbec9e0c336023f09f6e024 /todo.org | |
| parent | 4c623eff69aca86026a4985f0ebf004989ab0d2d (diff) | |
| download | dotemacs-3367f238927a9c17c6429025bc913e913efb60ce.tar.gz dotemacs-3367f238927a9c17c6429025bc913e913efb60ce.zip | |
feat(face-diagnostic): Phase 3 per-face provenance trace
Add group 5 to the diagnostic core: per-face provenance. cj/--face-diag-provenance reports, for each named face in the stack, which themes set it (theme-face), whether config saved or customized it (saved-face / customized-face), its :inherit chain, and the attributes still unspecified after inherit-following (the ones that fall through to the default -- the direct read on the all-white-elfeed class of bug). The version-sensitive theme-face / saved-face internals sit behind small accessors that treat missing properties as absent rather than erroring. 30 ERT tests, byte-compile clean.
Diffstat (limited to 'todo.org')
| -rw-r--r-- | todo.org | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -50,8 +50,8 @@ Read-only popup diagnosing why text at point paints as it does (face stack by so modules/face-diagnostic.el: cj/--face-diagnosis-at returns groups 0-2 (buffer classification, character context, face stack by source) via small pure helpers. 17 ERT tests (tests/test-face-diagnostic.el), byte-compile clean. Not yet wired into init.el; the interactive command and keybinding land in Phase 4. *** 2026-06-15 Mon @ 12:26:52 -0500 Phase 2 — merged attributes + real font landed cj/--face-diag-merged-attributes folds the ordered, remap-expanded spec stack ("computed"); cj/--face-diag-real-font reports font-at or "unavailable" under batch. Settles spec decision #7 (hand-fold, tested on overlay-over-text-prop, default-remap, and face-symbol fixtures). 23 ERT tests total, byte-compile clean. -*** TODO Phase 3 — provenance trace -Add group 5: per-face theme/config/inherit provenance and the unspecified->fallback resolution, behind small accessors isolating the theme-face / saved-face internals. Fixtures: a face set via a loaded theme, via set-face-attribute, and one attribute left unspecified. +*** 2026-06-15 Mon @ 12:30:30 -0500 Phase 3 — provenance trace landed +cj/--face-diag-provenance returns per-face provenance: themes from theme-face, config from saved/customized-face, the :inherit chain, and the attributes still unspecified that fall to the default. Version-sensitive internals sit behind small tolerant accessors. 30 ERT tests total, byte-compile clean. *** TODO Phase 4 — render + popup wiring cj/describe-face-at-point, the read-only mode with face buttons, region-scan mode, and placement/dismissal via the unified-popup rules. Settle the command name and keybinding here. Render function tested on a captured plist; live smoke test. ** TODO [#D] Face diagnostic popup — theme-studio bridge (vNext) :feature: |
