Documentation
¶
Overview ¶
Package ann is a generated protocol buffer package.
It is generated from these files:
ann.proto
It has these top-level messages:
Ann
Package ann defines types that represent source code annotations.
Index ¶
Constants ¶
const ( // Link is a type of annotation that refers to an arbitrary URL // (typically pointing to an external web page). Link = "link" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Ann ¶
type Ann struct {
// Repo is the VCS repository in which this ann exists.
Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"Repo,omitempty"`
// CommitID is the ID of the VCS commit that this ann exists
// in. The CommitID is always a full commit ID (40 hexadecimal
// characters for git and hg), never a branch or tag name.
CommitID string `protobuf:"bytes,2,opt,name=commit_id,proto3" json:"CommitID,omitempty"`
// UnitType is the source unit type that the annotation exists
// on. It is either the source unit type during whose processing
// the annotation was detected/created. Multiple annotations may
// exist on the same file from different source unit types if a
// file is contained in multiple source units.
UnitType string `protobuf:"bytes,3,opt,name=unit_type,proto3" json:"UnitType,omitempty"`
// Unit is the name of the source unit that this ann exists in.
Unit string `protobuf:"bytes,4,opt,name=unit,proto3" json:"Unit,omitempty"`
// File is the filename in which this Ann exists.
File string `protobuf:"bytes,5,opt,name=file,proto3" json:"File,omitempty"`
// StartLine is the line number (inclusive, 1-indexed) of the
// beginning of the annotation.
StartLine uint32 `protobuf:"varint,6,opt,name=start_line,proto3" json:"StartLine"`
// EndLine is the line number (inclusive, 1-indexed) of the end of
// the annotation.
EndLine uint32 `protobuf:"varint,7,opt,name=end_line,proto3" json:"EndLine"`
// Type is the type of the annotation. See this package's type
// constants for a list of possible types.
Type string `protobuf:"bytes,8,opt,name=type,proto3" json:"Type"`
// Data contains arbitrary JSON data that is specific to this
// annotation type (e.g., the link URL for Link annotations).
Data sourcegraph_com_sqs_pbtypes.RawMessage `protobuf:"bytes,9,opt,name=data,proto3,customtype=sourcegraph.com/sqs/pbtypes.RawMessage" json:"Data,omitempty"`
}
An Ann is a source code annotation.
Annotations are unique on (Repo, CommitID, UnitType, Unit, File, StartLine, EndLine, Type).
func (*Ann) LinkURL ¶
LinkURL parses and returns a's link URL, if a's type is Link and if its Data contains a valid URL (encoded as a JSON string).
func (*Ann) ProtoMessage ¶ added in v0.0.33
func (*Ann) ProtoMessage()
func (*Ann) SetLinkURL ¶
SetLinkURL sets a's Type to Link and Data to the JSON representation of the URL string. If the URL is invalid, an error is returned.
type ErrType ¶
type ErrType struct {
Expected, Actual string // Expected and actual types
Op string // The name of the operation or method that was called
}
ErrType indicates that an operation performed on an annotation expected the annotation to be a different type (e.g., calling LinkURL on a non-link annotation).