diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-15 01:10:08 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-15 01:10:08 -0500 |
| commit | f6ed94cf36cdb81ac8b33f5118e9ec978d3dcd77 (patch) | |
| tree | 2723ca98e1b1318860c839cf963f3517ed641666 /todo.org | |
| parent | bd0ce6c30a3199bfa3747e5a66071991668735aa (diff) | |
| download | dotemacs-f6ed94cf36cdb81ac8b33f5118e9ec978d3dcd77.tar.gz dotemacs-f6ed94cf36cdb81ac8b33f5118e9ec978d3dcd77.zip | |
docs(design): rewrite flycheck modeline customization spec
Replaces the .ai/ draft (2025-11-14) with a corrected and tightened
version under docs/design/. The earlier draft had stale line numbers
pointing at a modeline-config.el layout that no longer exists,
conflated Option 3's risky-local-variable requirement with Option 4's
inline (:eval ...) approach, and missed the active-window gating
convention used by the rest of the modeline.
The new spec uses concrete line refs against current code, calls out
flycheck-mode-line-color (which the old draft missed), recommends
calling flycheck-mode-line-status-text directly instead of returning
the nested (:eval ...) cons, and gates the segment to active window
for consistency with cj/modeline-vc-branch and cj/modeline-misc-info.
todo.org task points at the new path and drops the broken
docs/flycheck-modeline-customization-spec.org link.
Diffstat (limited to 'todo.org')
| -rw-r--r-- | todo.org | 43 |
1 files changed, 22 insertions, 21 deletions
@@ -357,27 +357,16 @@ Design: [[file:../docs/design/debug-profiling.org][docs/design/debug-profiling.o Implement via =/start-work= against the design — branch =feat/debug-profiling=, commits decomposed along the test-first split-for-testability boundary. Once shipped, use it as the v1 exercise on the queued [#B] org-capture target-building investigation. -** TODO [#C] Review and implement flycheck modeline customization spec :feature: +** TODO [#C] Implement flycheck modeline customization :feature: -Add flycheck status (error/warning counts) to custom modeline to make it visible again. +Spec: [[file:docs/design/flycheck-modeline-customization.org][docs/design/flycheck-modeline-customization.org]] -**Spec Document:** -[[file:docs/flycheck-modeline-customization-spec.org][flycheck-modeline-customization-spec.org]] - -**Summary:** -Current custom modeline excludes minor-mode-alist where flycheck displays its status. -Need to either: -1. Add flycheck's lighter directly to mode-line-format (simplest) -2. Customize flycheck prefix/indicator and add to modeline -3. Create custom flycheck segment with full control - -**Files to Modify:** -- modules/flycheck-config.el (customize prefix/indicator) -- modules/modeline-config.el (add to mode-line-format) - -**Recommended Approach:** -Option 4 (Hybrid) from spec - customize flycheck variables + add to modeline. -Simple, maintainable, respects flycheck's built-in logic. +Custom modeline (=modules/modeline-config.el=) omits =minor-mode-alist=, +so flycheck's error/warning lighter is invisible. Fix is a two-line +=:custom= block in =flycheck-config.el= (prefix + success indicator) plus +one guarded =(:eval ...)= form in =mode-line-format=. See spec for the +active-window-gating decision, risky-local-variable note, emoji +candidates, and the manual verification walk. ** TODO [#C] Migrate from Company to Corfu (with prescient integration) :feature: @@ -865,7 +854,8 @@ Suggested review order: 6. Integrations and applications: mail, Slack, ERC, Elfeed, EWW, Dirvish, PDF, Calibre, music, recording/transcription, AI/rest tooling. -*** TODO [#B] Review foundation modules :review: +*** DONE [#B] Review foundation modules :review: +CLOSED: [2026-05-15 Fri] Scope: - =system-lib.el= @@ -899,6 +889,18 @@ Review progress: - =init.el=: reviewed 2026-05-10. See child tasks below and the existing eager load-graph architecture tasks. +Completion review 2026-05-15: +- Re-read the parent =Module-by-module review and hardening= context and the + adjacent architecture follow-up so this review stays module-specific. +- Re-checked all scoped files against the review protocol. Existing child + tasks below still cover the actionable module findings for + =user-constants.el=, =host-environment.el=, =system-defaults.el=, and + =early-init.el=. +- =system-lib.el=, =keybindings.el=, =config-utilities.el=, and =init.el= do + not need additional module-specific child tasks from this pass; remaining + concerns are already tracked by the utility-consolidation, keymap + registration, debug-profiling, and eager-load-graph architecture tasks. + **** PROJECT [#B] Split path constants from filesystem initialization in =user-constants.el= :refactor: =user-constants.el= defines paths and immediately creates directories/files at @@ -4250,4 +4252,3 @@ After =b7c6b2c=, the EPUB text block is centered with `set-window-margins' at `( Plan: in `cj/nov-update-layout', after the render, measure the actual widest line (`(save-excursion (goto-char (point-min)) (let ((m 0)) (while (not (eobp)) (end-of-line) (setq m (max m (current-column))) (forward-line 1)) m))') and center on *that* instead of on `nov-text-width'. Or, cheaper but coarser: bias the left margin by a small fudge (a column or two). The measure-the-text approach is correct; do it if it's not too slow on big chapters (it scans the buffer once per render -- the buffer's already in memory, so likely fine). =modules/calibredb-epub-config.el=, =tests/test-calibredb-epub-config.el=. - |
