From 67fe3accd91cf49cd74854e5ffb62539fc2075d4 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 14 Jul 2026 21:30:25 +0100 Subject: Fix handling of digits in lowerCamelCase strings --- src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/zwobble') diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java b/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java index ef002ba..6519ec5 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java @@ -18,7 +18,7 @@ public class Casing { for (var characterIndex = 0; characterIndex < lowerCamelCase.length(); characterIndex++) { var character = lowerCamelCase.charAt(characterIndex); - if (Character.isUpperCase(character) || Character.isDigit(character)) { + if (Character.isUpperCase(character) || (Character.isDigit(character) && !Character.isDigit(lowerCamelCase.charAt(characterIndex - 1)))) { upperCase.append('_'); upperCase.append(character); } else { @@ -34,7 +34,7 @@ public class Casing { for (var characterIndex = 0; characterIndex < lowerCamelCase.length(); characterIndex++) { var character = lowerCamelCase.charAt(characterIndex); - if (Character.isUpperCase(character) || Character.isDigit(character)) { + if (Character.isUpperCase(character) || (Character.isDigit(character) && !Character.isDigit(lowerCamelCase.charAt(characterIndex - 1)))) { snakeCase.append('_'); } snakeCase.append(Character.toLowerCase(character)); -- cgit v1.2.3