From b613ec86fe871f722ceab2b3e01c26fed3ea3a41 Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Sat, 3 Jan 2026 02:00:23 +0200 Subject: [PATCH] drawn KEYWORD token color for primitive types in hover info --- .../script/interpreter/hover/TokenHoverInfo.java | 4 +--- .../util/script/interpreter/token/TokenType.java | 13 +------------ .../script/interpreter/type/ScriptTypeInfo.java | 12 ------------ .../gui/util/script/interpreter/type/TypeInfo.java | 7 +++++-- 4 files changed, 7 insertions(+), 29 deletions(-) diff --git a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/hover/TokenHoverInfo.java b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/hover/TokenHoverInfo.java index 7724664f8..af12aa82e 100644 --- a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/hover/TokenHoverInfo.java +++ b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/hover/TokenHoverInfo.java @@ -1130,10 +1130,8 @@ public class TokenHoverInfo { * Works for both Java-backed TypeInfo and ScriptTypeInfo. */ private int getColorForTypeInfo(TypeInfo typeInfo) { - if (typeInfo == null) return TokenType.IMPORTED_CLASS.getHexColor(); - // Use the TypeInfo's own token type, which handles ScriptTypeInfo correctly - return typeInfo.getTokenType().getHexColor(); + return TokenType.getColor(typeInfo); } /** diff --git a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/token/TokenType.java b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/token/TokenType.java index 52f7b245e..8ee1d0f29 100644 --- a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/token/TokenType.java +++ b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/token/TokenType.java @@ -80,18 +80,7 @@ public enum TokenType { public static TokenType getByType(TypeInfo typeInfo) { if (typeInfo == null || !typeInfo.isResolved()) return TokenType.UNDEFINED_VAR; - - switch (typeInfo.getKind()) { - case INTERFACE: - return TokenType.INTERFACE_DECL; - case ENUM: - return TokenType.ENUM_DECL; - case CLASS: - return TokenType.CLASS_DECL; - default: - break; - } - + // Use the TypeInfo's own token type, which handles ScriptTypeInfo correctly return typeInfo.getTokenType(); } diff --git a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/ScriptTypeInfo.java b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/ScriptTypeInfo.java index eaeaf015f..d79a360ba 100644 --- a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/ScriptTypeInfo.java +++ b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/ScriptTypeInfo.java @@ -653,18 +653,6 @@ public class ScriptTypeInfo extends TypeInfo { return null; } - @Override - public TokenType getTokenType() { - switch (getKind()) { - case INTERFACE: - return TokenType.INTERFACE_DECL; - case ENUM: - return TokenType.ENUM_DECL; - case CLASS: - default: - return TokenType.CLASS_DECL; - } - } // Script types are always considered resolved since they're defined in the script @Override diff --git a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/TypeInfo.java b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/TypeInfo.java index 0d389c93f..c49a095bf 100644 --- a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/TypeInfo.java +++ b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/type/TypeInfo.java @@ -134,14 +134,17 @@ public class TypeInfo { public boolean isInnerClass() { return enclosingType != null; } public boolean isInterface() {return kind == Kind.INTERFACE;} public boolean isEnum() {return kind == Kind.ENUM;} + public boolean isPrimitive() {return javaClass != null && javaClass.isPrimitive();} /** * Get the appropriate TokenType for highlighting this type. */ public TokenType getTokenType() { - if (!resolved) { + if (!resolved) return TokenType.UNDEFINED_VAR; - } + if(isPrimitive()) + return TokenType.KEYWORD; + switch (kind) { case INTERFACE: return TokenType.INTERFACE_DECL;