Comment blocks in cmd/minstrel and 30 smaller internal packages, rewritten
to rule 32's standard with each citation read in context: task, milestone
and rule ids go, and so do the stories they were attached to ("used to",
"Before #N", measurements from one install, quotes, pointers to Fabled
Librarian's records and to docs/superpowers files that are not in the
repo). Where a story wrapped a real constraint, the constraint stays as a
present-tense fact.
Comments that had gone stale are corrected:
- taste.Config: the tuned values are overlaid by internal/recsettings;
it is no longer "a later follow-up".
- StorageConfig: the data dir holds art, caches and the stream secret,
not only playlist covers.
- the Subsonic album list and getUser comments describe what they do
today rather than a milestone that would change it.
Checked: the non-comment token stream of every changed file matches
HEAD, and gofmt -l is empty.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
16 lines
550 B
Go
16 lines
550 B
Go
// Package words says counts in English for what the server writes to people:
|
|
// notifications, emails, the reasons a scan or a match gives.
|
|
package words
|
|
|
|
import "strconv"
|
|
|
|
// Count says n with the noun that agrees with it: "1 track", "3 tracks". The
|
|
// noun may carry its verb ("track went missing" / "tracks went missing").
|
|
// The web app's plural() is the same thing on the other side.
|
|
func Count[N ~int | ~int32 | ~int64](n N, one, many string) string {
|
|
if n == 1 {
|
|
return "1 " + one
|
|
}
|
|
return strconv.FormatInt(int64(n), 10) + " " + many
|
|
}
|