aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ical.peg10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ical.peg b/src/ical.peg
index 771ea44..b781b8e 100644
--- a/src/ical.peg
+++ b/src/ical.peg
@@ -36,10 +36,16 @@ IANAToken
= token:([A-Za-z0-9-]+) { return token.join(""); }
XName
- = x:"X-" vendor:(VendorID "-")? tok:[A-Za-z0-9-]+ { return x + vendor + tok.join(""); }
+ = x:"X-" vendor:(VendorID "-")? tok:[A-Za-z0-9-]+ {
+ if (vendor !== null) vendor = vendor[0] + '-';
+ else vendor = '';
+ return x + vendor + tok.join("");
+ }
VendorID
- = [A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]
+ = chars:[A-Za-z0-9]+ {
+ return chars.join("");
+ }
Param
= name:ParamName "=" params:ParamValueList {