summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/bjc/inflexion/InflectionML.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/main/java/bjc/inflexion/InflectionML.java b/src/main/java/bjc/inflexion/InflectionML.java
index f1e7b00..46cbc59 100644
--- a/src/main/java/bjc/inflexion/InflectionML.java
+++ b/src/main/java/bjc/inflexion/InflectionML.java
@@ -88,8 +88,26 @@ public class InflectionML {
final Set<String> optionSet = new HashSet<>();
- for (int i = 1; i <= options.length(); i++) {
- optionSet.add(options.substring(i - 1, i));
+ boolean doCaseFold = false;
+
+ if (!options.equals("")) {
+ if (options.matches("(?:[a-z]*[A-Z]+[a-z])+")) {
+ doCaseFold = true;
+ }
+
+ for (int i = 0; i < options.length(); i++) {
+ char ci = options.charAt(i);
+ String opt = Character.toString(ci);
+
+ if (doCaseFold) {
+ if (Character.isUpperCase(ci))
+ opt = opt.toLowerCase();
+ else
+ continue;
+ }
+
+ optionSet.add(opt);
+ }
}
switch (command) {