Skip to content

Commit af4996a

Browse files
author
burdo
committed
introduce set selection methods
1 parent bc7131c commit af4996a

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/main/java/org/comroid/commands/impl/CommandManager.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,20 +192,23 @@ public final Stream<AutoFillOption> autoComplete(
192192
for (var i = 0; i < adapters.length; i++) {
193193
var adapter = adapters[i];
194194
var commandParameter = adapter.commandParameter();
195+
var type = adapter.type();
195196

196197
if (commandParameter != null) {
197198
// parse user argument
198-
if (getCapabilities().contains(CommandCapability.NAMED_ARGS) && namedArgs != null) useArgs[i] = namedArgs.get(
199-
commandParameter.getName());
200-
else {
199+
if (getCapabilities().contains(CommandCapability.NAMED_ARGS) && namedArgs != null) {
200+
useArgs[i] = namedArgs.get(commandParameter.getName());
201+
if (type.getTargetClass().isEnum())
202+
useArgs[i] = type.parse(String.valueOf(useArgs[i]));
203+
} else {
201204
var str = usage.getArgumentStrings().get(commandParameter);
202-
useArgs[i] = adapter.type().parse(str);
205+
useArgs[i] = type.parse(str);
203206
}
204207
} else {
205208
// find contextual argument
206209
useArgs[i] = usage.getContext()
207210
.stream()
208-
.filter(adapter.type().getTargetClass()::isInstance)
211+
.filter(type.getTargetClass()::isInstance)
209212
.findAny()
210213
.orElse(null);
211214
}

0 commit comments

Comments
 (0)