Probably it should be a new document along the lines of "scribblings/main/[user/]search.scrbl" (in the "racket-index" package) or an extra output of those documents.
And probably you want to generate a mapping from symbols to xref tags, since `xref-tag->path+anchor` can convert a tag to a URL relatively efficiently (by way of "docindex.sqlite"). At Mon, 17 Mar 2014 22:26:25 -0400, Greg Hendershott wrote: > Let's say that, given a symbol that may be a documented item -- e.g. > `case` -- I want a list of symbols representing the module(s) for > which it is documented. > > I might want this so that I can build hyperlink(s) to the > documentation for the item. Or maybe I'm doing autocomplete and just > want to see if it's documented, at all. > > How I currently do this, based on IIRC looking at racket/help source: > > (define xref (load-collections-xref)) > > (define sym-mods > ;; (symbol? . -> . (listof symbol?)) > (let ([cache #f]) > (lambda (sym) > (unless cache > (set! cache (make-hasheq)) > (prn0 "Building Racket documentation cache...") > (for ([x (in-list (xref-index xref))]) > (match x > [(entry words content tag (exported-index-desc name from-libs)) > (hash-set! cache name (append (hash-ref cache name '()) > (filter symbol? from-libs)))] > [_ (void)])) > (prn0 "...~a items" (hash-count cache))) > (hash-ref cache sym #f)))) > > And e.g. for `case` this would return '(rnrs/base-6 racket/base racket > mzscheme lang/htdp-advanced plai/mutator lazy r5rs plai/gc2/mutator). > > This works but is quite slow building the cache the first time. > > I think at least a few of us do this sort of thing. I think DrRacket > does this, racket/help does this, and some third-party tools do it (or > would do it if easier to do). So it would be great to save this cache > on-disk, and a simple function to access it. > > I started off thinking oh I should make a package for this. But now > I'm thinking it should be a pull-request. Why? Because it seems like > `raco setup` would be the entity that knows when to rebuild the cache. > Perhaps when it rebuilds the collections xref? I don't clearly > understand the whole doc xref process. Maybe there's a good reason > this doesn't already exist, or it isn't so straightforward. So I > wanted to see if folks who do know it well, have any suggestions or > ideas. > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users

