fix: use named results in separateSkillsFrontmatter for revive lint

This commit is contained in:
DevCats 2026-05-20 02:42:40 +00:00
parent bc92a24b18
commit 17e195e4a1

View File

@ -66,14 +66,14 @@ type coderSkillsReadme struct {
// indentation in the frontmatter block. The skills README uses nested YAML // indentation in the frontmatter block. The skills README uses nested YAML
// (per-skill metadata under each source), which the indentation-trimming // (per-skill metadata under each source), which the indentation-trimming
// behavior of the shared separateFrontmatter helper destroys. // behavior of the shared separateFrontmatter helper destroys.
func separateSkillsFrontmatter(readmeText string) (string, string, error) { func separateSkillsFrontmatter(readmeText string) (frontmatter string, body string, err error) {
if readmeText == "" { if readmeText == "" {
return "", "", xerrors.New("README is empty") return "", "", xerrors.New("README is empty")
} }
const fence = "---" const fence = "---"
var fm strings.Builder var fmBuilder strings.Builder
var body strings.Builder var bodyBuilder strings.Builder
fenceCount := 0 fenceCount := 0
lineScanner := bufio.NewScanner(strings.NewReader(strings.TrimSpace(readmeText))) lineScanner := bufio.NewScanner(strings.NewReader(strings.TrimSpace(readmeText)))
@ -87,21 +87,21 @@ func separateSkillsFrontmatter(readmeText string) (string, string, error) {
break break
} }
if fenceCount >= 2 { if fenceCount >= 2 {
body.WriteString(nextLine) bodyBuilder.WriteString(nextLine)
body.WriteString("\n") bodyBuilder.WriteString("\n")
} else { } else {
fm.WriteString(nextLine) fmBuilder.WriteString(nextLine)
fm.WriteString("\n") fmBuilder.WriteString("\n")
} }
} }
if fenceCount < 2 { if fenceCount < 2 {
return "", "", xerrors.New("README does not have two sets of frontmatter fences") return "", "", xerrors.New("README does not have two sets of frontmatter fences")
} }
if strings.TrimSpace(fm.String()) == "" { if strings.TrimSpace(fmBuilder.String()) == "" {
return "", "", xerrors.New("readme has frontmatter fences but no frontmatter content") return "", "", xerrors.New("readme has frontmatter fences but no frontmatter content")
} }
return fm.String(), strings.TrimSpace(body.String()), nil return fmBuilder.String(), strings.TrimSpace(bodyBuilder.String()), nil
} }
// isPermittedSkillsIconURL validates that an icon URL references the // isPermittedSkillsIconURL validates that an icon URL references the