orgmode-parse 0.0.2.0 → 0.0.2.1
raw patch · 4 files changed
+83/−81 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.OrgMode.Parse.Attoparsec.Headings: A :: Priority
- Data.OrgMode.Parse.Attoparsec.Headings: APPOINTMENT :: ScheduleType
- Data.OrgMode.Parse.Attoparsec.Headings: Active :: LocalTime -> Timestamp
- Data.OrgMode.Parse.Attoparsec.Headings: B :: Priority
- Data.OrgMode.Parse.Attoparsec.Headings: C :: Priority
- Data.OrgMode.Parse.Attoparsec.Headings: Close :: Char -> Close
- Data.OrgMode.Parse.Attoparsec.Headings: DEADLINE :: ScheduleType
- Data.OrgMode.Parse.Attoparsec.Headings: Heading :: Int -> Maybe Priority -> Maybe State -> Text -> [Keyword] -> Heading
- Data.OrgMode.Parse.Attoparsec.Headings: Inactive :: LocalTime -> Timestamp
- Data.OrgMode.Parse.Attoparsec.Headings: Keyword :: Text -> Keyword
- Data.OrgMode.Parse.Attoparsec.Headings: Open :: Char -> Open
- Data.OrgMode.Parse.Attoparsec.Headings: PropertyDrawer :: (HashMap k v) -> PropertyDrawer k v
- Data.OrgMode.Parse.Attoparsec.Headings: SCHEDULED :: ScheduleType
- Data.OrgMode.Parse.Attoparsec.Headings: Schedule :: ScheduleType -> Maybe Timestamp -> Maybe Text -> Schedule
- Data.OrgMode.Parse.Attoparsec.Headings: State :: Text -> State
- Data.OrgMode.Parse.Attoparsec.Headings: Unknown :: Priority
- Data.OrgMode.Parse.Attoparsec.Headings: data Heading
- Data.OrgMode.Parse.Attoparsec.Headings: data Priority
- Data.OrgMode.Parse.Attoparsec.Headings: data Schedule
- Data.OrgMode.Parse.Attoparsec.Headings: data ScheduleType
- Data.OrgMode.Parse.Attoparsec.Headings: data Timestamp
- Data.OrgMode.Parse.Attoparsec.Headings: keywords :: Heading -> [Keyword]
- Data.OrgMode.Parse.Attoparsec.Headings: level :: Heading -> Int
- Data.OrgMode.Parse.Attoparsec.Headings: newtype Close
- Data.OrgMode.Parse.Attoparsec.Headings: newtype Keyword
- Data.OrgMode.Parse.Attoparsec.Headings: newtype Open
- Data.OrgMode.Parse.Attoparsec.Headings: newtype PropertyDrawer k v
- Data.OrgMode.Parse.Attoparsec.Headings: newtype State
- Data.OrgMode.Parse.Attoparsec.Headings: priority :: Heading -> Maybe Priority
- Data.OrgMode.Parse.Attoparsec.Headings: recurring :: Schedule -> Maybe Text
- Data.OrgMode.Parse.Attoparsec.Headings: schedule_type :: Schedule -> ScheduleType
- Data.OrgMode.Parse.Attoparsec.Headings: state :: Heading -> Maybe State
- Data.OrgMode.Parse.Attoparsec.Headings: timestamp :: Schedule -> Maybe Timestamp
- Data.OrgMode.Parse.Attoparsec.Headings: title :: Heading -> Text
- Data.OrgMode.Parse.Attoparsec.Headings: toPriority :: Text -> Priority
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: A :: Priority
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: APPOINTMENT :: ScheduleType
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Active :: LocalTime -> Timestamp
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: B :: Priority
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: C :: Priority
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Close :: Char -> Close
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: DEADLINE :: ScheduleType
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Heading :: Int -> Maybe Priority -> Maybe State -> Text -> [Keyword] -> Heading
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Inactive :: LocalTime -> Timestamp
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Keyword :: Text -> Keyword
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Open :: Char -> Open
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: PropertyDrawer :: (HashMap k v) -> PropertyDrawer k v
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: SCHEDULED :: ScheduleType
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Schedule :: ScheduleType -> Maybe Timestamp -> Maybe Text -> Schedule
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: State :: Text -> State
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Unknown :: Priority
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: data Heading
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: data Priority
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: data Schedule
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: data ScheduleType
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: data Timestamp
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: keywords :: Heading -> [Keyword]
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: level :: Heading -> Int
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: newtype Close
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: newtype Keyword
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: newtype Open
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: newtype PropertyDrawer k v
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: newtype State
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: priority :: Heading -> Maybe Priority
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: recurring :: Schedule -> Maybe Text
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: schedule_type :: Schedule -> ScheduleType
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: state :: Heading -> Maybe State
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: timestamp :: Schedule -> Maybe Timestamp
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: title :: Heading -> Text
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: toPriority :: Text -> Priority
- Data.OrgMode.Parse.Attoparsec.Time: A :: Priority
- Data.OrgMode.Parse.Attoparsec.Time: APPOINTMENT :: ScheduleType
- Data.OrgMode.Parse.Attoparsec.Time: Active :: LocalTime -> Timestamp
- Data.OrgMode.Parse.Attoparsec.Time: B :: Priority
- Data.OrgMode.Parse.Attoparsec.Time: C :: Priority
- Data.OrgMode.Parse.Attoparsec.Time: Close :: Char -> Close
- Data.OrgMode.Parse.Attoparsec.Time: DEADLINE :: ScheduleType
- Data.OrgMode.Parse.Attoparsec.Time: Heading :: Int -> Maybe Priority -> Maybe State -> Text -> [Keyword] -> Heading
- Data.OrgMode.Parse.Attoparsec.Time: Inactive :: LocalTime -> Timestamp
- Data.OrgMode.Parse.Attoparsec.Time: Keyword :: Text -> Keyword
- Data.OrgMode.Parse.Attoparsec.Time: Open :: Char -> Open
- Data.OrgMode.Parse.Attoparsec.Time: PropertyDrawer :: (HashMap k v) -> PropertyDrawer k v
- Data.OrgMode.Parse.Attoparsec.Time: SCHEDULED :: ScheduleType
- Data.OrgMode.Parse.Attoparsec.Time: Schedule :: ScheduleType -> Maybe Timestamp -> Maybe Text -> Schedule
- Data.OrgMode.Parse.Attoparsec.Time: State :: Text -> State
- Data.OrgMode.Parse.Attoparsec.Time: Unknown :: Priority
- Data.OrgMode.Parse.Attoparsec.Time: data Heading
- Data.OrgMode.Parse.Attoparsec.Time: data Priority
- Data.OrgMode.Parse.Attoparsec.Time: data Schedule
- Data.OrgMode.Parse.Attoparsec.Time: data ScheduleType
- Data.OrgMode.Parse.Attoparsec.Time: data Timestamp
- Data.OrgMode.Parse.Attoparsec.Time: keywords :: Heading -> [Keyword]
- Data.OrgMode.Parse.Attoparsec.Time: level :: Heading -> Int
- Data.OrgMode.Parse.Attoparsec.Time: newtype Close
- Data.OrgMode.Parse.Attoparsec.Time: newtype Keyword
- Data.OrgMode.Parse.Attoparsec.Time: newtype Open
- Data.OrgMode.Parse.Attoparsec.Time: newtype PropertyDrawer k v
- Data.OrgMode.Parse.Attoparsec.Time: newtype State
- Data.OrgMode.Parse.Attoparsec.Time: priority :: Heading -> Maybe Priority
- Data.OrgMode.Parse.Attoparsec.Time: recurring :: Schedule -> Maybe Text
- Data.OrgMode.Parse.Attoparsec.Time: schedule_type :: Schedule -> ScheduleType
- Data.OrgMode.Parse.Attoparsec.Time: state :: Heading -> Maybe State
- Data.OrgMode.Parse.Attoparsec.Time: timestamp :: Schedule -> Maybe Timestamp
- Data.OrgMode.Parse.Attoparsec.Time: title :: Heading -> Text
- Data.OrgMode.Parse.Attoparsec.Time: toPriority :: Text -> Priority
+ Data.OrgMode.Parse.Types: A :: Priority
+ Data.OrgMode.Parse.Types: APPOINTMENT :: ScheduleType
+ Data.OrgMode.Parse.Types: Active :: LocalTime -> Timestamp
+ Data.OrgMode.Parse.Types: B :: Priority
+ Data.OrgMode.Parse.Types: C :: Priority
+ Data.OrgMode.Parse.Types: Close :: Char -> Close
+ Data.OrgMode.Parse.Types: DEADLINE :: ScheduleType
+ Data.OrgMode.Parse.Types: Heading :: Int -> Maybe Priority -> Maybe State -> Text -> [Keyword] -> Heading
+ Data.OrgMode.Parse.Types: Inactive :: LocalTime -> Timestamp
+ Data.OrgMode.Parse.Types: Keyword :: Text -> Keyword
+ Data.OrgMode.Parse.Types: Open :: Char -> Open
+ Data.OrgMode.Parse.Types: PropertyDrawer :: (HashMap k v) -> PropertyDrawer k v
+ Data.OrgMode.Parse.Types: SCHEDULED :: ScheduleType
+ Data.OrgMode.Parse.Types: Schedule :: ScheduleType -> Maybe Timestamp -> Maybe Text -> Schedule
+ Data.OrgMode.Parse.Types: State :: Text -> State
+ Data.OrgMode.Parse.Types: Unknown :: Priority
+ Data.OrgMode.Parse.Types: data Heading
+ Data.OrgMode.Parse.Types: data Priority
+ Data.OrgMode.Parse.Types: data Schedule
+ Data.OrgMode.Parse.Types: data ScheduleType
+ Data.OrgMode.Parse.Types: data Timestamp
+ Data.OrgMode.Parse.Types: instance (Eq k, Eq v) => Eq (PropertyDrawer k v)
+ Data.OrgMode.Parse.Types: instance (Show k, Show v) => Show (PropertyDrawer k v)
+ Data.OrgMode.Parse.Types: instance Eq Heading
+ Data.OrgMode.Parse.Types: instance Eq Keyword
+ Data.OrgMode.Parse.Types: instance Eq Priority
+ Data.OrgMode.Parse.Types: instance Eq Schedule
+ Data.OrgMode.Parse.Types: instance Eq ScheduleType
+ Data.OrgMode.Parse.Types: instance Eq State
+ Data.OrgMode.Parse.Types: instance Eq Timestamp
+ Data.OrgMode.Parse.Types: instance Ord Keyword
+ Data.OrgMode.Parse.Types: instance Ord Priority
+ Data.OrgMode.Parse.Types: instance Read Priority
+ Data.OrgMode.Parse.Types: instance Show Heading
+ Data.OrgMode.Parse.Types: instance Show Keyword
+ Data.OrgMode.Parse.Types: instance Show Priority
+ Data.OrgMode.Parse.Types: instance Show Schedule
+ Data.OrgMode.Parse.Types: instance Show ScheduleType
+ Data.OrgMode.Parse.Types: instance Show State
+ Data.OrgMode.Parse.Types: instance Show Timestamp
+ Data.OrgMode.Parse.Types: keywords :: Heading -> [Keyword]
+ Data.OrgMode.Parse.Types: level :: Heading -> Int
+ Data.OrgMode.Parse.Types: newtype Close
+ Data.OrgMode.Parse.Types: newtype Keyword
+ Data.OrgMode.Parse.Types: newtype Open
+ Data.OrgMode.Parse.Types: newtype PropertyDrawer k v
+ Data.OrgMode.Parse.Types: newtype State
+ Data.OrgMode.Parse.Types: priority :: Heading -> Maybe Priority
+ Data.OrgMode.Parse.Types: recurring :: Schedule -> Maybe Text
+ Data.OrgMode.Parse.Types: schedule_type :: Schedule -> ScheduleType
+ Data.OrgMode.Parse.Types: state :: Heading -> Maybe State
+ Data.OrgMode.Parse.Types: timestamp :: Schedule -> Maybe Timestamp
+ Data.OrgMode.Parse.Types: title :: Heading -> Text
+ Data.OrgMode.Parse.Types: toPriority :: Text -> Priority
Files
- CHANGELOG +4/−0
- orgmode-parse.cabal +2/−4
- src/Data/OrgMode/Parse/Internal.hs +0/−77
- src/Data/OrgMode/Parse/Types.hs +77/−0
CHANGELOG view
@@ -1,6 +1,10 @@ -*- mode: org -*- * Changelog+** 0.0.2.1+*** Bugfixes+ - [X] Fixing the import for the =Internal= module (instead of+ re-exporting it in each parser module). ** 0.0.2.0 *** Features - [X] Added parsers for the scheduled / deadline timestamps.
orgmode-parse.cabal view
@@ -1,5 +1,5 @@ Name: orgmode-parse-Version: 0.0.2.0+Version: 0.0.2.1 Author: Parnell Springmeyer <parnell@digitalmentat.com> Maintainer: Parnell Springmeyer <parnell@digitalmentat.com> License: BSD3@@ -34,9 +34,7 @@ Exposed-Modules: Data.OrgMode.Parse-- Other-Modules:- Data.OrgMode.Parse.Internal+ Data.OrgMode.Parse.Types Build-Depends: base >= 4.4 && < 5,
− src/Data/OrgMode/Parse/Internal.hs
@@ -1,77 +0,0 @@--------------------------------------------------------------------------------- |--- Module : Data.OrgMode.Parse.Internal--- Copyright : © 2014 Parnell Springmeyer--- License : All Rights Reserved--- Maintainer : Parnell Springmeyer <parnell@digitalmentat.com>--- Stability : stable------ Internal types and utility functions.-------------------------------------------------------------------------------{-# LANGUAGE OverloadedStrings #-}--module Data.OrgMode.Parse.Internal-( Heading (..)-, Priority (..)-, State (..)-, Keyword (..)-, PropertyDrawer (..)-, Schedule (..)-, ScheduleType (..)-, Timestamp (..)-, Open (..)-, Close (..)-, toPriority-) where--import Data.HashMap.Strict (HashMap)-import Data.Text (Text)-import Data.Thyme.LocalTime (LocalTime (..))--------------------------------------------------------------------------------data Heading = Heading- { level :: Int- , priority :: Maybe Priority- , state :: Maybe State- , title :: Text- , keywords :: [Keyword]- } deriving (Show, Eq)---data Priority = A | B | C | Unknown- deriving (Show, Read, Eq, Ord)--newtype State = State Text- deriving (Show, Eq)--newtype Keyword = Keyword Text- deriving (Show, Eq, Ord)--toPriority :: Text -> Priority-toPriority "A" = A-toPriority "B" = B-toPriority "C" = C-toPriority _ = Unknown--------------------------------------------------------------------------------newtype PropertyDrawer k v = PropertyDrawer (HashMap k v)- deriving (Show, Eq)-------------------------------------------------------------------------------data Schedule = Schedule- { schedule_type :: ScheduleType- , timestamp :: Maybe Timestamp- , recurring :: Maybe Text- } deriving (Show, Eq)--data ScheduleType = SCHEDULED | DEADLINE | APPOINTMENT- deriving (Show, Eq)--data Timestamp = Active LocalTime | Inactive LocalTime- deriving (Show, Eq)--newtype Open = Open Char-newtype Close = Close Char
+ src/Data/OrgMode/Parse/Types.hs view
@@ -0,0 +1,77 @@+-----------------------------------------------------------------------------+-- |+-- Module : Data.OrgMode.Parse.Types+-- Copyright : © 2014 Parnell Springmeyer+-- License : All Rights Reserved+-- Maintainer : Parnell Springmeyer <parnell@digitalmentat.com>+-- Stability : stable+--+-- Types and utility functions.+----------------------------------------------------------------------------++{-# LANGUAGE OverloadedStrings #-}++module Data.OrgMode.Parse.Types+( Heading (..)+, Priority (..)+, State (..)+, Keyword (..)+, PropertyDrawer (..)+, Schedule (..)+, ScheduleType (..)+, Timestamp (..)+, Open (..)+, Close (..)+, toPriority+) where++import Data.HashMap.Strict (HashMap)+import Data.Text (Text)+import Data.Thyme.LocalTime (LocalTime (..))++----------------------------------------------------------------------------++data Heading = Heading+ { level :: Int+ , priority :: Maybe Priority+ , state :: Maybe State+ , title :: Text+ , keywords :: [Keyword]+ } deriving (Show, Eq)+++data Priority = A | B | C | Unknown+ deriving (Show, Read, Eq, Ord)++newtype State = State Text+ deriving (Show, Eq)++newtype Keyword = Keyword Text+ deriving (Show, Eq, Ord)++toPriority :: Text -> Priority+toPriority "A" = A+toPriority "B" = B+toPriority "C" = C+toPriority _ = Unknown++----------------------------------------------------------------------------++newtype PropertyDrawer k v = PropertyDrawer (HashMap k v)+ deriving (Show, Eq)++----------------------------------------------------------------------------+data Schedule = Schedule+ { schedule_type :: ScheduleType+ , timestamp :: Maybe Timestamp+ , recurring :: Maybe Text+ } deriving (Show, Eq)++data ScheduleType = SCHEDULED | DEADLINE | APPOINTMENT+ deriving (Show, Eq)++data Timestamp = Active LocalTime | Inactive LocalTime+ deriving (Show, Eq)++newtype Open = Open Char+newtype Close = Close Char