yamlparse-applicative 0.1.0.0 → 0.1.0.1
raw patch · 3 files changed
+26/−4 lines, 3 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ YamlParse.Applicative: prettyParserDoc :: Parser i o -> Text
+ YamlParse.Applicative: prettySchemaDoc :: forall o i. YamlSchema o => Text
+ YamlParse.Applicative.Pretty: prettyParserDoc :: Parser i o -> Text
+ YamlParse.Applicative.Pretty: prettySchemaDoc :: forall o i. YamlSchema o => Text
Files
- src/YamlParse/Applicative.hs +6/−2
- src/YamlParse/Applicative/Pretty.hs +18/−0
- yamlparse-applicative.cabal +2/−2
src/YamlParse/Applicative.hs view
@@ -24,7 +24,7 @@ -- -- Instead of implementing a 'Data.Yaml.FromJSON' instance, you now implement a 'YamlSchema' instance like so: ----- > instance YamlSchema Configuration+-- > instance YamlSchema Configuration where -- > yamlSchema = -- > objectParser $ -- Declare that it is a Yaml object -- > Configuration@@ -44,7 +44,7 @@ -- -- Now you can implement 'Data.Yaml.FromJSON' like so: ----- > instance FromJSON Configuration+-- > instance FromJSON Configuration where -- > parseJSON = viaYamlSchema -- -- And you can get user-facing documentation about the format for free using 'prettySchema . explainParser':@@ -113,6 +113,10 @@ implementParser, -- * Documentation for a 'Parser'+ prettySchemaDoc,+ prettyParserDoc,++ -- ** Parser schemas explainParser, Schema (..),
src/YamlParse/Applicative/Pretty.hs view
@@ -1,9 +1,11 @@+{-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TypeApplications #-} module YamlParse.Applicative.Pretty where @@ -11,7 +13,23 @@ import Data.Text (Text) import Data.Text.Prettyprint.Doc import Data.Text.Prettyprint.Doc.Render.Text+import YamlParse.Applicative.Class import YamlParse.Applicative.Explain+import YamlParse.Applicative.Parser++-- | Render pretty documentation about the 'yamlSchema' of a type+--+-- This is meant for humans.+-- The output may look like YAML but it is not.+prettySchemaDoc :: forall o i. YamlSchema o => Text+prettySchemaDoc = prettyParserDoc (yamlSchema @o)++-- | Render pretty documentation about a parser+--+-- This is meant for humans.+-- The output may look like YAML but it is not.+prettyParserDoc :: Parser i o -> Text+prettyParserDoc = prettySchema . explainParser -- | Render a schema as pretty text. --
yamlparse-applicative.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 672687e38104a0d33d85b5105076de8eb8e5fcf05a7978598b47f291c3bfcaac+-- hash: 63f792362464bdaad4d56636d97966fab17cacd6884f9f3f049a8617543a6cb8 name: yamlparse-applicative-version: 0.1.0.0+version: 0.1.0.1 synopsis: Declaritive configuration parsing with free docs description: See https://github.com/NorfairKing/yamlparse-applicative homepage: https://github.com/NorfairKing/yamlparse-applicative#readme