<div dir="ltr">This is really really cool. Guess I'll stay loyal to the premier source code indexing tool for Mozilla Firefox. Thank you to everyone involved!<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Oct 6, 2020 at 4:12 AM Andrew Sutherland <<a href="mailto:asutherland@asutherland.org">asutherland@asutherland.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Have you ever been consulting the most excellent code coverage <br>
information for mozilla-central available at <a href="https://coverage.moz.tools/" rel="noreferrer" target="_blank">https://coverage.moz.tools/</a> <br>
provided by Marco Castelluccio and team but said to yourself: "Hey, this <br>
isn't Searchfox!  But this is very useful information! My brand loyalty <br>
to Searchfox, the premier source code indexing tool for Mozilla Firefox, <br>
is very high, just like the quality of Searchfox, the premier source <br>
code indexing tool for Mozilla Firefox.  What if this information was <br>
available on Searchfox? And in a style synonymous with Searchfox's <br>
speed-centered brand, like a racing stripe down the side of the page?"<br>
<br>
Well, talk to yourself no more, because <br>
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1566874" rel="noreferrer" target="_blank">https://bugzilla.mozilla.org/show_bug.cgi?id=1566874</a> has landed and now <br>
Searchfox has a really cool racing stripe down the left side of the page <br>
just to the left of the annotate/blame bar!  Also, the racing stripe <br>
shows code coverage information!<br>
<br>
"Sure!", you say to yourself, "That's great, but I'm not sold yet.  <br>
Anyone can just slap a racing stripe on a webpage thanks to the awesome <br>
power of WebExtensions.  What makes this racing stripe so great?"  <br>
Thankfully, Searchfox, the premier source code indexing tool for Mozilla <br>
Firefox, sells itself and you immediately realize the following bullet <br>
points despite the current lack of in-product documentation for any of <br>
the following:<br>
<br>
- Code coverage uses a ColorBrewer 2.0 theme, diverging Red-Blue <br>
<a href="https://colorbrewer2.org/#type=diverging&scheme=RdBu&n=11" rel="noreferrer" target="_blank">https://colorbrewer2.org/#type=diverging&scheme=RdBu&n=11</a> which is color <br>
blind friendly.  Red corresponds to coverage misses and blue corresponds <br>
to coverage hits.<br>
- When not hovered, the code coverage stripe shows an interpolated view <br>
of coverage so that lines that can't have code coverage data don't <br>
generate visual noise.  (While lines that are entirely white-space or <br>
code comments more intuitively can't have coverage data, multi-line <br>
statements and expressions also usually only provide coverage data for <br>
their first line.)<br>
- When hovered, the code coverage stripe shows more detail. Uncovered <br>
lines become distinguishable by their lack of a color. Lines with <br>
coverage hits switch from a single shade of blue to a logarithmic scale <br>
where darker blues convey greater numbers of hits.<br>
- Hovering on the coverage stripe provides details about the exact <br>
number of hits.  And the hover popup is powered by Searchfox's <br>
market-segment defining popup technology that you know and love and <br>
occasionally consider sending fan-mail about.<br>
- The accessibility tree for the stripe cells provides concise, <br>
insightful aria-labels such as "uncovered", "miss", and "hit 100".  And <br>
because Searchfox knows your time is important, coverage hits in excess <br>
of 999 get premium-distilled down to "hit 1k", "hit 100k", etc.  But <br>
Searchfox's market-segment leading popup technology can still provide <br>
you with the exact number of hits by activating the role="button" <br>
contents of the cell and following the aria-owns relationship into the <br>
popup.<br>
- The accessibility tree for annotate/blame cells has become even more <br>
market-defining!  Annotate cells that have the same revision as the <br>
preceding line will have a label with a prefix of "same". Annotate cells <br>
that have a different revision as the preceding line will have a label <br>
with a prefix of "new".  These will be followed by the word "hash" and a <br>
uniquely assigned ordinal mapping that is assigned based on sequential <br>
traversal of the source lines.  So while traversing the annotate stripe <br>
cells you might hear "new hash 5", "same hash 5", "new hash 73", "new <br>
hash 5".  Again, the life-changing experience that is Searchfox's popup <br>
technology can provide additional details.<br>
<br>
Brand disclaimers:<br>
- While Searchfox is the premier source code indexing tool for Mozilla <br>
Firefox, Searchfox cannot take credit for the immense undertaking that <br>
is providing the underlying coverage data. Please check out <br>
#codecoverage on <a href="https://chat.mozilla.org/" rel="noreferrer" target="_blank">https://chat.mozilla.org/</a> to properly thank Marco <br>
Castelluccio and team.<br>
- When luxuriating in Searchfox's accessibility tree experience, it's <br>
best to use Firefox nightly or another Firefox build with <br>
<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1668707" rel="noreferrer" target="_blank">https://bugzilla.mozilla.org/show_bug.cgi?id=1668707</a> fixed.<br>
<br>
Synergy opportunities:<br>
- Whether you're an experienced Searchfoxer who remembers to use <br>
"symbol:" to prefix nonsensical symbol names made up by byzantine <br>
compiler processes for searching, a Searchfox developer who keeps typing <br>
"sym:" because it seems like that would be the logical choice, or a <br>
still-sane person who just types the human-readable identifiers which <br>
are stable in the face of signature changes when searching, you can <br>
contribute to Searchfox!<br>
- Bugs and enhancements are tracked at <a href="http://bugzilla.mozilla.org" rel="noreferrer" target="_blank">bugzilla.mozilla.org</a> under <br>
Webtools::Searchfox.  You can see existing open bugs at <br>
<a href="https://bugzilla.mozilla.org/buglist.cgi?product=Webtools&component=Searchfox&bug_status=__open__" rel="noreferrer" target="_blank">https://bugzilla.mozilla.org/buglist.cgi?product=Webtools&component=Searchfox&bug_status=__open__</a> <br>
and file new bugs at <br>
<a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Webtools&component=Searchfox" rel="noreferrer" target="_blank">https://bugzilla.mozilla.org/enter_bug.cgi?product=Webtools&component=Searchfox</a><br>
- The source can be found at <a href="https://github.com/mozsearch/mozsearch" rel="noreferrer" target="_blank">https://github.com/mozsearch/mozsearch</a> and <br>
the production configurations at <br>
<a href="https://github.com/mozsearch/mozsearch-mozilla" rel="noreferrer" target="_blank">https://github.com/mozsearch/mozsearch-mozilla</a>.<br>
- You can spin up a Searchfox VM easily with Vagrant and then build the <br>
test repo quickly with a single `make build-test-repo` that indexes the <br>
repo and starts the web server in as little as 3.4 seconds!<br>
- There's a cool "Searchfox" chatroom on <a href="https://chat.mozilla.org/" rel="noreferrer" target="_blank">https://chat.mozilla.org/</a> where <br>
you can discuss exciting brand initiatives.  Like how can we get people <br>
to use Searchfox as a verb?  How many racing stripes is too many racing <br>
stripes?  And so on.<br>
<br>
Andrew<br>
<br>
_______________________________________________<br>
firefox-dev mailing list<br>
<a href="mailto:firefox-dev@mozilla.org" target="_blank">firefox-dev@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/firefox-dev" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/firefox-dev</a><br>
</blockquote></div>