diff --git a/src/modules/parseTaskText.test.ts b/src/modules/parseTaskText.test.ts index 58a45b3bd..5cfbc24cb 100644 --- a/src/modules/parseTaskText.test.ts +++ b/src/modules/parseTaskText.test.ts @@ -682,6 +682,14 @@ describe('Parse Task Text', () => { expect(result.assignees).toHaveLength(1) expect(result.assignees[0]).toBe('today') }) + it('should recognize an email address', () => { + const text = 'Lorem Ipsum @email@example.com' + const result = parseTaskText(text) + + expect(result.text).toBe('Lorem Ipsum @email@example.com') + expect(result.assignees).toHaveLength(1) + expect(result.assignees[0]).toBe('email@example.com') + }) }) describe('Recurring Dates', () => { diff --git a/src/modules/parseTaskText.ts b/src/modules/parseTaskText.ts index 53fa34e9c..79eab5d86 100644 --- a/src/modules/parseTaskText.ts +++ b/src/modules/parseTaskText.ts @@ -109,7 +109,9 @@ const getItemsFromPrefix = (text: string, prefix: string): string[] => { return } - p = p.replace(prefix, '') + if (p.substring(0, 1) === prefix) { + p = p.substring(1) + } let itemText if (p.charAt(0) === '\'') { @@ -120,8 +122,8 @@ const getItemsFromPrefix = (text: string, prefix: string): string[] => { // Only until the next space itemText = p.split(' ')[0] } - - if(itemText !== '') { + + if (itemText !== '') { items.push(itemText) } })