Skip to content

Commit b02013e

Browse files
committed
fixed list not suggestion properly
1 parent 940e1fa commit b02013e

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
<groupId>net.azalealibrary</groupId>
1515
<artifactId>configuration</artifactId>
16-
<version>1.0.9</version>
16+
<version>1.1.0</version>
1717

1818
<repositories>
1919
<repository>

src/main/java/net/azalealibrary/configuration/property/ListProperty.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ protected void set(CommandSender sender, Arguments arguments) {
3434
int index = arguments.find(1, "position", input -> Integer.parseInt(input.replace("@", "")));
3535

3636
if (index >= get().size()) {
37-
throw new AzaleaException("Specified list position '" + index +"' too large for list of size " + get().size() + ".");
37+
throw new AzaleaException("Specified list position " + index +" too large for list of size " + get().size() + ".");
3838
}
3939

4040
if (action.equals(REPLACE)) {
@@ -51,13 +51,11 @@ protected void set(CommandSender sender, Arguments arguments) {
5151
public List<String> onComplete(CommandSender sender, Arguments arguments) {
5252
if (arguments.size() == 1) {
5353
return List.of(ADD, REMOVE, REPLACE);
54-
} else if (arguments.size() == 2 && !get().isEmpty() && !arguments.is(0, ADD)) {
54+
} else if (!get().isEmpty() && arguments.size() == 2 && !arguments.is(0, ADD)) {
5555
return List.of("@" + (get().size() - 1));
56-
} else if (arguments.is(0, ADD) || arguments.is(0, REPLACE)) {
57-
// avoid suggesting more than necessary
58-
Arguments data = arguments.subArguments(arguments.is(0, ADD) ? 0 : 1);
59-
List<String> suggestion = propertyType.complete(sender, data);
60-
return arguments.size() -1 <= suggestion.size() ? suggestion : List.of();
56+
} else if (!arguments.is(0, REMOVE)) {
57+
int offset = arguments.is(0, ADD) ? 0 : 1;
58+
return arguments.size() == 2 + offset ? propertyType.complete(sender, arguments.subArguments(offset)) : List.of();
6159
}
6260
return List.of();
6361
}

0 commit comments

Comments
 (0)