packages feed

orgmode-parse 0.1.0 → 0.1.0.1

raw patch · 2 files changed

+50/−42 lines, 2 filesdep ~HUnitdep ~aesondep ~attoparsecPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: HUnit, aeson, attoparsec, base, bytestring, containers, free, hashable, old-locale, tasty, tasty-hunit, text, thyme, unordered-containers

API changes (from Hackage documentation)

+ Data.OrgMode.Parse.Attoparsec.Headings: instance Eq LevelDepth
+ Data.OrgMode.Parse.Attoparsec.Headings: instance Eq TitleMeta
+ Data.OrgMode.Parse.Attoparsec.Headings: instance Num LevelDepth
+ Data.OrgMode.Parse.Attoparsec.Headings: instance Show LevelDepth
+ Data.OrgMode.Parse.Attoparsec.Headings: instance Show TitleMeta
+ Data.OrgMode.Parse.Attoparsec.Time: BracketedDateTime :: YearMonthDay -> Maybe Weekday -> Maybe TimePart -> Maybe Repeater -> Maybe Delay -> Bool -> BracketedDateTime
+ Data.OrgMode.Parse.Attoparsec.Time: TimePart :: (Either AbsoluteTime TimestampRange) -> TimePart
+ Data.OrgMode.Parse.Attoparsec.Time: data BracketedDateTime
+ Data.OrgMode.Parse.Attoparsec.Time: datePart :: BracketedDateTime -> YearMonthDay
+ Data.OrgMode.Parse.Attoparsec.Time: dayNamePart :: BracketedDateTime -> Maybe Weekday
+ Data.OrgMode.Parse.Attoparsec.Time: delayPart :: BracketedDateTime -> Maybe Delay
+ Data.OrgMode.Parse.Attoparsec.Time: instance Eq BracketedDateTime
+ Data.OrgMode.Parse.Attoparsec.Time: instance Eq TimePart
+ Data.OrgMode.Parse.Attoparsec.Time: instance Ord TimePart
+ Data.OrgMode.Parse.Attoparsec.Time: instance Show BracketedDateTime
+ Data.OrgMode.Parse.Attoparsec.Time: instance Show TimePart
+ Data.OrgMode.Parse.Attoparsec.Time: isActive :: BracketedDateTime -> Bool
+ Data.OrgMode.Parse.Attoparsec.Time: newtype TimePart
+ Data.OrgMode.Parse.Attoparsec.Time: repeat :: BracketedDateTime -> Maybe Repeater
+ Data.OrgMode.Parse.Attoparsec.Time: timePart :: BracketedDateTime -> Maybe TimePart
+ Data.OrgMode.Parse.Attoparsec.Time: transformBracketedDateTime :: BracketedDateTime -> (DateTime, Maybe (Hours, Minutes), Bool)
+ Data.OrgMode.Parse.Attoparsec.Time: type AbsoluteTime = (Hours, Minutes)
+ Data.OrgMode.Parse.Attoparsec.Time: type TimestampRange = (AbsoluteTime, AbsoluteTime)
+ Data.OrgMode.Parse.Attoparsec.Time: type Weekday = Text
+ Data.OrgMode.Parse.Types: Level :: Int -> Level
+ Data.OrgMode.Parse.Types: instance Constructor C1_0Level
+ Data.OrgMode.Parse.Types: instance Datatype D1Level
+ Data.OrgMode.Parse.Types: instance Eq Level
+ Data.OrgMode.Parse.Types: instance FromJSON Level
+ Data.OrgMode.Parse.Types: instance Generic Level
+ Data.OrgMode.Parse.Types: instance Num Level
+ Data.OrgMode.Parse.Types: instance Show Level
+ Data.OrgMode.Parse.Types: instance ToJSON Level
+ Data.OrgMode.Parse.Types: newtype Level
- Data.OrgMode.Parse.Attoparsec.Headings: headingBelowLevel :: [Text] -> Int -> Parser Text Heading
+ Data.OrgMode.Parse.Attoparsec.Headings: headingBelowLevel :: [Text] -> LevelDepth -> Parser Text Heading
- Data.OrgMode.Parse.Attoparsec.Headings: headingLevel :: Int -> Parser Text Int
+ Data.OrgMode.Parse.Attoparsec.Headings: headingLevel :: LevelDepth -> Parser Text Level
- Data.OrgMode.Parse.Attoparsec.PropertyDrawer: property :: Parser Text (Text, Text)
+ Data.OrgMode.Parse.Attoparsec.PropertyDrawer: property :: Parser Text (PropertyKey, PropertyVal)
- Data.OrgMode.Parse.Attoparsec.Time: parseBracketedDateTime :: Parser Text (DateTime, Maybe (Hours, Minutes), Bool)
+ Data.OrgMode.Parse.Attoparsec.Time: parseBracketedDateTime :: Parser Text BracketedDateTime
- Data.OrgMode.Parse.Attoparsec.Time: parseTime' :: Parser Text (Either (Hours, Minutes) ((Hours, Minutes), (Hours, Minutes)))
+ Data.OrgMode.Parse.Attoparsec.Time: parseTime' :: Parser Text TimePart
- Data.OrgMode.Parse.Types: Heading :: Int -> Maybe StateKeyword -> Maybe Priority -> Text -> Maybe Stats -> [Tag] -> Section -> [Heading] -> Heading
+ Data.OrgMode.Parse.Types: Heading :: Level -> Maybe StateKeyword -> Maybe Priority -> Text -> Maybe Stats -> [Tag] -> Section -> [Heading] -> Heading
- Data.OrgMode.Parse.Types: level :: Heading -> Int
+ Data.OrgMode.Parse.Types: level :: Heading -> Level

Files

