mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 03:47:27 +00:00
Removed MODIFIER, IMPORT_KEYWORD and CLASS_IMPORT token types, all replaced with KEYWORD
This commit is contained in:
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;
|
||||
|
||||
+42
-40
@@ -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
|
||||
|
||||
Reference in new issue
Block a user