Skip to content

Give the dashboard more to say, and let both reports fold - #2132

Merged
bbatsov merged 1 commit into
masterfrom
feature/dashboard-content
Jul 27, 2026
Merged

Give the dashboard more to say, and let both reports fold#2132
bbatsov merged 1 commit into
masterfrom
feature/dashboard-content

Conversation

@bbatsov

@bbatsov bbatsov commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Follow-up to #2131, with a few ideas borrowed from packages that solve the same
problem.

The dashboard reported plenty about how Projectile sees a project and almost
nothing about the project itself. It now has a "Notable files" section linking
the things you actually open first - README, changelog, license, the project
type's own manifest, the .projectile - all resolved from the single directory
listing it was already doing, so the section is free. Alongside them: how many
of the project's buffers are open, and how many ignore patterns are in effect.

not indexed yet used to be a dead end. It now comes with an [index now]
button that warms the cache in the background - Flycheck's verify-setup trick
of putting the fix next to the diagnosis, which is worth stealing wholesale.

Both buffers now set up outline-minor-mode over their sections. The heading
regexp is just [A-Z]: section titles are capitalized and every field label is
lowercase, so that distinction was already there for free. That gets folding
without depending on magit-section, which would drag in compat 31, cond-let
and llama for a package whose only dependency today is compat.

Their footers also derive the keys they advertise with substitute-command-keys
(another Flycheck habit) rather than hardcoding w, so a rebind can't make the
hint lie. There's a spec that rebinds the copy key and checks the footer follows.

The dashboard reported what Projectile knows about a project but not
much about the project itself. It now links the files a person actually
opens first - README, changelog, license, the type's own manifest, the
.projectile - all found in the single directory listing it already had
to do. Alongside them: how many project buffers are open, and how many
ignore patterns are in effect.

The uncached case used to be a dead end that said 'not indexed yet' and
left you to it; it now offers to index in the background, which is the
Flycheck trick of putting the fix next to the diagnosis.

Both buffers also set outline-minor-mode over their sections. Section
titles are capitalized and every field label is lowercase, so that one
distinction is the entire heading regexp - folding for free, with no
dependency on magit-section. Their footers now look up the keys they
advertise instead of hardcoding them, so a rebind can't make them lie.
@bbatsov
bbatsov merged commit 13f9a59 into master Jul 27, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant