mirror of
https://github.com/golang/go
synced 2024-11-25 04:57:56 -07:00
godoc: proper file path conversion for remote search
R=rsc CC=golang-dev https://golang.org/cl/664041
This commit is contained in:
parent
f9d6af9fb8
commit
b037bfa684
@ -1,4 +1,5 @@
|
|||||||
QUERY = {Query}
|
QUERY
|
||||||
|
{Query}
|
||||||
|
|
||||||
{.section Accurate}
|
{.section Accurate}
|
||||||
{.or}
|
{.or}
|
||||||
@ -21,7 +22,7 @@ package {Pak.Name}
|
|||||||
{.repeated section Files}
|
{.repeated section Files}
|
||||||
{.repeated section Groups}
|
{.repeated section Groups}
|
||||||
{.repeated section Infos}
|
{.repeated section Infos}
|
||||||
{File.Path|url-src}:{@|infoLine}
|
{File.Path}:{@|infoLine}
|
||||||
{.end}
|
{.end}
|
||||||
{.end}
|
{.end}
|
||||||
{.end}
|
{.end}
|
||||||
@ -36,7 +37,7 @@ package {Pak.Name}
|
|||||||
{.repeated section Files}
|
{.repeated section Files}
|
||||||
{.repeated section Groups}
|
{.repeated section Groups}
|
||||||
{.repeated section Infos}
|
{.repeated section Infos}
|
||||||
{File.Path|url-src}:{@|infoLine}
|
{File.Path}:{@|infoLine}
|
||||||
{.end}
|
{.end}
|
||||||
{.end}
|
{.end}
|
||||||
{.end}
|
{.end}
|
||||||
|
@ -1394,5 +1394,29 @@ type IndexServer struct{}
|
|||||||
|
|
||||||
func (s *IndexServer) Lookup(query *Query, result *SearchResult) os.Error {
|
func (s *IndexServer) Lookup(query *Query, result *SearchResult) os.Error {
|
||||||
*result = lookup(query.Query)
|
*result = lookup(query.Query)
|
||||||
|
if hit := result.Hit; hit != nil {
|
||||||
|
// the hitlists contain absolute server file paths;
|
||||||
|
// convert them into relative paths on the server
|
||||||
|
// because the client usually has a different file
|
||||||
|
// mapping
|
||||||
|
mapHitList(hit.Decls)
|
||||||
|
mapHitList(hit.Others)
|
||||||
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
func mapHitList(list HitList) {
|
||||||
|
for _, prun := range list {
|
||||||
|
for _, frun := range prun.Files {
|
||||||
|
// convert absolute file paths to relative paths
|
||||||
|
f := frun.File
|
||||||
|
if f != nil && len(f.Path) > 0 && f.Path[0] == '/' {
|
||||||
|
f.Path = relativePath(f.Path)
|
||||||
|
}
|
||||||
|
// TODO(gri) convert SpotInfos containing snippets
|
||||||
|
// so that the line number is available
|
||||||
|
// on the client side
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user