packages feed

optima 0.4.0.5 → 0.4.0.6

raw patch · 2 files changed

+38/−39 lines, 2 filesdep ~text-builder

Dependency ranges changed: text-builder

Files

library/Optima.hs view
@@ -41,7 +41,7 @@ import qualified Data.Text as Text import Optima.Prelude hiding (group) import qualified Options.Applicative as Optparse-import qualified Text.Builder as TextBuilder+import qualified TextBuilder  -- * Types @@ -73,7 +73,7 @@  -- | -- Parameter description.-data ValueFormat a = EnumValueFormat [TextBuilder.Builder] | UnspecifiedFormat+data ValueFormat a = EnumValueFormat [TextBuilder.TextBuilder] | UnspecifiedFormat  -- * Instances @@ -257,7 +257,7 @@ -- | -- Derive value format specification from the Enum instance and -- explicit mapping of values to their representations.-formattedByEnumUsingBuilderMapping :: (Bounded a, Enum a) => (a -> TextBuilder.Builder) -> ValueFormat a+formattedByEnumUsingBuilderMapping :: (Bounded a, Enum a) => (a -> TextBuilder.TextBuilder) -> ValueFormat a formattedByEnumUsingBuilderMapping valueRepresentation =   let values = enumFromTo minBound (asTypeOf maxBound (descriptionToA description))       descriptionToA = undefined :: ValueFormat a -> a@@ -271,24 +271,24 @@  -- ** Rendering building -buildValueFormat :: ValueFormat a -> TextBuilder.Builder+buildValueFormat :: ValueFormat a -> TextBuilder.TextBuilder buildValueFormat = \case   EnumValueFormat values -> "(" <> TextBuilder.intercalate ", " values <> ")"   UnspecifiedFormat -> mempty -buildHelp :: Text -> ValueFormat a -> TextBuilder.Builder+buildHelp :: Text -> ValueFormat a -> TextBuilder.TextBuilder buildHelp description valueFormat =   TextBuilder.intercalate     (TextBuilder.char ' ')     (notNull (TextBuilder.text description) <> notNull (buildValueFormat valueFormat))   where-    notNull :: TextBuilder.Builder -> [TextBuilder.Builder]-    notNull = validate (not . TextBuilder.null)+    notNull :: TextBuilder.TextBuilder -> [TextBuilder.TextBuilder]+    notNull = validate (not . TextBuilder.isEmpty)  -- ** Rendering -renderIfNotEmpty :: TextBuilder.Builder -> Maybe Text-renderIfNotEmpty = fmap TextBuilder.run . validate (not . TextBuilder.null)+renderIfNotEmpty :: TextBuilder.TextBuilder -> Maybe Text+renderIfNotEmpty = fmap TextBuilder.toText . validate (not . TextBuilder.isEmpty)  prefixIfMakesSense :: Text -> Text -> Text prefixIfMakesSense prefix text =
optima.cabal view
@@ -1,20 +1,19 @@ cabal-version: 3.0-name:          optima-version:       0.4.0.5-category:      CLI, Parsing, Options-synopsis:      Simple command line interface arguments parser-homepage:      https://github.com/metrix-ai/optima-bug-reports:   https://github.com/metrix-ai/optima/issues-author:        Nikita Volkov <nikita.y.volkov@mail.ru>-maintainer:    Metrix.AI Tech Team <tech@metrix.ai>-copyright:     (c) 2018, Metrix.AI-license:       MIT-license-file:  LICENSE+name: optima+version: 0.4.0.6+category: CLI, Parsing, Options+synopsis: Simple command line interface arguments parser+homepage: https://github.com/metrix-ai/optima+bug-reports: https://github.com/metrix-ai/optima/issues+author: Nikita Volkov <nikita.y.volkov@mail.ru>+maintainer: Metrix.AI Tech Team <tech@metrix.ai>+copyright: (c) 2018, Metrix.AI+license: MIT+license-file: LICENSE  common language-settings+  default-language: Haskell2010   default-extensions:-    NoImplicitPrelude-    NoMonomorphismRestriction     ApplicativeDo     BangPatterns     BinaryLiterals@@ -40,6 +39,8 @@     LiberalTypeSynonyms     MultiParamTypeClasses     MultiWayIf+    NoImplicitPrelude+    NoMonomorphismRestriction     NumericUnderscores     OverloadedLabels     OverloadedStrings@@ -60,27 +61,25 @@     UndecidableInstances     ViewPatterns -  default-language:   Haskell2010- library-  import:          language-settings-  hs-source-dirs:  library+  import: language-settings+  hs-source-dirs: library   exposed-modules: Optima-  other-modules:   Optima.Prelude+  other-modules: Optima.Prelude   build-depends:-    , attoparsec >=0.13 && <0.15-    , attoparsec-data >=1.0.5.2 && <1.1-    , base >=4.9 && <5-    , optparse-applicative >=0.15 && <0.19-    , text >=1.2 && <3-    , text-builder >=0.6 && <0.7+    attoparsec >=0.13 && <0.15,+    attoparsec-data >=1.0.5.2 && <1.1,+    base >=4.9 && <5,+    optparse-applicative >=0.15 && <0.19,+    text >=1.2 && <3,+    text-builder ^>=1,  test-suite demo-  import:         language-settings-  type:           exitcode-stdio-1.0+  import: language-settings+  type: exitcode-stdio-1.0   hs-source-dirs: demo-  main-is:        Main.hs+  main-is: Main.hs   build-depends:-    , attoparsec-data >=1 && <2-    , optima-    , rerebase >=1 && <2+    attoparsec-data >=1 && <2,+    optima,+    rerebase >=1 && <2,