packages feed

mdoc 0.4.0.0 → 0.4.1.0

raw patch · 2 files changed

+30/−29 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

mdoc.cabal view
@@ -1,6 +1,6 @@ cabal-version:      1.18 name:               mdoc-version:            0.4.0.0+version:            0.4.1.0 license:            AGPL-3 license-file:       COPYING maintainer:         Pat Brisbin
src/OptEnvConf/Mdoc.hs view
@@ -46,20 +46,18 @@ addToPage   :: Int   -> Page-  -> Either [CommandDoc (Maybe SetDoc)] (Described SetDoc)+  -> Described SetDoc   -> Page-addToPage index acc = \case-  Left cdocs -> addCommands (zipWith getCommand [1 ..] cdocs) acc-  Right d ->-    flip appEndo acc-      $ mconcat-      $ catMaybes-        [ Endo . addSwitch <$> traverse setDocToFlag d-        , Endo . addOption <$> traverse setDocToOption d-        , Endo . addArgument <$> traverse (setDocToArgument index) d-        , Endo . addEnvVar <$> traverse setDocToEnvVar d-        , Just $ foldMap (Endo . addConfig) $ traverse setDocToConfigs d-        ]+addToPage index acc d =+  flip appEndo acc+    $ mconcat+    $ catMaybes+      [ Endo . addSwitch <$> traverse setDocToFlag d+      , Endo . addOption <$> traverse setDocToOption d+      , Endo . addArgument <$> traverse (setDocToArgument index) d+      , Endo . addEnvVar <$> traverse setDocToEnvVar d+      , Just $ foldMap (Endo . addConfig) $ traverse setDocToConfigs d+      ]  setDocToFlag :: SetDoc -> Maybe Flag setDocToFlag doc = do@@ -91,31 +89,33 @@     . setDocConfKeys  foldSetDocs-  :: (Int -> Page -> Either [CommandDoc (Maybe SetDoc)] (Described SetDoc) -> Page)+  :: (Int -> Page -> Described SetDoc -> Page)   -> AnyDocs (Maybe SetDoc)   -> Page foldSetDocs f = flip evalState 0 . foldSetDocsM f mempty  foldSetDocsM   :: MonadState Int m-  => (Int -> Page -> Either [CommandDoc (Maybe SetDoc)] (Described SetDoc) -> Page)+  => (Int -> Page -> Described SetDoc -> Page)   -> Page   -> AnyDocs (Maybe SetDoc)   -> m Page foldSetDocsM f acc = \case-  AnyDocsCommands _ cdocs -> do-    index <- get-    modify (+ 1)-    pure $ f index acc $ Left cdocs+  AnyDocsCommands _ cdocs ->+    pure $ addCommands (zipWith getCommand [1 ..] cdocs) acc   AnyDocsAnd ds -> foldM (foldSetDocsM f) acc ds-  AnyDocsOr ds -> foldM (foldSetDocsM fForOr) acc ds+  AnyDocsOr [d] -> foldSetDocsM f acc d+  -- Optionality represented as "<|> Nothing"+  AnyDocsOr [d, AnyDocsSingle Nothing] -> foldSetDocsM fForOr acc d+  AnyDocsOr ds -> do+    sub <- foldM (foldSetDocsM fForOr) mempty $ traceShowId ds+    pure $ addAlternation Optional (getPositionals sub) acc   AnyDocsSingle Nothing -> pure acc -- hidden/internal   AnyDocsSingle (Just d) -> do     index <- get     modify (+ 1)     pure       $ f index acc-      $ Right       $ Described         { item = d         , optionality = maybe Required Defaulted (setDocDefault d)@@ -125,13 +125,14 @@         }  where   -- This is crazy wrong but I keep adding shit based on test cases-  fForOr i m e = f i m $ (<$> e) $ \d ->-    d-      { optionality = case d.optionality of-          Required -> Optional-          o -> o-      , multiple = null $ setDocDasheds d.item-      }+  fForOr i m d =+    f i m+      $ d+        { optionality = case d.optionality of+            Required -> Optional+            o -> o+        , multiple = null $ setDocDasheds d.item+        }  exampleMdoc :: NonEmpty String -> Mdoc exampleMdoc = Mdoc . map (TextLine . esc . pack) . toList