A version contains around 187,000 modules. Searching is how you get from a hunch to a
file path.
Search
Three things you can match on, and they combine:
Combining --name with --source is much faster than --source alone. The name
pattern is applied to the index in memory, so only the surviving files are ever
opened. That is the difference between reading forty files and a hundred and
eighty thousand.
grep
cellar grep is shorthand for a source search.
Because the unpacked modules are ordinary files, your own tools work too:
Reading a module
Useful flags:
If the name is wrong, the error lists near matches instead of just failing.
Both commands take --json.
Chain it:
Reading results carefully
Search results report matched (the true count) separately from the hits returned,
and set truncated: true when the list was cut. A short list is never silently a
complete one. Modules that could not be read are listed under unreadable rather
than dropped.