packages feed

prompt-hs 1.0.2.0 → 1.0.3.0

raw patch · 2 files changed

+33/−1 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ System.Prompt: promptMultipleChoiceFromSet :: (ChooseableItem a, Eq a, MonadIO m) => NonEmpty a -> Text -> m [a]

Files

prompt-hs.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           prompt-hs-version:        1.0.2.0+version:        1.0.3.0 synopsis:       A user-friendly, dependently-typed library for asking your users questions description:    A library making use of the terminal package to prompt users for answers in a CLI context.                 .
src/System/Prompt.hs view
@@ -41,6 +41,7 @@     promptChoice,     promptChoiceFromSet,     promptMultipleChoice,+    promptMultipleChoiceFromSet,      -- * Data     Chooseable (..),@@ -302,6 +303,23 @@   liftIO . withTerminal . runTerminalT $     promptMultipleChoiceInternal pxy prompt initialPromptMultipleChoiceState +-- | Ask the user to choose zero-to-many of some arbitrary options.+--+-- Note: duplicate options will be removed.+promptMultipleChoiceFromSet ::+  (ChooseableItem a, Eq a, MonadIO m) =>+  -- | The items from which they can choose+  NonEmpty a ->+  -- | What should the prompt say? (You need not add a space to the end of this text; one will be added)+  Text ->+  m [a]+promptMultipleChoiceFromSet options prompt =+  liftIO+    . withTerminal+    . runTerminalT+    . promptMultipleChoiceInternal Proxy prompt+    $ initialPromptMultipleChoiceStateFromSet options+ -- | Ask the user to enter text. -- -- The answer is stripped of leading and trailing whitespace.@@ -404,6 +422,20 @@       pmcsOptions = universeChooseableNE,       pmcsFilteredOptions = NE.toList universeChooseableNE,       pmcsHoveredOption = initialSelectionChooseable,+      pmcsSelectedOptions = []+    }++initialPromptMultipleChoiceStateFromSet ::+  (ChooseableItem a) =>+  NonEmpty a ->+  PromptMultipleChoiceState a+initialPromptMultipleChoiceStateFromSet options =+  PromptMultipleChoiceState+    { pmcsFilter = "",+      pmcsInstruction = ChoiceInstructionNormal,+      pmcsOptions = options,+      pmcsFilteredOptions = NE.toList options,+      pmcsHoveredOption = Just initialSelectionChooseableItem,       pmcsSelectedOptions = []     }