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)
30
31func (s SkipReason) explanation() string {
32 switch s {
33 case SkipReasonNone:
34 return ""
35 case SkipReasonTooLarge:
36 return "exceeds the maximum size limit"
37 case SkipReasonTooSmall:
38 return "contains too few trigrams"
39 case SkipReasonBinary:
40 return "contains binary content"
41 case SkipReasonTooManyTrigrams:
42 return "contains too many trigrams"
43 default:
44 return "unknown skip reason"
45 }
46}
47
48type DocumentSection struct {
49 Start, End uint32
50}