Changes are broken down in to multiples commits to hopefully make reviewing easy. 1 commit for the slog change and then a commit per Go file for style changes. Style changes are generally: - try to use full sentences for all comments - try to stick to 120 column lines (not strict) instead of 80 - try to one line as many `call function, check if err != nil` blocks as possible (ex: only err or variables are not reused outside the if statement) - try to use `err` or `errs` for all return type names, previously used `problems` in some cases but `errs` in others - some minor readability changes - `Todo` -> `TODO`, sometimes also useful to do `TODO (name):` to make it easier to find things a specific author meant to follow up on - comments for types/functions should generally start with `// FunctionName/TypeName ...` --------- Signed-off-by: Callum Styan <callumstyan@gmail.com>
31 lines
745 B
Go
31 lines
745 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"golang.org/x/xerrors"
|
|
)
|
|
|
|
// validationPhaseError represents an error that occurred during a specific phase of README validation. It should be
|
|
// used to collect ALL validation errors that happened during a specific phase, rather than the first one encountered.
|
|
type validationPhaseError struct {
|
|
phase validationPhase
|
|
errors []error
|
|
}
|
|
|
|
var _ error = validationPhaseError{}
|
|
|
|
func (vpe validationPhaseError) Error() string {
|
|
msg := fmt.Sprintf("Error during %q phase of README validation:", vpe.phase)
|
|
for _, e := range vpe.errors {
|
|
msg += fmt.Sprintf("\n- %v", e)
|
|
}
|
|
msg += "\n"
|
|
|
|
return msg
|
|
}
|
|
|
|
func addFilePathToError(filePath string, err error) error {
|
|
return xerrors.Errorf("%q: %v", filePath, err)
|
|
}
|