aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java25
1 files changed, 16 insertions, 9 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java b/runtime/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java
index 9edb9880f..cd7477859 100644
--- a/runtime/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java
+++ b/runtime/src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java
@@ -31,6 +31,7 @@ import me.shedaniel.math.Color;
import me.shedaniel.math.Point;
import me.shedaniel.math.impl.PointHelper;
import me.shedaniel.rei.api.ConfigObject;
+import me.shedaniel.rei.gui.config.SyntaxHighlightingMode;
import me.shedaniel.rei.gui.widget.TextFieldWidget;
import me.shedaniel.rei.impl.OverlaySearchFieldSyntaxHighlighter;
import me.shedaniel.rei.impl.ScreenHelper;
@@ -74,23 +75,29 @@ public class OverlaySearchField extends TextFieldWidget implements TextFieldWidg
@Override
public FormattedCharSequence format(TextFieldWidget widget, String text, int index) {
+ boolean isPlain = ConfigObject.getInstance().getSyntaxHighlightingMode() == SyntaxHighlightingMode.PLAIN || ConfigObject.getInstance().getSyntaxHighlightingMode() == SyntaxHighlightingMode.PLAIN_UNDERSCORED;
+ boolean hasUnderscore = ConfigObject.getInstance().getSyntaxHighlightingMode() == SyntaxHighlightingMode.PLAIN_UNDERSCORED || ConfigObject.getInstance().getSyntaxHighlightingMode() == SyntaxHighlightingMode.COLORFUL_UNDERSCORED;
return TextTransformations.forwardWithTransformation(text, (s, charIndex, c) -> {
byte arg = highlighter.highlighted[charIndex + index];
- Style style;
+ Style style = Style.EMPTY;
if (arg > 0) {
- Argument<?, ?> argument = ArgumentsRegistry.ARGUMENT_LIST.get(arg - 1);
- style = argument.getHighlightedStyle();
+ Argument<?, ?> argument = ArgumentsRegistry.ARGUMENT_LIST.get((arg - 1) / 2);
+ if (!isPlain) {
+ style = argument.getHighlightedStyle();
+ }
if (argument instanceof TextArgument) {
if (isMain && ContainerScreenOverlay.getEntryListWidget().getAllStacks().isEmpty() && !getText().isEmpty()) {
style = ERROR_STYLE;
}
+ } else if (hasUnderscore && arg % 2 == 1) {
+ style = style.withUnderlined(true);
+ }
+ } else if (!isPlain) {
+ if (arg == -1) {
+ style = SPLITTER_STYLE;
+ } else if (arg == -2) {
+ style = QUOTES_STYLE;
}
- } else if (arg == -1) {
- style = SPLITTER_STYLE;
- } else if (arg == -2) {
- style = QUOTES_STYLE;
- } else {
- style = Style.EMPTY;
}