diff options
Diffstat (limited to 'src/Types/Reminder/CmdLine.hs')
-rw-r--r-- | src/Types/Reminder/CmdLine.hs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Types/Reminder/CmdLine.hs b/src/Types/Reminder/CmdLine.hs new file mode 100644 index 0000000..b9a311c --- /dev/null +++ b/src/Types/Reminder/CmdLine.hs @@ -0,0 +1,15 @@ +module Types.Reminder.CmdLine where + +import Text.Regex.Posix ((=~)) + +data CmdLineRemType = RelativeCLRem | AbsoluteCLRem + deriving (Eq, Show, Ord, Bounded) + +cmdLineRemType :: String -> Maybe CmdLineRemType +cmdLineRemType exp + | exp =~ relativeRegExp = Just RelativeCLRem + | exp =~ absoluteRegExp = Just AbsoluteCLRem + | otherwise = Nothing + where + relativeRegExp = "[0-9mh]+[mh]" + absoluteRegExp = "[0-9]{1,2}(:[0-9][0-9])?(am|pm)?" |