af3a143571e5aa064eab75c34f9444b35413b562
chmalee
  Tue Nov 30 15:28:15 2021 -0800
Add snippet support to trix searching. Required changing the
wordPos from the first highest matching wordIndex to the
wordIndex of the actual span. Have trixContextIndex create a
second level index for fast retrieval of line offsets in
original text file used by ixIxx. Create a simple UI for navigating
hgFind search results.

diff --git src/hg/lib/trackHub.c src/hg/lib/trackHub.c
index b381253..b7ac5b6 100644
--- src/hg/lib/trackHub.c
+++ src/hg/lib/trackHub.c
@@ -1254,34 +1254,34 @@
     if (tdb->parent != NULL)
 	polishOneTrack(hub, tdb->parent, nameHash);
     next = tdb->next;
     polishOneTrack(hub, tdb, nameHash);
     if (tdb->subtracks != NULL)
 	{
 	trackHubPolishTrackNames(hub, tdb->subtracks);
 	}
     }
 }
 
 
 
 
 
-void trackHubFindPos(struct cart *cart, char *db, char *term, struct hgPositions *hgp)
+void trackHubFindPos(struct cart *cart, char *db, char *term, struct hgPositions *hgp, boolean measureTiming)
 /* Look for term in track hubs.  Update hgp if found */
 {
-findBigBedPosInTdbList(cart, db, hubCollectTracks(db, NULL), term, hgp, NULL);
+findBigBedPosInTdbList(cart, db, hubCollectTracks(db, NULL), term, hgp, NULL, measureTiming);
 }
 
 static void parseBlatPcrParams(char *database, char *type, char *setting,
                                char **pHost, char **pPort, char **pGenomeDataDir)
 /* parser parameters for either blat or pcr */
 {
 char *conf = trimSpaces(cloneString(setting));
 int numWords = chopByWhite(conf, NULL, 5);
 if ((numWords < 2) || (numWords > 4))
     errAbort("invalid configuration for hub %s server, expect 2 or 4 arguments: %s", type, setting);
 char *words[4];
 chopByWhite(conf, words, numWords);
 
 *pHost = words[0];
 *pPort = words[1];