summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-14 21:30:25 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-14 21:30:25 +0100
commit67fe3accd91cf49cd74854e5ffb62539fc2075d4 (patch)
treec35e26f1d79df1d8bfabf4ab8fb2dbbba9929af4 /src/main/java
parent3e9a68f0235158f5ee2c70cb6b319b26e42fd810 (diff)
Fix handling of digits in lowerCamelCase strings
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/hobgoblin/compiler/util/Casing.java4
1 files changed, 2 insertions, 2 deletions
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));