packages feed

orgmode-parse 0.0.1.2 → 0.0.2.0

raw patch · 6 files changed

+41/−8 lines, 6 filesdep +old-localedep +thymePVP ok

version bump matches the API change (PVP)

Dependencies added: old-locale, thyme

API changes (from Hackage documentation)

+ Data.OrgMode.Parse.Attoparsec.Headings: APPOINTMENT :: ScheduleType
+ Data.OrgMode.Parse.Attoparsec.Headings: Active :: LocalTime -> Timestamp
+ Data.OrgMode.Parse.Attoparsec.Headings: Close :: Char -> Close
+ Data.OrgMode.Parse.Attoparsec.Headings: DEADLINE :: ScheduleType
+ Data.OrgMode.Parse.Attoparsec.Headings: Inactive :: LocalTime -> Timestamp
+ Data.OrgMode.Parse.Attoparsec.Headings: Open :: Char -> Open
+ Data.OrgMode.Parse.Attoparsec.Headings: SCHEDULED :: ScheduleType
+ Data.OrgMode.Parse.Attoparsec.Headings: Schedule :: ScheduleType -> Maybe Timestamp -> Maybe Text -> Schedule
+ 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: newtype Close
+ Data.OrgMode.Parse.Attoparsec.Headings: newtype Open
+ Data.OrgMode.Parse.Attoparsec.Headings: recurring :: Schedule -> Maybe Text
+ Data.OrgMode.Parse.Attoparsec.Headings: schedule_type :: Schedule -> ScheduleType
+ Data.OrgMode.Parse.Attoparsec.Headings: timestamp :: Schedule -> Maybe Timestamp
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: APPOINTMENT :: ScheduleType
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Active :: LocalTime -> Timestamp
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Close :: Char -> Close
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: DEADLINE :: ScheduleType
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Inactive :: LocalTime -> Timestamp
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Open :: Char -> Open
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: SCHEDULED :: ScheduleType
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: Schedule :: ScheduleType -> Maybe Timestamp -> Maybe Text -> Schedule
+ 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: newtype Close
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: newtype Open
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: recurring :: Schedule -> Maybe Text
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: schedule_type :: Schedule -> ScheduleType
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: timestamp :: Schedule -> Maybe Timestamp
+ 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: parseTimestamp :: Open -> Close -> Parser Text (Maybe Schedule)
+ Data.OrgMode.Parse.Attoparsec.Time: priority :: Heading -> Maybe Priority
+ Data.OrgMode.Parse.Attoparsec.Time: recurring :: Schedule -> Maybe Text
+ Data.OrgMode.Parse.Attoparsec.Time: scheduleType :: Parser Text ScheduleType
+ 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

Files

CHANGELOG view
@@ -1,6 +1,9 @@ -*- mode: org -*-  * Changelog+** 0.0.2.0+*** Features+    - [X] Added parsers for the scheduled / deadline timestamps. ** 0.0.1.1 *** Features     - [X] Parsing of property drawer.
README.org view
@@ -2,6 +2,6 @@   [[https://hackage.haskell.org/package/orgmode-parse][https://img.shields.io/hackage/v/orgmode-parse.svg?style=flat]]   [[https://travis-ci.org/digitalmentat/orgmode-parse][https://travis-ci.org/digitalmentat/orgmode-parse.svg?branch=master]] -  This is a reference implementation of an [[https://github.com/msgheap/orgmode-grammar/blob/master/SPECIFICATION.org][orgmode-grammar]] parser in+  This is a reference implementation of an [[https://github.com/digitalmentat/orgmode-grammar/blob/master/SPECIFICATION.org][orgmode-grammar]] parser in   Haskell. 
orgmode-parse.cabal view
@@ -1,5 +1,5 @@ Name:                   orgmode-parse-Version:                0.0.1.2+Version:                0.0.2.0 Author:                 Parnell Springmeyer <parnell@digitalmentat.com> Maintainer:             Parnell Springmeyer <parnell@digitalmentat.com> License:                BSD3@@ -8,14 +8,14 @@ Synopsis:               A parser and writer for org-mode flavored documents. Description: +  <<https://travis-ci.org/digitalmentat/orgmode-parse.svg?branch=master>>+  .   `orgmode-parse` is a parsing and writing library for the org-mode flavor   of document markup.   .   This library parses the human-readable and textual representation   into an AST that can be used for output to another format (HTML?-  Markdown?), binary serialized for storage, etc...-  .-  <<https://travis-ci.org/digitalmentat/orgmode-parse.svg?branch=master>>+  Markdown?), serialized for storage, etc...  Cabal-Version:          >= 1.10 Build-Type:             Simple@@ -42,6 +42,8 @@     base                      >= 4.4      && < 5,     attoparsec                >= 0.12     && < 0.13,     unordered-containers      >= 0.2      && < 0.3,+    thyme                     >= 0.3      && < 0.4,+    old-locale                >= 1.0      && < 2.0,     free                      >= 4.9      && < 5,     text                      >= 1.0      && < 2.0 @@ -58,7 +60,9 @@     base                       >= 4.4      && < 5,     text                       >= 1.0      && < 2.0,     attoparsec                 >= 0.12     && < 0.13,-    unordered-containers      >= 0.2      && < 0.3,+    unordered-containers       >= 0.2      && < 0.3,+    thyme                      >= 0.3      && < 0.4,+    old-locale                 >= 1.0      && < 2.0,     HUnit                      >= 1.2.5.2  && < 1.3,     tasty                      >= 0.8      && < 0.9,     tasty-hunit                >= 0.8.0.1  && < 0.9
src/Data/OrgMode/Parse.hs view
@@ -16,9 +16,11 @@ -- * Parse Headline   module Data.OrgMode.Parse.Attoparsec.Headings -- * Parse Headline Metadata (properties, timestamps, etc...)+, module Data.OrgMode.Parse.Attoparsec.Time , module Data.OrgMode.Parse.Attoparsec.PropertyDrawer -- * Parse Body ) where  import           Data.OrgMode.Parse.Attoparsec.Headings import           Data.OrgMode.Parse.Attoparsec.PropertyDrawer+import           Data.OrgMode.Parse.Attoparsec.Time
src/Data/OrgMode/Parse/Internal.hs view
@@ -17,11 +17,17 @@ , State    (..) , Keyword  (..) , PropertyDrawer (..)+, Schedule     (..)+, ScheduleType (..)+, Timestamp    (..)+, Open         (..)+, Close        (..) , toPriority ) where -import           Data.HashMap.Strict (HashMap)-import           Data.Text           (Text)+import           Data.HashMap.Strict  (HashMap)+import           Data.Text            (Text)+import           Data.Thyme.LocalTime (LocalTime (..))  ---------------------------------------------------------------------------- @@ -53,3 +59,19 @@  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
test/Test.hs view
@@ -6,6 +6,7 @@ import           Headings import           PropertyDrawer import           Test.Tasty+import           Timestamps  main :: IO () main = defaultMain tests@@ -15,4 +16,5 @@           "OrgMode Parser Tests"           [ parserHeadingTests           , parserPropertyDrawerTests+          , parserTimestampTests           ]