func SplitOutsideBrackets()

in internal/utils/files_utils.go [124:155]


func SplitOutsideBrackets(s string) []string {
	var result []string
	var current strings.Builder
	inBrackets := false

	for _, char := range s {
		switch char {
		case '[':
			inBrackets = true
			current.WriteRune(char)
		case ']':
			inBrackets = false
			current.WriteRune(char)
		case ',':
			if inBrackets {
				current.WriteRune(char)
			} else {
				result = append(result, current.String())
				current.Reset()
			}
		default:
			current.WriteRune(char)
		}
	}

	// Add the last part
	if current.Len() > 0 {
		result = append(result, current.String())
	}

	return result
}