Removed MODIFIER, IMPORT_KEYWORD and CLASS_IMPORT token types, all replaced with KEYWORD

This commit is contained in:
bigguy345 committed 2026-03-13 03:22:46 +02:00
1 parent b7c3c53dc9
commit 4ccec31efa
6 files changed
+63 -64

No files matched your search

@@ -419,7 +419,7 @@ public class AutocompleteMenu extends Gui {
GL11.glPushMatrix();
float scale = 0.5f;
GL11.glScalef(scale, scale, scale);
int col = TokenType.MODIFIER.getHexColor();
int col = TokenType.KEYWORD.getHexColor();
if (isStatic)
font.drawString("s", (int) (textX / scale), (int) (textY / scale), col);
@@ -4586,7 +4586,7 @@ public class ScriptDocument {
// Modifiers - Java only
if (!isJavaScript()) {
addPatternMarks(marks, MODIFIER_PATTERN, TokenType.MODIFIER);
addPatternMarks(marks, MODIFIER_PATTERN, TokenType.KEYWORD);
}
// Type declarations and usages - Java only (JS doesn't have explicit types)
@@ -5297,7 +5297,7 @@ public class ScriptDocument {
continue;
// Mark 'import' keyword
marks.add(new ScriptLine.Mark(imp.getStartOffset(), imp.getStartOffset() + 6, TokenType.IMPORT_KEYWORD, imp));
marks.add(new ScriptLine.Mark(imp.getStartOffset(), imp.getStartOffset() + 6, TokenType.KEYWORD, imp));
// Parse path tokens
int pathStart = imp.getPathStartOffset();
@@ -5477,7 +5477,7 @@ public class ScriptDocument {
if (isExcluded(m.start()))
continue;
marks.add(new ScriptLine.Mark(m.start(1), m.end(1), TokenType.CLASS_KEYWORD));
marks.add(new ScriptLine.Mark(m.start(1), m.end(1), TokenType.KEYWORD));
String kind = m.group(1);
TokenType nameType;
@@ -5541,7 +5541,7 @@ public class ScriptDocument {
int extIdx = indexOfAtDepthZero(betweenParamsAndBrace, "extends");
if (extIdx >= 0) {
int extendsAbsStart = scanPos + extIdx;
marks.add(new ScriptLine.Mark(extendsAbsStart, extendsAbsStart + 7, TokenType.IMPORT_KEYWORD));
marks.add(new ScriptLine.Mark(extendsAbsStart, extendsAbsStart + 7, TokenType.KEYWORD));
// Extract parent name after 'extends '
String afterExtends = betweenParamsAndBrace.substring(extIdx + 7).trim();
@@ -5574,7 +5574,7 @@ public class ScriptDocument {
int implIdx = indexOfAtDepthZero(betweenParamsAndBrace, "implements");
if (implIdx >= 0) {
int implAbsStart = scanPos + implIdx;
marks.add(new ScriptLine.Mark(implAbsStart, implAbsStart + 10, TokenType.IMPORT_KEYWORD));
marks.add(new ScriptLine.Mark(implAbsStart, implAbsStart + 10, TokenType.KEYWORD));
String afterImpl = betweenParamsAndBrace.substring(implIdx + 10).trim();
int implListStart = implAbsStart + 10;
@@ -8201,7 +8201,7 @@ for (ScriptTypeInfo type:scriptTypes.values()) {
superClass, parentConstructor, false).setConstructor(true);
callInfo.validate();
methodCalls.add(callInfo);
marks.add(new ScriptLine.Mark(nameStart, nameEnd, TokenType.IMPORT_KEYWORD,
marks.add(new ScriptLine.Mark(nameStart, nameEnd, TokenType.KEYWORD,
errorMsg != null ? errorMsg : callInfo));
}
@@ -210,10 +210,7 @@ public class ScriptTextContainer extends JavaTextContainer {
noppes.npcs.client.gui.util.script.interpreter.token.TokenType type) {
if (type == noppes.npcs.client.gui.util.script.interpreter.token.TokenType.COMMENT) return JavaTextContainer.TokenType.COMMENT;
if (type == noppes.npcs.client.gui.util.script.interpreter.token.TokenType.STRING) return JavaTextContainer.TokenType.STRING;
if (type == noppes.npcs.client.gui.util.script.interpreter.token.TokenType.CLASS_KEYWORD) return JavaTextContainer.TokenType.CLASS_KEYWORD;
if (type == noppes.npcs.client.gui.util.script.interpreter.token.TokenType.IMPORT_KEYWORD) return JavaTextContainer.TokenType.IMPORT_KEYWORD;
if (type == noppes.npcs.client.gui.util.script.interpreter.token.TokenType.KEYWORD) return JavaTextContainer.TokenType.KEYWORD;
if (type == noppes.npcs.client.gui.util.script.interpreter.token.TokenType.MODIFIER) return JavaTextContainer.TokenType.MODIFIER;
if (type == noppes.npcs.client.gui.util.script.interpreter.token.TokenType.INTERFACE_DECL) return JavaTextContainer.TokenType.INTERFACE_DECL;
if (type == noppes.npcs.client.gui.util.script.interpreter.token.TokenType.ENUM_DECL) return JavaTextContainer.TokenType.ENUM_DECL;
if (type == noppes.npcs.client.gui.util.script.interpreter.token.TokenType.CLASS_DECL) return JavaTextContainer.TokenType.CLASS_DECL;
@@ -17,6 +17,7 @@ import noppes.npcs.client.gui.util.script.interpreter.method.MethodInfo;
import noppes.npcs.client.gui.util.script.interpreter.token.Token;
import noppes.npcs.client.gui.util.script.interpreter.token.TokenErrorMessage;
import noppes.npcs.client.gui.util.script.interpreter.token.TokenType;
import noppes.npcs.client.gui.util.script.interpreter.type.IntersectionTypeInfo;
import noppes.npcs.client.gui.util.script.interpreter.type.ScriptTypeInfo;
import noppes.npcs.client.gui.util.script.interpreter.type.TypeInfo;
import noppes.npcs.client.gui.util.script.interpreter.type.TypeResolver;
@@ -266,17 +267,17 @@ public class TokenHoverInfo {
int mods = clazz.getModifiers();
// Modifiers
if (Modifier.isPublic(mods)) addSegment("public ", TokenType.MODIFIER.getHexColor());
if (Modifier.isAbstract(mods) && !clazz.isInterface()) addSegment("abstract ", TokenType.MODIFIER.getHexColor());
if (Modifier.isFinal(mods) && !isEnum) addSegment("final ", TokenType.MODIFIER.getHexColor());
if (Modifier.isPublic(mods)) addSegment("public ", TokenType.KEYWORD.getHexColor());
if (Modifier.isAbstract(mods) && !clazz.isInterface()) addSegment("abstract ", TokenType.KEYWORD.getHexColor());
if (Modifier.isFinal(mods) && !isEnum) addSegment("final ", TokenType.KEYWORD.getHexColor());
// Class type keyword
if (clazz.isInterface()) {
addSegment("interface ", TokenType.MODIFIER.getHexColor());
addSegment("interface ", TokenType.KEYWORD.getHexColor());
} else if (isEnum) {
addSegment("enum ", TokenType.MODIFIER.getHexColor());
addSegment("enum ", TokenType.KEYWORD.getHexColor());
} else {
addSegment("class ", TokenType.MODIFIER.getHexColor());
addSegment("class ", TokenType.KEYWORD.getHexColor());
}
// Class name - use proper color based on type
@@ -290,7 +291,7 @@ public class TokenHoverInfo {
// Extends
Class<?> superclass = clazz.getSuperclass();
if (superclass != null && superclass != Object.class && !isEnum) {
addSegment(" extends ", TokenType.MODIFIER.getHexColor());
addSegment(" extends ", TokenType.KEYWORD.getHexColor());
addSegment(superclass.getSimpleName(), getColorForClass(superclass));
}
@@ -299,7 +300,7 @@ public class TokenHoverInfo {
// Implements
Class<?>[] interfaces = clazz.getInterfaces();
if (interfaces.length > 0) {
addSegment(clazz.isInterface() ? " extends " : " implements ", TokenType.MODIFIER.getHexColor());
addSegment(clazz.isInterface() ? " extends " : " implements ", TokenType.KEYWORD.getHexColor());
for (int i = 0; i < Math.min(interfaces.length, 3); i++) {
if (i > 0) addSegment(", ", TokenType.DEFAULT.getHexColor());
addSegment(interfaces[i].getSimpleName(), TokenType.INTERFACE_DECL.getHexColor());
@@ -325,19 +326,19 @@ public class TokenHoverInfo {
int mods = scriptType.getModifiers();
// Modifiers
if (Modifier.isPublic(mods)) addSegment("public ", TokenType.MODIFIER.getHexColor());
if (Modifier.isPublic(mods)) addSegment("public ", TokenType.KEYWORD.getHexColor());
if (Modifier.isAbstract(mods) && scriptType.getKind() != TypeInfo.Kind.INTERFACE)
addSegment("abstract ", TokenType.MODIFIER.getHexColor());
if (Modifier.isFinal(mods)) addSegment("final ", TokenType.MODIFIER.getHexColor());
if (Modifier.isStatic(mods)) addSegment("static ", TokenType.MODIFIER.getHexColor());
addSegment("abstract ", TokenType.KEYWORD.getHexColor());
if (Modifier.isFinal(mods)) addSegment("final ", TokenType.KEYWORD.getHexColor());
if (Modifier.isStatic(mods)) addSegment("static ", TokenType.KEYWORD.getHexColor());
// Class type keyword
if (scriptType.getKind() == TypeInfo.Kind.INTERFACE) {
addSegment("interface ", TokenType.MODIFIER.getHexColor());
addSegment("interface ", TokenType.KEYWORD.getHexColor());
} else if (scriptType.getKind() == TypeInfo.Kind.ENUM) {
addSegment("enum ", TokenType.MODIFIER.getHexColor());
addSegment("enum ", TokenType.KEYWORD.getHexColor());
} else {
addSegment("class ", TokenType.MODIFIER.getHexColor());
addSegment("class ", TokenType.KEYWORD.getHexColor());
}
// Class name
@@ -347,7 +348,7 @@ public class TokenHoverInfo {
addTypeSegments(typeInfo);
addDeclaredTypeParamSegments(typeInfo);
if (scriptType.hasSuperClass()) {
addSegment(" extends ", TokenType.MODIFIER.getHexColor());
addSegment(" extends ", TokenType.KEYWORD.getHexColor());
TypeInfo superClass = scriptType.getSuperClass();
if (superClass != null && superClass.isResolved()) {
// Color based on resolved type
@@ -370,7 +371,7 @@ public class TokenHoverInfo {
// Already showed extends, so use comma
addSegment(", ", TokenType.DEFAULT.getHexColor());
} else {
addSegment(keyword, TokenType.MODIFIER.getHexColor());
addSegment(keyword, TokenType.KEYWORD.getHexColor());
}
List<String> interfaceNames = scriptType.getImplementedInterfaceNames();
@@ -414,12 +415,12 @@ public class TokenHoverInfo {
JSTypeInfo jsType = typeInfo.getJSTypeInfo();
iconIndicator = "I";
addSegment("interface ", TokenType.MODIFIER.getHexColor());
addSegment("interface ", TokenType.KEYWORD.getHexColor());
addTypeSegments(typeInfo);
addDeclaredTypeParamSegments(typeInfo);
if (jsType.getExtendsType() != null) {
addSegment(" extends ", TokenType.MODIFIER.getHexColor());
addSegment(" extends ", TokenType.KEYWORD.getHexColor());
addSegment(jsType.getExtendsType(), TokenType.INTERFACE_DECL.getHexColor());
}
@@ -451,7 +452,7 @@ public class TokenHoverInfo {
iconIndicator = "T";
String paramName = typeInfo.getTypeParameterName();
addSegment("type parameter ", TokenType.MODIFIER.getHexColor());
addSegment("type parameter ", TokenType.KEYWORD.getHexColor());
addSegment("<", TokenType.DEFAULT.getHexColor());
addSegment(paramName, TokenType.GENERIC_TYPE_PARAM.getHexColor());
@@ -796,13 +797,14 @@ public class TokenHoverInfo {
TypeParamInfo param = params.get(i);
addSegment(param.getName(), TokenType.GENERIC_TYPE_PARAM.getHexColor());
if (param.getBoundTypeName() != null && !"Object".equals(param.getBoundTypeName())) {
addSegment(" extends ", TokenType.MODIFIER.getHexColor());
addSegment(" extends ", TokenType.KEYWORD.getHexColor());
TypeInfo boundType = param.getBoundTypeInfo();
if (boundType != null && boundType.isResolved()) {
addTypeSegments(boundType);
} else {
addSegment(param.getBoundTypeName(), TokenType.IMPORTED_CLASS.getHexColor());
}
addSegment(" extends ", TokenType.KEYWORD.getHexColor());
}
}
addSegment(">", TokenType.DEFAULT.getHexColor());
@@ -844,9 +846,9 @@ public class TokenHoverInfo {
// Modifiers (public, private, etc.)
declaration.clear();
int mods = constructor.getModifiers();
if (Modifier.isPublic(mods)) addSegment("public ", TokenType.MODIFIER.getHexColor());
else if (Modifier.isProtected(mods)) addSegment("protected ", TokenType.MODIFIER.getHexColor());
else if (Modifier.isPrivate(mods)) addSegment("private ", TokenType.MODIFIER.getHexColor());
if (Modifier.isPublic(mods)) addSegment("public ", TokenType.KEYWORD.getHexColor());
else if (Modifier.isProtected(mods)) addSegment("protected ", TokenType.KEYWORD.getHexColor());
else if (Modifier.isPrivate(mods)) addSegment("private ", TokenType.KEYWORD.getHexColor());
// Constructor name (same as class name)
addSegment(constructor.getName(), containingType.getTokenType().getHexColor());
@@ -890,14 +892,14 @@ public class TokenHoverInfo {
// Skip for now - could add later
// Modifiers
if (Modifier.isPublic(mods)) addSegment("public ", TokenType.MODIFIER.getHexColor());
else if (Modifier.isProtected(mods)) addSegment("protected ", TokenType.MODIFIER.getHexColor());
else if (Modifier.isPrivate(mods)) addSegment("private ", TokenType.MODIFIER.getHexColor());
if (Modifier.isPublic(mods)) addSegment("public ", TokenType.KEYWORD.getHexColor());
else if (Modifier.isProtected(mods)) addSegment("protected ", TokenType.KEYWORD.getHexColor());
else if (Modifier.isPrivate(mods)) addSegment("private ", TokenType.KEYWORD.getHexColor());
if (Modifier.isStatic(mods)) addSegment("static ", TokenType.MODIFIER.getHexColor());
if (Modifier.isFinal(mods)) addSegment("final ", TokenType.MODIFIER.getHexColor());
if (Modifier.isAbstract(mods)) addSegment("abstract ", TokenType.MODIFIER.getHexColor());
if (Modifier.isSynchronized(mods)) addSegment("synchronized ", TokenType.MODIFIER.getHexColor());
if (Modifier.isStatic(mods)) addSegment("static ", TokenType.KEYWORD.getHexColor());
if (Modifier.isFinal(mods)) addSegment("final ", TokenType.KEYWORD.getHexColor());
if (Modifier.isAbstract(mods)) addSegment("abstract ", TokenType.KEYWORD.getHexColor());
if (Modifier.isSynchronized(mods)) addSegment("synchronized ", TokenType.KEYWORD.getHexColor());
// Return type - check for actual type color (handle array suffix coloring)
TypeInfo returnType = methodInfo.getReturnType();
@@ -932,12 +934,12 @@ public class TokenHoverInfo {
if (methodInfo.isDeclaration() && methodInfo.getDeclarationOffset() >= 0) {
String modifiers = extractModifiersAtPosition(methodInfo.getDeclarationOffset());
if (modifiers != null && !modifiers.isEmpty()) {
addSegment(modifiers + " ", TokenType.MODIFIER.getHexColor());
addSegment(modifiers + " ", TokenType.KEYWORD.getHexColor());
}
} else {
// Fallback: show static if we know it
if (methodInfo.isStatic()) {
addSegment("static ", TokenType.MODIFIER.getHexColor());
addSegment("static ", TokenType.KEYWORD.getHexColor());
}
}
@@ -1395,20 +1397,20 @@ public class TokenHoverInfo {
*/
private void addFieldModifiers(int mods) {
if (Modifier.isPublic(mods))
addSegment("public ", TokenType.MODIFIER.getHexColor());
addSegment("public ", TokenType.KEYWORD.getHexColor());
else if (Modifier.isProtected(mods))
addSegment("protected ", TokenType.MODIFIER.getHexColor());
addSegment("protected ", TokenType.KEYWORD.getHexColor());
else if (Modifier.isPrivate(mods))
addSegment("private ", TokenType.MODIFIER.getHexColor());
addSegment("private ", TokenType.KEYWORD.getHexColor());
if (Modifier.isStatic(mods))
addSegment("static ", TokenType.MODIFIER.getHexColor());
addSegment("static ", TokenType.KEYWORD.getHexColor());
if (Modifier.isFinal(mods))
addSegment("final ", TokenType.MODIFIER.getHexColor());
addSegment("final ", TokenType.KEYWORD.getHexColor());
if (Modifier.isVolatile(mods))
addSegment("volatile ", TokenType.MODIFIER.getHexColor());
addSegment("volatile ", TokenType.KEYWORD.getHexColor());
if (Modifier.isTransient(mods))
addSegment("transient ", TokenType.MODIFIER.getHexColor());
addSegment("transient ", TokenType.KEYWORD.getHexColor());
}
/**
@@ -58,10 +58,6 @@ public class Token {
return new Token(text, start, end, TokenType.KEYWORD);
}
public static Token modifier(String text, int start, int end) {
return new Token(text, start, end, TokenType.MODIFIER);
}
public static Token comment(String text, int start, int end) {
return new Token(text, start, end, TokenType.COMMENT);
}
@@ -196,8 +192,7 @@ public class Token {
// ==================== TYPE CHECKS ====================
public boolean isKeyword() {
return type == TokenType.KEYWORD || type == TokenType.MODIFIER ||
type == TokenType.CLASS_KEYWORD || type == TokenType.IMPORT_KEYWORD;
return type == TokenType.KEYWORD;
}
public boolean isTypeReference() {
@@ -264,6 +259,18 @@ public class Token {
return sb.toString();
}
/**
* Get the java.awt.Font style bitmask for this token.
* Returns a combination of {@link java.awt.Font#PLAIN}, {@link java.awt.Font#BOLD},
* and {@link java.awt.Font#ITALIC}.
*/
public int getFontStyle() {
int style = java.awt.Font.PLAIN;
if (type.isBold()) style |= java.awt.Font.BOLD;
if (type.isItalic()) style |= java.awt.Font.ITALIC;
return style;
}
@Override
public String toString() {
return "Token{'" + text + "', " + type + ", [" + globalStart + "-" + globalEnd + "]}";
@@ -22,10 +22,7 @@ public enum TokenType {
UNUSED_IMPORT(0xFF666666, 119), // unused import statements (gray)
// Keywords and modifiers
CLASS_KEYWORD(0xFFFF5555, 115), // 'class', 'interface', 'enum' keywords
IMPORT_KEYWORD(0xFFFFAA00, 110), // 'import' keyword
KEYWORD(0xFFFF5555, 100), // control flow: if, else, for, while, etc.
MODIFIER(0xFFFFAA00, 90), // public, private, static, final, etc.
KEYWORD(0xFFFF5555, 100,true, false), // control flow: if, else, for, while, etc.
// Type declarations and references
INTERFACE_DECL(0xFF55FFFF, 85), // interface names (aqua)
@@ -133,12 +130,8 @@ public enum TokenType {
return '6'; // gold
case JSDOC_TYPE:
return '3'; // dark aqua (like types)
case CLASS_KEYWORD:
case KEYWORD:
return 'c'; // red
case IMPORT_KEYWORD:
case MODIFIER:
return '6'; // gold
case ENUM_DECL:
case STATIC_FINAL_FIELD:
return 'd'; // magenta