Fix up the [Client] [Server] stupid shit
This commit is contained in:
33
class.go
33
class.go
@@ -167,13 +167,40 @@ func ParseClass(file string) (*Class, error) {
|
|||||||
}
|
}
|
||||||
className := strings.TrimSpace(class.Text())
|
className := strings.TrimSpace(class.Text())
|
||||||
// Clean up class name to be a valid Lua identifier
|
// Clean up class name to be a valid Lua identifier
|
||||||
// Replace spaces and special characters with underscores
|
// Handle [Client], [Server] patterns as affixes
|
||||||
className = strings.ReplaceAll(className, " ", "_")
|
// Replace "Class [Client]" with "Class_Client"
|
||||||
|
// Replace "Class [Client] [Client] : Parent" with "Class_Client_Client_Parent"
|
||||||
|
|
||||||
|
// First, handle the inheritance part (after ":")
|
||||||
|
if strings.Contains(className, " : ") {
|
||||||
|
parts := strings.Split(className, " : ")
|
||||||
|
if len(parts) == 2 {
|
||||||
|
className = parts[0] + "_" + parts[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle [Client] and [Server] patterns
|
||||||
|
// Replace "[Client]" with "_Client"
|
||||||
|
className = strings.ReplaceAll(className, "[Client]", "_Client")
|
||||||
|
className = strings.ReplaceAll(className, "[Server]", "_Server")
|
||||||
|
|
||||||
|
// Remove any remaining brackets and clean up
|
||||||
className = strings.ReplaceAll(className, "[", "")
|
className = strings.ReplaceAll(className, "[", "")
|
||||||
className = strings.ReplaceAll(className, "]", "")
|
className = strings.ReplaceAll(className, "]", "")
|
||||||
className = strings.ReplaceAll(className, ":", "_")
|
|
||||||
className = strings.ReplaceAll(className, "-", "_")
|
className = strings.ReplaceAll(className, "-", "_")
|
||||||
className = strings.ReplaceAll(className, ",", "")
|
className = strings.ReplaceAll(className, ",", "")
|
||||||
|
|
||||||
|
// Replace spaces with underscores
|
||||||
|
className = strings.ReplaceAll(className, " ", "_")
|
||||||
|
|
||||||
|
// Clean up multiple underscores
|
||||||
|
for strings.Contains(className, "__") {
|
||||||
|
className = strings.ReplaceAll(className, "__", "_")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove leading/trailing underscores
|
||||||
|
className = strings.Trim(className, "_")
|
||||||
|
|
||||||
res.ClassName = className
|
res.ClassName = className
|
||||||
log.Info("Found class: %s (cleaned from: %s)", res.ClassName, strings.TrimSpace(class.Text()))
|
log.Info("Found class: %s (cleaned from: %s)", res.ClassName, strings.TrimSpace(class.Text()))
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user