Skip to content

Commit c8baafd

Browse files
Bissbertclaude
andcommitted
fix: capture all modifiers when parsing CDL with multiple pipes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 723df87 commit c8baafd

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

src/lib/cdl-parser.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,10 @@ export function parseCDL(cdl: string): ValidationResult {
150150
return { valid: false, error: 'CDL expression too long (max 500 characters)' };
151151
}
152152

153-
// Split by modifier if present
154-
const [mainPart, modifier] = trimmed.split('|').map(s => s.trim());
153+
// Split by modifier if present - first part is forms, rest are modifiers
154+
const parts = trimmed.split('|').map(s => s.trim());
155+
const mainPart = parts[0];
156+
const modifier = parts.length > 1 ? parts.slice(1).join(' | ') : undefined;
155157

156158
// Parse system and point group: system[point_group]:forms
157159
const systemMatch = mainPart.match(/^(\w+)\[([^\]]+)\]:(.+)$/);

0 commit comments

Comments
 (0)