diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-01-05 12:47:39 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-01-05 12:47:39 +0800 |
| commit | f5b59076cece9e95e76158b17b64fec27616b68b (patch) | |
| tree | b0714ad0affed45ff2aa6250e48d6d8db8a1e294 /runtime/src/main/java/me/shedaniel/rei/impl/SearchArgument.java | |
| parent | 5385aa5bda42b586f6da45f17f1b3309e0bc900a (diff) | |
| download | RoughlyEnoughItems-f5b59076cece9e95e76158b17b64fec27616b68b.tar.gz RoughlyEnoughItems-f5b59076cece9e95e76158b17b64fec27616b68b.tar.bz2 RoughlyEnoughItems-f5b59076cece9e95e76158b17b64fec27616b68b.zip | |
Configs for syntax highlighting
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/impl/SearchArgument.java')
| -rw-r--r-- | runtime/src/main/java/me/shedaniel/rei/impl/SearchArgument.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/SearchArgument.java b/runtime/src/main/java/me/shedaniel/rei/impl/SearchArgument.java index 78798ac87..8746bcb91 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/SearchArgument.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/SearchArgument.java @@ -37,6 +37,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; import net.minecraft.network.chat.Component; +import net.minecraft.util.IntRange; import net.minecraft.util.Unit; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.mutable.Mutable; @@ -44,6 +45,7 @@ import org.apache.commons.lang3.mutable.MutableObject; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; +import java.util.Collection; import java.util.List; import java.util.Locale; import java.util.regex.Matcher; @@ -87,6 +89,8 @@ public class SearchArgument<T, R> { void addQuote(int index); void addSplitter(int index); + + void addPart(SearchArgument<?, ?> argument, Collection<IntRange> grammarRanges, int index); } @ApiStatus.Internal @@ -107,8 +111,9 @@ public class SearchArgument<T, R> { for (Argument<?, ?> argument : ArgumentsRegistry.ARGUMENT_LIST) { MatchStatus status = argument.matchesArgumentPrefix(term); if (status.isMatched()) { + SearchArgument<?, ?> searchArgument; if (terms.group(1) != null) { - arguments.add(new SearchArgument<>(argument, status.getText(), !status.isInverted(), terms.start(1) + tokenStartIndex, terms.end(1) + tokenStartIndex, !status.shouldPreserveCasing())); + arguments.add(searchArgument = new SearchArgument<>(argument, status.getText(), !status.isInverted(), terms.start(1) + tokenStartIndex, terms.end(1) + tokenStartIndex, !status.shouldPreserveCasing())); if (sink != null) { sink.addQuote(terms.start() + tokenStartIndex); if (terms.end() - 1 + tokenStartIndex < searchTerm.length()) { @@ -116,7 +121,10 @@ public class SearchArgument<T, R> { } } } else { - arguments.add(new SearchArgument<>(argument, status.getText(), !status.isInverted(), terms.start(2) + tokenStartIndex, terms.end(2) + tokenStartIndex, !status.shouldPreserveCasing())); + arguments.add(searchArgument = new SearchArgument<>(argument, status.getText(), !status.isInverted(), terms.start(2) + tokenStartIndex, terms.end(2) + tokenStartIndex, !status.shouldPreserveCasing())); + } + if (sink != null) { + sink.addPart(searchArgument, status.grammarRanges(), terms.start() + tokenStartIndex); } break; } |
