@@ -56,14 +56,15 @@ export const taskIdRegex = /[a-zA-Z0-9-_]+/;
5656export const taskIdSequenceRegex = new RegExp ( taskIdRegex . source + '( *, *' + taskIdRegex . source + ' *)*' ) ;
5757
5858function dateFieldRegex ( symbols : string ) {
59- return fieldRegex ( symbols , '(\\d{4}-\\d{2}-\\d{2})$ ' ) ;
59+ return fieldRegex ( symbols , '(\\d{4}-\\d{2}-\\d{2})' ) ;
6060}
6161
6262function fieldRegex ( symbols : string , valueRegexString : string ) {
6363 let source = symbols ;
6464 if ( valueRegexString !== '' ) {
6565 source += ' *' + valueRegexString ;
6666 }
67+ source += '$' ;
6768 return new RegExp ( source , 'u' ) ;
6869}
6970
@@ -95,17 +96,17 @@ export const DEFAULT_SYMBOLS: DefaultTaskSerializerSymbols = {
9596 // The following regex's end with `$` because they will be matched and
9697 // removed from the end until none are left.
9798 // \uFE0F? allows an optional Variant Selector 16 on emojis.
98- priorityRegex : fieldRegex ( '([🔺⏫🔼🔽⏬])\uFE0F?$ ' , '' ) ,
99+ priorityRegex : fieldRegex ( '([🔺⏫🔼🔽⏬])\uFE0F?' , '' ) ,
99100 startDateRegex : dateFieldRegex ( '🛫' ) ,
100101 createdDateRegex : dateFieldRegex ( '➕' ) ,
101102 scheduledDateRegex : dateFieldRegex ( '[⏳⌛]' ) ,
102103 dueDateRegex : dateFieldRegex ( '[📅📆🗓]' ) ,
103104 doneDateRegex : dateFieldRegex ( '✅' ) ,
104105 cancelledDateRegex : dateFieldRegex ( '❌' ) ,
105- recurrenceRegex : fieldRegex ( '🔁' , '([a-zA-Z0-9, !]+)$ ' ) ,
106- onCompletionRegex : fieldRegex ( '🏁' , '([a-zA-Z]+)$ ' ) ,
107- dependsOnRegex : fieldRegex ( '⛔\uFE0F?' , '(' + taskIdSequenceRegex . source + ')$ ' ) ,
108- idRegex : fieldRegex ( '🆔' , '(' + taskIdRegex . source + ')$ ' ) ,
106+ recurrenceRegex : fieldRegex ( '🔁' , '([a-zA-Z0-9, !]+)' ) ,
107+ onCompletionRegex : fieldRegex ( '🏁' , '([a-zA-Z]+)' ) ,
108+ dependsOnRegex : fieldRegex ( '⛔\uFE0F?' , '(' + taskIdSequenceRegex . source + ')' ) ,
109+ idRegex : fieldRegex ( '🆔' , '(' + taskIdRegex . source + ')' ) ,
109110 } ,
110111} as const ;
111112
0 commit comments