func AttemptReparse()

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
}