lib: support "every <weekday>"
A shorter spelling for "every <n>th day of week".
This commit is contained in:
		
							parent
							
								
									993e3f2b67
								
							
						
					
					
						commit
						950891b55b
					
				@ -811,6 +811,12 @@ lastthisnextthing = do
 | 
				
			|||||||
-- Right (WeekdayOfMonth 2 4,DateSpan -2008/12/31)
 | 
					-- Right (WeekdayOfMonth 2 4,DateSpan -2008/12/31)
 | 
				
			||||||
-- >>> p "every 1st monday of month to 2009"
 | 
					-- >>> p "every 1st monday of month to 2009"
 | 
				
			||||||
-- Right (WeekdayOfMonth 1 1,DateSpan -2008/12/31)
 | 
					-- Right (WeekdayOfMonth 1 1,DateSpan -2008/12/31)
 | 
				
			||||||
 | 
					-- >>> p "every tue"
 | 
				
			||||||
 | 
					-- Right (DayOfWeek 2,DateSpan -)
 | 
				
			||||||
 | 
					-- >>> p "every 2nd day of week"
 | 
				
			||||||
 | 
					-- Right (DayOfWeek 2,DateSpan -)
 | 
				
			||||||
 | 
					-- >>> p "every 2nd day 2009-"
 | 
				
			||||||
 | 
					-- Right (DayOfMonth 2,DateSpan 2009/01/01-)
 | 
				
			||||||
periodexpr :: Day -> SimpleTextParser (Interval, DateSpan)
 | 
					periodexpr :: Day -> SimpleTextParser (Interval, DateSpan)
 | 
				
			||||||
periodexpr rdate = choice $ map try [
 | 
					periodexpr rdate = choice $ map try [
 | 
				
			||||||
                    intervalanddateperiodexpr rdate,
 | 
					                    intervalanddateperiodexpr rdate,
 | 
				
			||||||
@ -858,6 +864,10 @@ reportinginterval = choice' [
 | 
				
			|||||||
                          string "day"
 | 
					                          string "day"
 | 
				
			||||||
                          of_ "week"
 | 
					                          of_ "week"
 | 
				
			||||||
                          return $ DayOfWeek n,
 | 
					                          return $ DayOfWeek n,
 | 
				
			||||||
 | 
					                       do string "every"
 | 
				
			||||||
 | 
					                          many spacenonewline
 | 
				
			||||||
 | 
					                          n <- weekday
 | 
				
			||||||
 | 
					                          return $ DayOfWeek n,
 | 
				
			||||||
                       do string "every"
 | 
					                       do string "every"
 | 
				
			||||||
                          many spacenonewline
 | 
					                          many spacenonewline
 | 
				
			||||||
                          n <- nth
 | 
					                          n <- nth
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user