code: func commentSelection(src []byte) Selection {
  	var s scanner.Scanner
  	fset := token.NewFileSet()
  	file := fset.AddFile("", fset.Base(), len(src))
  	s.Init(file, src, nil, scanner.ScanComments)
  	return func() (seg []int) {
  		for {
  			pos, tok, lit := s.Scan()
  			if tok == token.EOF {
  				break
  			}
  			offs := file.Offset(pos)
  			if tok == token.COMMENT {
  				seg = []int{offs, offs + len(lit)}
  				break
  			}
  		}
  		return
  	}
  }
docs: // commentSelection returns the sequence of consecutive comments
  // in the Go src text as a Selection.
  //