fork of https://github.com/sourcegraph/zoekt
1package index
2
3import "github.com/sourcegraph/zoekt"
4
5// Document holds a document (file) to index.
6type Document struct {
7 Name string
8 Content []byte
9 Branches []string
10 SubRepositoryPath string
11 Language string
12 Category FileCategory
13
14 SkipReason SkipReason
15
16 // Document sections for symbols. Offsets should use bytes.
17 Symbols []DocumentSection
18 SymbolsMetaData []*zoekt.Symbol
19}
20
21type SkipReason int
22
23const (
24 SkipReasonNone SkipReason = iota
25 SkipReasonTooLarge
26 SkipReasonTooSmall
27 SkipReasonBinary
28 SkipReasonTooManyTrigrams
29 SkipReasonMissing
30)
31
32func (s SkipReason) explanation() string {
33 switch s {
34 case SkipReasonNone:
35 return ""
36 case SkipReasonTooLarge:
37 return "exceeds the maximum size limit"
38 case SkipReasonTooSmall:
39 return "contains too few trigrams"
40 case SkipReasonBinary:
41 return "contains binary content"
42 case SkipReasonTooManyTrigrams:
43 return "contains too many trigrams"
44 case SkipReasonMissing:
45 return "object missing from repository"
46 default:
47 return "unknown skip reason"
48 }
49}
50
51type DocumentSection struct {
52 Start, End uint32
53}