Documentation ¶
Index ¶
Constants ¶
const ChannelBufferSize = 512
ChannelBufferSize is the number sources lines that can be read ahead of the correlator.
const LineBufferSize = 1e7
LineBufferSize is the maximum size of the buffer used to read each line of a raw LSIF index. Lines in LSIF can get very long as it include escaped hover text (package documentation), as well as large edges such as the contains edge of large documents.
This corresponds a 10MB buffer that can accommodate 10 million characters.
Variables ¶
var ( HoverPartSeparator = []byte("\n\n---\n\n") CodeFence = []byte("```") )
var NumUnmarshalGoRoutines = runtime.GOMAXPROCS(0)
NumUnmarshalGoRoutines is the number of goroutines launched to unmarshal individual lines.
Functions ¶
Types ¶
type Diagnostic ¶
type Interner ¶
Interner converts strings into unique identifers. Submitting the same byte value to the interner will result in the same identifier being produced. Each unique input is guaranteed to have a unique output (no two inputs share the same identifier). The identifier space of two distinct interner instances may overlap.
Assumption: The output of LSIF indexers will not generally mix types of identifiers. If integers are used, they are used for all ids. If strings are used, they are used for all ids.
type PackageInformation ¶
type StringOrInt ¶
type StringOrInt string
func (*StringOrInt) UnmarshalJSON ¶
func (id *StringOrInt) UnmarshalJSON(raw []byte) error