Documentation
ΒΆ
Index ΒΆ
- func CleanPath(path, workdir string) string
- func RunFromResult(ctx context.Context, c CommentService, results []*CheckResult, ...) error
- type BulkCommentService
- type CheckResult
- type CheckStyleError
- type CheckStyleFile
- type CheckStyleParser
- type CheckStyleResult
- type Comment
- type CommentService
- type DiffCmd
- type DiffService
- type DiffString
- type ErrorformatParser
- type FilteredCheck
- type FilteredCheckMap
- type Parser
- type ParserOpt
- type RawCommentWriter
- type Result
- type ResultMap
- type Reviewdog
- type UnifiedCommentWriter
Examples ΒΆ
Constants ΒΆ
This section is empty.
Variables ΒΆ
This section is empty.
Functions ΒΆ
func CleanPath ΒΆ
CleanPath clean up given path. If workdir is not empty, it returns relative path to the given workdir.
func RunFromResult ΒΆ
func RunFromResult(ctx context.Context, c CommentService, results []*CheckResult, filediffs []*diff.FileDiff, strip int, toolname string) error
Types ΒΆ
type BulkCommentService ΒΆ
type BulkCommentService interface {
CommentService
Flush(context.Context) error
}
BulkCommentService posts comments all at once when Flush() is called. Flush() will be called at the end of reviewdog run.
type CheckResult ΒΆ
type CheckResult struct {
Path string // relative file path
Lnum int // line number
Col int // column number (1 <tab> == 1 character column)
Message string // error message
Lines []string // Original error lines (often one line)
}
CheckResult represents a checked result of static analysis tools. :h error-file-format
type CheckStyleError ΒΆ
type CheckStyleError struct {
Column int `xml:"column,attr,omitempty"`
Line int `xml:"line,attr"`
Message string `xml:"message,attr"`
Severity string `xml:"severity,attr,omitempty"`
Source string `xml:"source,attr,omitempty"`
}
CheckStyleError represents <error line="1" column="10" severity="error" message="msg" source="src" />
type CheckStyleFile ΒΆ
type CheckStyleFile struct {
Name string `xml:"name,attr"`
Errors []*CheckStyleError `xml:"error"`
}
CheckStyleFile represents <file name="fname"><error ... />...</file>
type CheckStyleParser ΒΆ
type CheckStyleParser struct{}
CheckStyleParser is checkstyle parser.
func (*CheckStyleParser) Parse ΒΆ
func (p *CheckStyleParser) Parse(r io.Reader) ([]*CheckResult, error)
type CheckStyleResult ΒΆ
type CheckStyleResult struct {
XMLName xml.Name `xml:"checkstyle"`
Version string `xml:"version,attr"`
Files []*CheckStyleFile `xml:"file,omitempty"`
}
CheckStyleResult represents checkstyle XML result. <?xml version="1.0" encoding="utf-8"?><checkstyle version="4.3"><file ...></file>...</checkstyle>
References:
type Comment ΒΆ
type Comment struct {
*CheckResult
Body string
LnumDiff int
ToolName string
}
Comment represents a reported result as a comment.
type CommentService ΒΆ
CommentService is an interface which posts Comment.
func MultiCommentService ΒΆ
func MultiCommentService(services ...CommentService) CommentService
MultiCommentService creates a comment service that duplicates its post to all the provided comment services.
type DiffCmd ΒΆ
type DiffCmd struct {
// contains filtered or unexported fields
}
type DiffService ΒΆ
DiffService is an interface which get diff.
func NewDiffString ΒΆ
func NewDiffString(diff string, strip int) DiffService
type DiffString ΒΆ
type DiffString struct {
// contains filtered or unexported fields
}
func (*DiffString) Strip ΒΆ
func (d *DiffString) Strip() int
type ErrorformatParser ΒΆ
type ErrorformatParser struct {
// contains filtered or unexported fields
}
ErrorformatParser is errorformat parser.
func NewErrorformatParser ΒΆ
func NewErrorformatParser(efm *errorformat.Errorformat) *ErrorformatParser
NewErrorformatParser returns a new ErrorformatParser.
func NewErrorformatParserString ΒΆ
func NewErrorformatParserString(efms []string) (*ErrorformatParser, error)
NewErrorformatParserString returns a new ErrorformatParser from errorformat in string representation.
func (*ErrorformatParser) Parse ΒΆ
func (p *ErrorformatParser) Parse(r io.Reader) ([]*CheckResult, error)
type FilteredCheck ΒΆ
type FilteredCheck struct {
*CheckResult
InDiff bool
LnumDiff int
}
FilteredCheck represents CheckResult with filtering info.
func FilterCheck ΒΆ
func FilterCheck(results []*CheckResult, diff []*diff.FileDiff, strip int, wd string) []*FilteredCheck
FilterCheck filters check results by diff. It doesn't drop check which is not in diff but set FilteredCheck.InDiff field false.
type FilteredCheckMap ΒΆ added in v0.9.13
type FilteredCheckMap struct {
// contains filtered or unexported fields
}
FilteredCheckMap represents a concurrent-safe map to store CheckResults generated by concurrent jobs.
func (*FilteredCheckMap) Len ΒΆ added in v0.9.13
func (rm *FilteredCheckMap) Len() int
Len returns the length of FilteredCheckMap count. Len() is not yet officially not supported by Go. (ref: https://github.com/golang/go/issues/20680)
func (*FilteredCheckMap) Load ΒΆ added in v0.9.13
func (rm *FilteredCheckMap) Load(key string) ([]*FilteredCheck, error)
Load fetches []*FilteredCheck from FilteredCheckMap
func (*FilteredCheckMap) Range ΒΆ added in v0.9.13
func (rm *FilteredCheckMap) Range(f func(key string, val []*FilteredCheck))
Range retrieves `key` and `values` from FilteredCheckMap iteratively.
func (*FilteredCheckMap) Store ΒΆ added in v0.9.13
func (rm *FilteredCheckMap) Store(key string, r []*FilteredCheck)
Store saves a new []*FilteredCheck into FilteredCheckMap.
type Parser ΒΆ
type Parser interface {
Parse(r io.Reader) ([]*CheckResult, error)
}
Parser is an interface which parses compilers, linters, or any tools results.
func NewCheckStyleParser ΒΆ
func NewCheckStyleParser() Parser
NewCheckStyleParser returns a new CheckStyleParser.
type ParserOpt ΒΆ
ParserOpt represents option to create Parser. Either FormatName or Errorformat should be specified.
type RawCommentWriter ΒΆ
type RawCommentWriter struct {
// contains filtered or unexported fields
}
RawCommentWriter is comment writer which writes results to given writer without any formatting.
func NewRawCommentWriter ΒΆ
func NewRawCommentWriter(w io.Writer) *RawCommentWriter
type Result ΒΆ added in v0.9.13
type Result struct {
Level string
CheckResults []*CheckResult
}
type ResultMap ΒΆ
type ResultMap struct {
// contains filtered or unexported fields
}
ResultMap represents a concurrent-safe map to store CheckResults generated by concurrent jobs.
func (*ResultMap) Len ΒΆ
Len returns the length of ResultMap count. Len() is not yet officially not supported by Go. (ref: https://github.com/golang/go/issues/20680)
type Reviewdog ΒΆ
type Reviewdog struct {
// contains filtered or unexported fields
}
Reviewdog represents review dog application which parses result of compiler or linter, get diff and filter the results by diff, and report filtered results.
Example ΒΆ
difftext := `diff --git a/golint.old.go b/golint.new.go
index 34cacb9..a727dd3 100644
--- a/golint.old.go
+++ b/golint.new.go
@@ -2,6 +2,12 @@ package test
var V int
+var NewError1 int
+
// invalid func comment
func F() {
}
+
+// invalid func comment2
+func F2() {
+}
`
lintresult := `golint.new.go:3:5: exported var V should have comment or be unexported
golint.new.go:5:5: exported var NewError1 should have comment or be unexported
golint.new.go:7:1: comment on exported function F should be of the form "F ..."
golint.new.go:11:1: comment on exported function F2 should be of the form "F2 ..."
`
efm, _ := errorformat.NewErrorformat([]string{`%f:%l:%c: %m`})
p := NewErrorformatParser(efm)
c := NewRawCommentWriter(os.Stdout)
d := NewDiffString(difftext, 1)
app := NewReviewdog("tool name", p, c, d)
app.Run(context.Background(), strings.NewReader(lintresult))
Output: golint.new.go:5:5: exported var NewError1 should have comment or be unexported golint.new.go:11:1: comment on exported function F2 should be of the form "F2 ..."
func NewReviewdog ΒΆ
func NewReviewdog(toolname string, p Parser, c CommentService, d DiffService) *Reviewdog
NewReviewdog returns a new Reviewdog.
type UnifiedCommentWriter ΒΆ
type UnifiedCommentWriter struct {
// contains filtered or unexported fields
}
UnifiedCommentWriter is comment writer which writes results to given writer in one of following unified formats.
Format:
- <file>: [<tool name>] <message>
- <file>:<lnum>: [<tool name>] <message>
- <file>:<lnum>:<col>: [<tool name>] <message>
where <message> can be multiple lines.
func NewUnifiedCommentWriter ΒΆ
func NewUnifiedCommentWriter(w io.Writer) *UnifiedCommentWriter
Source Files
ΒΆ
Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
Package cienv provides utility for environment variable in CI services.
|
Package cienv provides utility for environment variable in CI services. |
|
cmd
|
|
|
reviewdog
command
|
|
|
Package diff provides a utility to parse unified diff.
|
Package diff provides a utility to parse unified diff. |
|
appengine
command
|
|
|
appengine/statik
Package statik contains static assets.
|
Package statik contains static assets. |
|
Package project provides utility for reviewdog execution based on project config.
|
Package project provides utility for reviewdog execution based on project config. |
|
scripts
|
|
|
trigger-depup
module
|
|
|
service
|
|





