in internal/parser/parser_utils.go [100:124]
func AttemptReparse(content string, lineNum uint32) (updatedContent, fieldName string, isNewBlock bool, err error) {
lineContents := strings.Split(content, "\n")
if lineNum < 0 || int(lineNum) >= len(lineContents) {
return "", "", false, fmt.Errorf("invalid line number")
}
lineContent := strings.TrimSpace(lineContents[lineNum])
if lineContent == "" {
return "", "", true, fmt.Errorf("empty line content")
}
fieldParts := strings.Split(lineContent, "=")
if len(fieldParts) == 0 {
return "", "", true, fmt.Errorf("invalid line content")
}
updatedContent = strings.Join(lineContents[:lineNum], "\n") + "\n\n" + strings.Join(lineContents[lineNum+1:], "\n")
fieldName = strings.TrimSpace(fieldParts[0])
if fieldName == "" {
return "", "", true, fmt.Errorf("invalid field name")
}
return updatedContent, fieldName, false, nil
}