From 4741b58aedde03dcd84de473fff44c0796ece86f Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Mon, 5 Jan 2026 23:42:20 +0200 Subject: [PATCH] Fixed description not being stored for JSDocTypeTag --- .../gui/util/script/interpreter/jsdoc/JSDocParser.java | 9 +++++---- .../gui/util/script/interpreter/jsdoc/JSDocTypeTag.java | 5 +++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/jsdoc/JSDocParser.java b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/jsdoc/JSDocParser.java index e93ed12eb..2d97d257e 100644 --- a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/jsdoc/JSDocParser.java +++ b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/jsdoc/JSDocParser.java @@ -18,13 +18,13 @@ public class JSDocParser { "/\\*\\*([\\s\\S]*?)\\*/", Pattern.MULTILINE); private static final Pattern TYPE_TAG_PATTERN = Pattern.compile( - "@(type)\\s*\\{([^}]+)\\}", Pattern.CASE_INSENSITIVE); + "@(type)\\s*\\{([^}]+)\\}(?:\\s*-?\\s*([^@\\n]*))?", Pattern.CASE_INSENSITIVE); private static final Pattern PARAM_TAG_PATTERN = Pattern.compile( - "@(param)\\s*(?:\\{([^}]+)\\})?\\s*(\\w+)(?:\\s*-?\\s*(.*))?", Pattern.CASE_INSENSITIVE); + "@(param)\\s*(?:\\{([^}]+)\\})?\\s*(\\w+)(?:\\s*-?\\s*([^@\\n]*))?", Pattern.CASE_INSENSITIVE); private static final Pattern RETURN_TAG_PATTERN = Pattern.compile( - "@(returns?)\\s*(?:\\{([^}]+)\\})?(?:\\s*-?\\s*(.*))?", Pattern.CASE_INSENSITIVE); + "@(returns?)\\s*(?:\\{([^}]+)\\})?(?:\\s*-?\\s*([^@\\n]*))?", Pattern.CASE_INSENSITIVE); private static final Pattern ANY_TAG_PATTERN = Pattern.compile( "@(\\w+)", Pattern.CASE_INSENSITIVE); @@ -105,6 +105,7 @@ public class JSDocParser { int tagNameEnd = contentOffset + m.end(1); String typeName = m.group(2).trim(); + String description = m.group(3); int braceStart = content.indexOf('{', m.start()); int braceEnd = content.indexOf('}', braceStart); @@ -114,7 +115,7 @@ public class JSDocParser { TypeInfo typeInfo = resolveType(typeName); JSDocTypeTag tag = JSDocTypeTag.create(atSignOffset, tagNameStart, tagNameEnd, - typeName, typeInfo, typeStart, typeEnd); + typeName, typeInfo, typeStart, typeEnd, description != null ? description.trim() : null); info.setTypeTag(tag); } } diff --git a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/jsdoc/JSDocTypeTag.java b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/jsdoc/JSDocTypeTag.java index 0ec2c1389..1f27f6667 100644 --- a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/jsdoc/JSDocTypeTag.java +++ b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/jsdoc/JSDocTypeTag.java @@ -13,10 +13,11 @@ public class JSDocTypeTag extends JSDocTag { super("type", atSignOffset, tagNameStart, tagNameEnd); } - public static JSDocTypeTag create(int atSignOffset, int tagNameStart, int tagNameEnd, - String typeName, TypeInfo typeInfo, int typeStart, int typeEnd) { + public static JSDocTypeTag create(int atSignOffset, int tagNameStart, int tagNameEnd, String typeName, + TypeInfo typeInfo, int typeStart, int typeEnd, String description) { JSDocTypeTag tag = new JSDocTypeTag(atSignOffset, tagNameStart, tagNameEnd); tag.setType(typeName, typeInfo, typeStart, typeEnd); + tag.setDescription(description); return tag; }