MCPcopy Index your code
hub / github.com/google/codesearch / String

Method String

index/regexp.go:283–330  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

281}
282
283func (q *Query) String() string {
284 if q == nil {
285 return "?"
286 }
287 if q.Op == QNone {
288 return "-"
289 }
290 if q.Op == QAll {
291 return "+"
292 }
293
294 if len(q.Sub) == 0 && len(q.Trigram) == 1 {
295 return strconv.Quote(q.Trigram[0])
296 }
297
298 var (
299 s string
300 sjoin string
301 end string
302 tjoin string
303 )
304 if q.Op == QAnd {
305 sjoin = " "
306 tjoin = " "
307 } else {
308 s = "("
309 sjoin = ")|("
310 end = ")"
311 tjoin = "|"
312 }
313 for i, t := range q.Trigram {
314 if i > 0 {
315 s += tjoin
316 }
317 s += strconv.Quote(t)
318 }
319 if len(q.Sub) > 0 {
320 if len(q.Trigram) > 0 {
321 s += sjoin
322 }
323 s += q.Sub[0].String()
324 for i := 1; i < len(q.Sub); i++ {
325 s += sjoin + q.Sub[i].String()
326 }
327 }
328 s += end
329 return s
330}
331
332// RegexpQuery returns a Query for the given regexp.
333func RegexpQuery(re *syntax.Regexp) *Query {

Callers 5

cindex.goFile · 0.45
cgrep.goFile · 0.45
csearch.goFile · 0.45
TestQueryFunction · 0.45
StringMethod · 0.45

Calls

no outgoing calls

Tested by 1

TestQueryFunction · 0.36