orgmode-parse.cabal view
@@ -1,21 +1,22 @@ Name:                   orgmode-parse-Version:                0.1.0+Version:                0.1.0.1 Author:                 Parnell Springmeyer <parnell@digitalmentat.com> Maintainer:             Parnell Springmeyer <parnell@digitalmentat.com> License:                BSD3 License-File:           LICENSE Category:               Data-Synopsis:               A parser and writer for org-mode flavored documents.+Synopsis:               A collection of Attoparsec combinators for parsing 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.+  `orgmode-parse` is a parsing 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?), serialized for storage, etc...+  The provided Attoparsec combinators parse the human-readable and+  textual representation into a simple AST for storage or output to+  another format (HTML?  Markdown?).  Cabal-Version:          >= 1.10 Build-Type:             Simple@@ -30,24 +31,24 @@   Default-Language:     Haskell2010   HS-Source-Dirs:       src   Ghc-options:-    -Wall -fwarn-tabs -funbox-strict-fields -fno-warn-orphans -fno-warn-unused-do-bind+                 -Wall -fwarn-tabs -funbox-strict-fields -fno-warn-orphans -fno-warn-unused-do-bind    Exposed-Modules:-    Data.OrgMode.Parse-    Data.OrgMode.Parse.Types+                  Data.OrgMode.Parse+                  Data.OrgMode.Parse.Types    Build-Depends:-                  aeson                     >= 0.8.0.2  && < 0.9-                , attoparsec                >= 0.12     && < 0.13-                , base                      >= 4.4      && < 5-                , bytestring                >= 0.10.4   && < 0.11-                , containers                >= 0.5.5    && < 0.6-                , free                      >= 4.9      && < 5-                , hashable                  >= 1.2      && < 1.3-                , old-locale                >= 1.0      && < 2.0-                , text                      >= 1.0      && < 2.0-                , thyme                     >= 0.3      && < 0.4-                , unordered-containers      >= 0.2      && < 0.3+                base                      >= 4.4      && < 5+              , aeson                     >= 0.8.0.2+              , attoparsec                >= 0.12+              , bytestring                >= 0.10.4+              , containers                >= 0.5.5+              , free                      >= 4.9+              , hashable                  >= 1.2+              , old-locale                >= 1.0+              , text                      >= 1.0+              , thyme                     >= 0.3+              , unordered-containers      >= 0.2  Test-Suite tests   Type:                 exitcode-stdio-1.0@@ -56,22 +57,22 @@   Ghc-Options:          -Wall   Main-Is:              Test.hs   Other-Modules:-    Data.OrgMode.Parse+                Data.OrgMode.Parse    Build-Depends:-    base                       >= 4.4      && < 5,-    aeson                      >= 0.8      && < 0.9,-    bytestring                 >= 0.10     && < 0.11,-    text                       >= 1.0      && < 2.0,-    attoparsec                 >= 0.12     && < 0.13,-    hashable                   >= 1.2      && < 1.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.11,-    tasty-hunit                >= 0.8.0.1  && < 0.9,-    containers+                base                       >= 4.4+              , aeson                      >= 0.8+              , bytestring                 >= 0.10+              , text                       >= 1.0+              , attoparsec                 >= 0.12+              , hashable                   >= 1.2+              , unordered-containers       >= 0.2+              , thyme                      >= 0.3+              , old-locale                 >= 1.0+              , HUnit                      >= 1.2.5.2+              , tasty                      >= 0.8+              , tasty-hunit                >= 0.8.0.1+              , containers  Source-Repository head   Type:                 git
src/Data/OrgMode/Parse/Types.hs view
@@ -8,12 +8,14 @@ Types and utility functions. -} -{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE DeriveGeneric     #-}+{-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE OverloadedStrings          #-}  module Data.OrgMode.Parse.Types ( Document (..) , Section (..)+, Level (..) , Heading  (..) , Priority (..) , Plannings (..)@@ -36,12 +38,12 @@  import           Control.Applicative import           Control.Monad        (mzero)+import           Data.Aeson           ((.:), (.=)) import qualified Data.Aeson           as A-import           Data.Aeson           ((.=),(.:))-import           Data.Hashable        (Hashable(..))-import           Data.HashMap.Strict  (HashMap, fromList, toList, keys)+import           Data.Hashable        (Hashable (..))+import           Data.HashMap.Strict  (HashMap, fromList, keys, toList) import           Data.Text            (Text, pack)-import           Data.Thyme.Calendar  (YearMonthDay(..))+import           Data.Thyme.Calendar  (YearMonthDay (..)) import           Data.Thyme.LocalTime (Hour, Minute) import           Data.Traversable import           GHC.Generics@@ -55,7 +57,7 @@ instance A.FromJSON Document where  data Heading = Heading-    { level       :: Int                -- ^ Org headline nesting level (1 is at the top)+    { level       :: Level              -- ^ Org headline nesting level (1 is at the top)     , keyword     :: Maybe StateKeyword -- ^ State of the headline (e.g. TODO, DONE)     , priority    :: Maybe Priority     --     , title       :: Text               -- properties@@ -65,6 +67,8 @@     , subHeadings :: [Heading]          -- elements     } deriving (Show, Eq, Generic) +newtype Level = Level Int deriving (Eq, Show, Num, Generic)+ type Properties = HashMap Text Text type Clock      = (Maybe Timestamp, Maybe Duration) @@ -157,6 +161,9 @@ --------------------------------------------------------------------------- --instance A.ToJSON Document where --instance A.FromJSON Document where++instance A.ToJSON Level where+instance A.FromJSON Level where  newtype StateKeyword = StateKeyword {unStateKeyword :: Text}   deriving (Show, Eq, Generic)