fix: preserve symbol suffixes in form name extraction

This commit is contained in:
2026-04-04 11:13:30 +02:00
parent 202f0a6701
commit fdc1593a27

View File

@@ -265,12 +265,12 @@ function extractFormName(formText: string): string | undefined {
if (!trimmed.startsWith('(')) return undefined;
const patterns = [
/^\(\s*(?:define|define-public|define\*)\s+\(([\w!$%&*+\-./:<=>?@^~]+(?:[\w!$%&*+\-./:<=>?@^~]|#[^\s()\[\]]*)?)\b/,
/^\(\s*(?:define|define-public|define\*)\s+([^\s()\[\]]+)\b/,
/^\(\s*(?:define-syntax|define-syntax-rule|define-macro)\s+\(([^\s()\[\]]+)\b/,
/^\(\s*(?:define-syntax|define-syntax-rule|define-macro)\s+([^\s()\[\]]+)\b/,
/^\(\s*define-record-type\s+([^\s()\[\]]+)\b/,
/^\(\s*define-class\s+([^\s()\[\]]+)\b/,
/^\(\s*(?:define|define-public|define\*)\s+\(([^\s()\[\]]+)/,
/^\(\s*(?:define|define-public|define\*)\s+([^\s()\[\]]+)/,
/^\(\s*(?:define-syntax|define-syntax-rule|define-macro)\s+\(([^\s()\[\]]+)/,
/^\(\s*(?:define-syntax|define-syntax-rule|define-macro)\s+([^\s()\[\]]+)/,
/^\(\s*define-record-type\s+([^\s()\[\]]+)/,
/^\(\s*define-class\s+([^\s()\[\]]+)/,
];
for (const pattern of patterns) {