|  | <%* | 
        
          |  | const format = 'emoji'; // default format | 
        
          |  | const metadataTypes = ['priority', 'repeat', 'start', 'scheduled', 'due', 'created', 'completion']; | 
        
          |  | const priorityTypes = ['highest', 'high', 'medium', 'low', 'due', 'lowest']; | 
        
          |  |  | 
        
          |  | const metadataType = await tp.system.suggester(metadataTypes, metadataTypes, true, 'Select the type of metadata'); | 
        
          |  |  | 
        
          |  | let metadata; | 
        
          |  |  | 
        
          |  | switch (metadataType.toLowerCase()) { | 
        
          |  | case 'priority': | 
        
          |  | let priorityValue = await tp.system.suggester(priorityTypes, priorityTypes, true, 'Enter your priority'); | 
        
          |  | switch (priorityValue) { | 
        
          |  | case 'highest': | 
        
          |  | metadata = format == 'emoji' ? 'πΊ' : '[priority:: highest]'; | 
        
          |  | break; | 
        
          |  | case 'high': | 
        
          |  | metadata = format == 'emoji' ? 'β«' : '[priority:: high]'; | 
        
          |  | break; | 
        
          |  | case 'medium': | 
        
          |  | metadata = format == 'emoji' ? 'πΌ' : '[priority:: medium]'; | 
        
          |  | break; | 
        
          |  | case 'low': | 
        
          |  | metadata = format == 'emoji' ? 'π½' : '[priority:: low]'; | 
        
          |  | break; | 
        
          |  | case 'lowest': | 
        
          |  | metadata = format == 'emoji' ? 'β¬' : '[priority:: lowest]'; | 
        
          |  | break; | 
        
          |  | default: | 
        
          |  | metadata = 'Invalid input'; | 
        
          |  | } | 
        
          |  | break; | 
        
          |  | case 'repeat': | 
        
          |  | let repeatValue = await tp.system.prompt('Enter your repeat frequency'); | 
        
          |  | metadata = format == 'emoji' ? `π ${repeatValue}` : `[repeat:: ${repeatValue}]`; | 
        
          |  | break; | 
        
          |  | case 'start': | 
        
          |  | case 'scheduled': | 
        
          |  | case 'due': | 
        
          |  | case 'created': | 
        
          |  | case 'completion': | 
        
          |  | // let dateValue = await tp.system.prompt(`Enter your date for ${metadataType}`); | 
        
          |  | let dateValue = await tp.system.prompt(`Enter your date for ${metadataType}. You can also write 'today', 'tomorrow' or 'in n days'. Leave empty for today`); | 
        
          |  | if (dateValue === '') { | 
        
          |  | dateValue = tp.date.now('YYYY-MM-DD'); // use today's date if input is empty | 
        
          |  | } else if (dateValue.toLowerCase() === 'today') { | 
        
          |  | dateValue = tp.date.now('YYYY-MM-DD'); // use today's date if input is "today" | 
        
          |  | } else if (dateValue.toLowerCase() === 'tomorrow') { | 
        
          |  | dateValue = tp.date.now('YYYY-MM-DD', 1); // use tomorrow's date if input is "tomorrow" | 
        
          |  | } else if (dateValue.toLowerCase().startsWith('in ') && dateValue.toLowerCase().endsWith(' days')) { | 
        
          |  | let days = Number(dateValue.split(' ')[1]); | 
        
          |  | if (!isNaN(days)) { | 
        
          |  | dateValue = tp.date.now('YYYY-MM-DD', days); // use the date in X days if input is "in X days" | 
        
          |  | } | 
        
          |  | } | 
        
          |  | if (format == 'emoji') { | 
        
          |  | switch (metadataType.toLowerCase()) { | 
        
          |  | case 'start': | 
        
          |  | metadata = `π« ${dateValue}`; | 
        
          |  | break; | 
        
          |  | case 'scheduled': | 
        
          |  | metadata = `β³ ${dateValue}`; | 
        
          |  | break; | 
        
          |  | case 'due': | 
        
          |  | metadata = `π
 ${dateValue}`; | 
        
          |  | break; | 
        
          |  | case 'created': | 
        
          |  | metadata = `β ${dateValue}`; | 
        
          |  | break; | 
        
          |  | case 'completion': | 
        
          |  | metadata = `β
 ${dateValue}`; | 
        
          |  | break; | 
        
          |  | } | 
        
          |  | } else { | 
        
          |  | metadata = `[${metadataType}:: ${dateValue}]`; | 
        
          |  | } | 
        
          |  | break; | 
        
          |  | default: | 
        
          |  | metadata = 'Invalid input'; | 
        
          |  | } | 
        
          |  | tR += metadata + ' '; | 
        
          |  | -%> |