96fc33fbab1157d099263deacc579633a044f853
chmalee
  Tue Feb 3 13:24:58 2026 -0800
Adding an info icon to the new species search bar indicating the various operators that can be applied to search words, refs Hiram email

diff --git src/hg/lib/web.c src/hg/lib/web.c
index 969cd5b5c5a..d80ba6ba4b9 100644
--- src/hg/lib/web.c
+++ src/hg/lib/web.c
@@ -944,30 +944,39 @@
  * useable search bar with autocomplete */
 {
 printf("<div class='flexContainer'>\n"); // for styling purposes
 if (isNotEmpty(labelText))
     {
     printf("<label for='%s' class='%s'>%s</label>", id, isNotEmpty(labelClassStr) ? labelClassStr : "genomeSearchLabelDefault", labelText);
     }
 printf("<div class='searchBarAndButton'>\n");
 printf("<input id='%s' type='text' ", id);
 if (isNotEmpty(placeholder))
     printf("placeholder='%s' ", placeholder);
 printf("class='%s' ", isNotEmpty(classStr) ? classStr : "genomeSearchBarDefault");
 printf("></input>\n");
 if (withSearchButton)
     printf("<input id='%sButton' value='search' type='button'></input>", id);
+char *searchHelpText = "All genome searches are case-insensitive.  Single-word searches default to prefix "
+"matching if an exact match is not found. "
+"<ul id='searchTipList' class='noBullets'>"
+"<li> Force inclusion: Use a + sign before <b>+word</b> to ensure it appears in result.</li>"
+"<li> Exclude words: Use a - sign before <b>-word</b> to exclude it from the search result.</li>"
+"<li> Wildcard search: Add an * (asterisk) at end of <b>word*</b> to search for all terms starting with that prefix.</li>"
+"<li> Phrase search: Enclose 'words in quotes' to search for the exact phrase.</li>"
+"</ul>";
+printInfoIcon(searchHelpText);
 printf("</div>\n"); // the search button is grouped with the input
 printf("</div>\n");
 }
 
 static char *getDbForGenome(char *genome, struct cart *cart)
 /*
   Function to find the default database for the given Genome.
 It looks in the cart first and then, if that database's Genome matches the
 passed-in Genome, returns it. If the Genome does not match, it returns the default
 database that does match that Genome.
 
 param Genome - The Genome for which to find a database
 param cart - The cart to use to first search for a suitable database name
 return - The database matching this Genome type
 */