.
This commit is contained in:
parent
b234cd9df7
commit
76f4ba2ec9
5 changed files with 15 additions and 52 deletions
48
.idea/workspace.xml
generated
48
.idea/workspace.xml
generated
|
|
@ -4,26 +4,12 @@
|
||||||
<option name="autoReloadType" value="SELECTIVE" />
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="6414223f-1761-4683-97f5-9dab59d6c44a" name="Changes" comment="currently refactoring a lot.">
|
<list default="true" id="6414223f-1761-4683-97f5-9dab59d6c44a" name="Changes" comment=".">
|
||||||
<change afterPath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/invocation/SyncCommandExecutor.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/TODO" beforeDir="false" afterPath="$PROJECT_DIR$/TODO" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/build.gradle.kts" beforeDir="false" afterPath="$PROJECT_DIR$/build.gradle.kts" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/build.gradle.kts" beforeDir="false" afterPath="$PROJECT_DIR$/build.gradle.kts" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-bukkit/build.gradle.kts" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-bukkit/build.gradle.kts" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/AsyncTabCompleter.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/TabCompleteListener.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/CommandAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/CommandAPI.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/suggestionprovider/PlayerSuggestionProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/suggestionprovider/PlayerSuggestionProvider.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-core/build.gradle.kts" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-core/build.gradle.kts" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/CommandHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/CommandHandler.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/CommandHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/CommandHandler.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/invocation/CommandExecutor.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/invocation/CommandExecutor.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/CommandParser.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/CommandParser.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/ParseResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/parser/ParseResult.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/suggestion/NoSuggestionProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/suggestion/NoSuggestionProvider.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/suggestion/SuggestionProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/suggestion/SuggestionProvider.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/CommandNodeImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/internal/CommandNodeImpl.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-velocity/src/main/java/de/kentoj/kencommandapi/CommandAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-velocity/src/main/java/de/kentoj/kencommandapi/CommandAPI.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-velocity/src/main/java/de/kentoj/kencommandapi/VelocityCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-velocity/src/main/java/de/kentoj/kencommandapi/VelocityCommand.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/kencommandapi-velocity/src/main/java/de/kentoj/kencommandapi/suggestionprovider/PlayerSuggestionProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/kencommandapi-velocity/src/main/java/de/kentoj/kencommandapi/suggestionprovider/PlayerSuggestionProvider.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/../build-logic/convention/src/main/kotlin/de/kentoj/scrow/BaseDependenciesConvention.kt" beforeDir="false" afterPath="$PROJECT_DIR$/../build-logic/convention/src/main/kotlin/de/kentoj/scrow/BaseDependenciesConvention.kt" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/../build-logic/convention/src/main/kotlin/de/kentoj/scrow/DatabaseConvention.kt" beforeDir="false" afterPath="$PROJECT_DIR$/../build-logic/convention/src/main/kotlin/de/kentoj/scrow/DatabaseConvention.kt" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|
@ -62,26 +48,6 @@
|
||||||
<item name="KenCommandAPI" type="f1a62948:ProjectNode" />
|
<item name="KenCommandAPI" type="f1a62948:ProjectNode" />
|
||||||
<item name="KenCommandAPI" type="2d1252cf:ModuleNode" />
|
<item name="KenCommandAPI" type="2d1252cf:ModuleNode" />
|
||||||
</path>
|
</path>
|
||||||
<path>
|
|
||||||
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
|
|
||||||
<item name="KenCommandAPI" type="f1a62948:ProjectNode" />
|
|
||||||
<item name="KenCommandAPI" type="2d1252cf:ModuleNode" />
|
|
||||||
<item name="Tasks" type="e4a08cd1:TasksNode" />
|
|
||||||
</path>
|
|
||||||
<path>
|
|
||||||
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
|
|
||||||
<item name="KenCommandAPI" type="f1a62948:ProjectNode" />
|
|
||||||
<item name="KenCommandAPI" type="2d1252cf:ModuleNode" />
|
|
||||||
<item name="Tasks" type="e4a08cd1:TasksNode" />
|
|
||||||
<item name="build" type="c8890929:TasksNode$1" />
|
|
||||||
</path>
|
|
||||||
<path>
|
|
||||||
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
|
|
||||||
<item name="KenCommandAPI" type="f1a62948:ProjectNode" />
|
|
||||||
<item name="KenCommandAPI" type="2d1252cf:ModuleNode" />
|
|
||||||
<item name="Tasks" type="e4a08cd1:TasksNode" />
|
|
||||||
<item name="publishing" type="c8890929:TasksNode$1" />
|
|
||||||
</path>
|
|
||||||
</expand>
|
</expand>
|
||||||
<select />
|
<select />
|
||||||
</tree_state>
|
</tree_state>
|
||||||
|
|
@ -179,7 +145,7 @@
|
||||||
<command value="KenCommandAPI [publishAllPublicationsToScrowRepository]" />
|
<command value="KenCommandAPI [publishAllPublicationsToScrowRepository]" />
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager" selected="Gradle.KenCommandAPI [build]">
|
<component name="RunManager" selected="Gradle.KenCommandAPI [publishAllPublicationsToScrowRepository]">
|
||||||
<configuration name="KenCommandAPI [build]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
|
<configuration name="KenCommandAPI [build]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
|
||||||
<ExternalSystemSettings>
|
<ExternalSystemSettings>
|
||||||
<option name="executionName" />
|
<option name="executionName" />
|
||||||
|
|
@ -292,8 +258,8 @@
|
||||||
</configuration>
|
</configuration>
|
||||||
<recent_temporary>
|
<recent_temporary>
|
||||||
<list>
|
<list>
|
||||||
<item itemvalue="Gradle.KenCommandAPI [build]" />
|
|
||||||
<item itemvalue="Gradle.KenCommandAPI [publishAllPublicationsToScrowRepository]" />
|
<item itemvalue="Gradle.KenCommandAPI [publishAllPublicationsToScrowRepository]" />
|
||||||
|
<item itemvalue="Gradle.KenCommandAPI [build]" />
|
||||||
<item itemvalue="Gradle.KenCommandAPI [clean]" />
|
<item itemvalue="Gradle.KenCommandAPI [clean]" />
|
||||||
<item itemvalue="Gradle.KenCommandAPI:kencommandapi-velocity [publish]" />
|
<item itemvalue="Gradle.KenCommandAPI:kencommandapi-velocity [publish]" />
|
||||||
<item itemvalue="Gradle.KenCommandAPI [publish]" />
|
<item itemvalue="Gradle.KenCommandAPI [publish]" />
|
||||||
|
|
@ -555,8 +521,8 @@
|
||||||
<MESSAGE value="fix aliases not being registered" />
|
<MESSAGE value="fix aliases not being registered" />
|
||||||
<MESSAGE value="add TODO" />
|
<MESSAGE value="add TODO" />
|
||||||
<MESSAGE value="make SuggestionProvider use CompletableFuture" />
|
<MESSAGE value="make SuggestionProvider use CompletableFuture" />
|
||||||
<MESSAGE value="." />
|
|
||||||
<MESSAGE value="currently refactoring a lot." />
|
<MESSAGE value="currently refactoring a lot." />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="currently refactoring a lot." />
|
<MESSAGE value="." />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" value="." />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
8
TODO
8
TODO
|
|
@ -1,5 +1,3 @@
|
||||||
- error messages
|
- fix missing ArgumentExpected error at first arg or smth (maybe all args are shifted ???)
|
||||||
- permission support
|
- make sure permissions of literals work
|
||||||
- suggestions/tab completion
|
- fix suggestions/tab completion
|
||||||
- description support, possibly shown with /help <command>
|
|
||||||
- dynamic default values: functional interface with context
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
group = "de.kentoj.scrow"
|
group = "de.kentoj.scrow"
|
||||||
version = "0.28"
|
version = "0.30"
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
group = rootProject.group
|
group = rootProject.group
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.CompletableFuture;
|
|
||||||
|
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class CommandHandler<T> {
|
public class CommandHandler<T> {
|
||||||
|
|
@ -34,7 +33,7 @@ public class CommandHandler<T> {
|
||||||
if (ex != null)
|
if (ex != null)
|
||||||
sendMessageMethod.send(sender, rootNode.getMessageStyle().exception(ex));
|
sendMessageMethod.send(sender, rootNode.getMessageStyle().exception(ex));
|
||||||
result.ifFailure(failure ->
|
result.ifFailure(failure ->
|
||||||
sendMessageMethod.send(sender, rootNode.getMessageStyle().err(failure)));
|
sendMessageMethod.send(sender, rootNode.getMessageStyle().err(failure)));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public class CommandParser<T> {
|
||||||
|
|
||||||
while (argStrIter.hasNext()) {
|
while (argStrIter.hasNext()) {
|
||||||
for (var nodeArg : cur.getArguments()) {
|
for (var nodeArg : cur.getArguments()) {
|
||||||
var parsed = parseArgument(rootNode, nodeArg, argStrIter, sender, !parseArgs);
|
var parsed = parseArgument(rootNode, nodeArg, argStrIter, sender, parseArgs);
|
||||||
if (parsed.hasFailure())
|
if (parsed.hasFailure())
|
||||||
return parsed.getFailure().orElseThrow();
|
return parsed.getFailure().orElseThrow();
|
||||||
if (parseArgs)
|
if (parseArgs)
|
||||||
|
|
@ -60,13 +60,13 @@ public class CommandParser<T> {
|
||||||
CommandArgument<T, ?> nodeArg,
|
CommandArgument<T, ?> nodeArg,
|
||||||
Iterator<String> args,
|
Iterator<String> args,
|
||||||
T sender,
|
T sender,
|
||||||
boolean fakeParse
|
boolean parseArgs
|
||||||
) {
|
) {
|
||||||
Object value;
|
Object value;
|
||||||
|
|
||||||
if (args.hasNext()) {
|
if (args.hasNext()) {
|
||||||
var argStr = getRawArgument(args, nodeArg);
|
var argStr = getRawArgument(args, nodeArg);
|
||||||
if (fakeParse) {
|
if (!parseArgs) {
|
||||||
value = null;
|
value = null;
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue