packages feed

brick 0.16 → 0.17

raw patch · 17 files changed

+78/−79 lines, 17 filesdep −data-defaultdep ~stmdep ~vtyPVP ok

version bump matches the API change (PVP)

Dependencies removed: data-default

Dependency ranges changed: stm, vty

API changes (from Hackage documentation)

- Brick.AttrMap: instance Data.Default.Class.Default Brick.AttrMap.AttrMap
- Brick.AttrMap: instance Data.Default.Class.Default Brick.AttrMap.AttrName
- Brick.Widgets.Border.Style: instance Data.Default.Class.Default Brick.Widgets.Border.Style.BorderStyle
- Data.Text.Markup: instance Data.Default.Class.Default a => Data.String.IsString (Data.Text.Markup.Markup a)
+ Brick.Types: emptyResult :: Result n
+ Brick.Widgets.Border.Style: defaultBorderStyle :: BorderStyle
+ Data.Text.Markup: instance GHC.Base.Monoid a => Data.String.IsString (Data.Text.Markup.Markup a)
- Brick.Types: cursorLocationL :: forall n_axEv. Lens' (CursorLocation n_axEv) Location
+ Brick.Types: cursorLocationL :: forall n_apZc. Lens' (CursorLocation n_apZc) Location
- Brick.Types: cursorLocationNameL :: forall n_axEv n_ayij. Lens (CursorLocation n_axEv) (CursorLocation n_ayij) (Maybe n_axEv) (Maybe n_ayij)
+ Brick.Types: cursorLocationNameL :: forall n_apZc n_aqsE. Lens (CursorLocation n_apZc) (CursorLocation n_aqsE) (Maybe n_apZc) (Maybe n_aqsE)
- Brick.Types: cursorsL :: forall n_axBq. Lens' (Result n_axBq) [CursorLocation n_axBq]
+ Brick.Types: cursorsL :: forall n_apY7. Lens' (Result n_apY7) [CursorLocation n_apY7]
- Brick.Types: extentsL :: forall n_axBq. Lens' (Result n_axBq) [Extent n_axBq]
+ Brick.Types: extentsL :: forall n_apY7. Lens' (Result n_apY7) [Extent n_apY7]
- Brick.Types: imageL :: forall n_axBq. Lens' (Result n_axBq) Image
+ Brick.Types: imageL :: forall n_apY7. Lens' (Result n_apY7) Image
- Brick.Types: visibilityRequestsL :: forall n_axBq. Lens' (Result n_axBq) [VisibilityRequest]
+ Brick.Types: visibilityRequestsL :: forall n_apY7. Lens' (Result n_apY7) [VisibilityRequest]
- Brick.Widgets.Dialog: dialogButtonsL :: forall a_a1iEx a_a1iF7. Lens (Dialog a_a1iEx) (Dialog a_a1iF7) [(String, a_a1iEx)] [(String, a_a1iF7)]
+ Brick.Widgets.Dialog: dialogButtonsL :: forall a_a13de a_a13dO. Lens (Dialog a_a13de) (Dialog a_a13dO) [(String, a_a13de)] [(String, a_a13dO)]
- Brick.Widgets.Dialog: dialogSelectedIndexL :: forall a_a1iEx. Lens' (Dialog a_a1iEx) (Maybe Int)
+ Brick.Widgets.Dialog: dialogSelectedIndexL :: forall a_a13de. Lens' (Dialog a_a13de) (Maybe Int)
- Brick.Widgets.Dialog: dialogTitleL :: forall a_a1iEx. Lens' (Dialog a_a1iEx) (Maybe String)
+ Brick.Widgets.Dialog: dialogTitleL :: forall a_a13de. Lens' (Dialog a_a13de) (Maybe String)
- Brick.Widgets.Dialog: dialogWidthL :: forall a_a1iEx. Lens' (Dialog a_a1iEx) Int
+ Brick.Widgets.Dialog: dialogWidthL :: forall a_a13de. Lens' (Dialog a_a13de) Int
- Brick.Widgets.Edit: editContentsL :: forall t_a1kG1 n_a1kG2. Lens' (Editor t_a1kG1 n_a1kG2) (TextZipper t_a1kG1)
+ Brick.Widgets.Edit: editContentsL :: forall t_a14WV n_a14WW. Lens' (Editor t_a14WV n_a14WW) (TextZipper t_a14WV)
- Brick.Widgets.Edit: editDrawContentsL :: forall t_a1kG1 n_a1kG2. Lens' (Editor t_a1kG1 n_a1kG2) ([t_a1kG1] -> Widget n_a1kG2)
+ Brick.Widgets.Edit: editDrawContentsL :: forall t_a14WV n_a14WW. Lens' (Editor t_a14WV n_a14WW) ([t_a14WV] -> Widget n_a14WW)
- Brick.Widgets.List: listElementsL :: forall n_a1nFA e_a1nFB e_a1nOS. Lens (List n_a1nFA e_a1nFB) (List n_a1nFA e_a1nOS) (Vector e_a1nFB) (Vector e_a1nOS)
+ Brick.Widgets.List: listElementsL :: forall n_a16Py e_a16Pz e_a16Zs. Lens (List n_a16Py e_a16Pz) (List n_a16Py e_a16Zs) (Vector e_a16Pz) (Vector e_a16Zs)
- Brick.Widgets.List: listItemHeightL :: forall n_a1nFA e_a1nFB. Lens' (List n_a1nFA e_a1nFB) Int
+ Brick.Widgets.List: listItemHeightL :: forall n_a16Py e_a16Pz. Lens' (List n_a16Py e_a16Pz) Int
- Brick.Widgets.List: listNameL :: forall n_a1nFA e_a1nFB n_a1nOT. Lens (List n_a1nFA e_a1nFB) (List n_a1nOT e_a1nFB) n_a1nFA n_a1nOT
+ Brick.Widgets.List: listNameL :: forall n_a16Py e_a16Pz n_a16Zt. Lens (List n_a16Py e_a16Pz) (List n_a16Zt e_a16Pz) n_a16Py n_a16Zt
- Brick.Widgets.List: listSelectedL :: forall n_a1nFA e_a1nFB. Lens' (List n_a1nFA e_a1nFB) (Maybe Int)
+ Brick.Widgets.List: listSelectedL :: forall n_a16Py e_a16Pz. Lens' (List n_a16Py e_a16Pz) (Maybe Int)
- Data.Text.Markup: fromText :: (Default a) => Text -> Markup a
+ Data.Text.Markup: fromText :: (Monoid a) => Text -> Markup a

Files

CHANGELOG.md view
@@ -2,6 +2,20 @@ Brick changelog --------------- +0.17+----++Package changes:+* Updated to depend on Vty 5.15.+* Updated to remove dependency on data-default.+* Discontinued support for GHC versions prior to 7.10.1.++API changes:+* Removed Data.Default instances for AttrName, AttrMap, Result, and+  BorderStyle (use Monoid instances instead where possible).+* Added defaultBorderStyle :: BorderStyle.+* Added emptyResult :: Result n.+ 0.16 ---- @@ -16,7 +30,7 @@   element (thanks @diegospd)  Performance improvements:-* hBox and vBox now use more efficient DList data structure when+* hBox and vBox now use the more efficient DList data structure when   rendering to improve performance for boxes with many elements (thanks   Mitsutoshi Aoe) 
brick.cabal view
@@ -1,5 +1,5 @@ name:                brick-version:             0.16+version:             0.17 synopsis:            A declarative terminal user interface library description:   Write terminal applications painlessly with 'brick'! You write an@@ -79,9 +79,8 @@     Brick.Widgets.Internal    build-depends:       base <= 5,-                       vty >= 5.12,+                       vty >= 5.15,                        transformers,-                       data-default,                        dlist,                        containers,                        microlens >= 0.3.0.0,@@ -105,7 +104,7 @@   main-is:             CacheDemo.hs   build-depends:       base,                        brick,-                       vty >= 5.12,+                       vty >= 5.15,                        text,                        microlens >= 0.3.0.0,                        microlens-th@@ -119,8 +118,7 @@   main-is:             VisibilityDemo.hs   build-depends:       base,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens >= 0.3.0.0,                        microlens-th@@ -135,8 +133,7 @@   main-is:             ViewportScrollDemo.hs   build-depends:       base,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens @@ -149,8 +146,7 @@   main-is:             DialogDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens @@ -163,8 +159,7 @@   main-is:             MouseDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens >= 0.3.0.0,                        microlens-th,@@ -179,8 +174,7 @@   main-is:             LayerDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens >= 0.3.0.0,                        microlens-th@@ -194,8 +188,7 @@   main-is:             SuspendAndResumeDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens >= 0.3.0.0,                        microlens-th@@ -209,8 +202,7 @@   main-is:             PaddingDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens @@ -223,8 +215,7 @@   main-is:             AttrDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens @@ -237,8 +228,7 @@   main-is:             MarkupDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens @@ -251,8 +241,7 @@   main-is:             ListDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens >= 0.3.0.0,                        vector@@ -266,8 +255,7 @@   main-is:             CustomEventDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens >= 0.3.0.0,                        microlens-th@@ -281,8 +269,7 @@   main-is:             HelloWorldDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens @@ -295,8 +282,7 @@   main-is:             EditDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        vector,                        microlens >= 0.3.0.0,@@ -312,8 +298,7 @@   main-is:             BorderDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens @@ -327,7 +312,6 @@   main-is:             ProgressBarDemo.hs   build-depends:       base <= 5,                        brick,-                       vty >= 5.12,-                       data-default,+                       vty >= 5.15,                        text,                        microlens
docs/guide.rst view
@@ -343,7 +343,9 @@    main :: IO ()    main = do        eventChan <- Brick.BChan.newBChan 10-       finalState <- customMain (Graphics.Vty.mkVty Data.Default.def) (Just eventChan) app initialState+       finalState <- customMain+                       (Graphics.Vty.mkVty Data.Default.defaultConfig)+                       (Just eventChan) app initialState        -- Use finalState and exit  The ``customMain`` function lets us have control over how the ``vty``
programs/CustomEventDemo.hs view
@@ -6,7 +6,6 @@ import Lens.Micro.TH (makeLenses) import Control.Monad (void, forever) import Control.Concurrent (threadDelay, forkIO)-import Data.Default import Data.Monoid import qualified Graphics.Vty as V @@ -18,6 +17,9 @@   , continue   , halt   )+import Brick.AttrMap+  ( attrMap+  ) import Brick.Types   ( Widget   , Next@@ -66,7 +68,7 @@         , appChooseCursor = showFirstCursor         , appHandleEvent = appEvent         , appStartEvent = return-        , appAttrMap = def+        , appAttrMap = const $ attrMap V.defAttr []         }  main :: IO ()@@ -77,4 +79,4 @@         writeBChan chan Counter         threadDelay 1000000 -    void $ customMain (V.mkVty def) (Just chan) theApp initialState+    void $ customMain (V.mkVty V.defaultConfig) (Just chan) theApp initialState
programs/LayerDemo.hs view
@@ -5,7 +5,6 @@ import Lens.Micro ((^.), (&), (%~)) import Lens.Micro.TH (makeLenses) import Control.Monad (void)-import Data.Default import qualified Graphics.Vty as V  import qualified Brick.Types as T@@ -17,6 +16,9 @@   ( translateBy   , str   )+import Brick.AttrMap+  ( attrMap+  )  data St =     St { _topLayerLocation :: T.Location@@ -70,7 +72,7 @@     M.App { M.appDraw = drawUi           , M.appStartEvent = return           , M.appHandleEvent = appEvent-          , M.appAttrMap = const def+          , M.appAttrMap = const $ attrMap V.defAttr []           , M.appChooseCursor = M.neverShowCursor           } 
programs/PaddingDemo.hs view
@@ -1,8 +1,6 @@ {-# LANGUAGE OverloadedStrings #-} module Main where -import Data.Default- import Brick.Main (App(..), neverShowCursor, resizeOrQuit, defaultMain) import Brick.Types   ( Widget@@ -22,6 +20,8 @@   ) import Brick.Widgets.Border as B import Brick.Widgets.Center as C+import Brick.AttrMap (attrMap)+import qualified Graphics.Vty as V  ui :: Widget () ui =@@ -50,7 +50,7 @@     App { appDraw = const [ui]         , appHandleEvent = resizeOrQuit         , appStartEvent = return-        , appAttrMap = const def+        , appAttrMap = const $ attrMap V.defAttr []         , appChooseCursor = neverShowCursor         } 
programs/SuspendAndResumeDemo.hs view
@@ -6,13 +6,15 @@ import Lens.Micro.TH (makeLenses) import Control.Monad (void) import Data.Monoid-import Data.Default import qualified Graphics.Vty as V  import Brick.Main   ( App(..), neverShowCursor, defaultMain   , suspendAndResume, halt, continue   )+import Brick.AttrMap+  ( attrMap+  ) import Brick.Types   ( Widget   , EventM@@ -59,7 +61,7 @@         , appChooseCursor = neverShowCursor         , appHandleEvent = appEvent         , appStartEvent = return-        , appAttrMap = const def+        , appAttrMap = const $ attrMap V.defAttr []         }  main :: IO ()
programs/ViewportScrollDemo.hs view
@@ -7,7 +7,6 @@  import Control.Monad (void) import Data.Monoid ((<>))-import Data.Default import qualified Graphics.Vty as V  import qualified Brick.Types as T@@ -18,6 +17,9 @@   ( Widget   , ViewportType(Horizontal, Vertical, Both)   )+import Brick.AttrMap+  ( attrMap+  ) import Brick.Widgets.Core   ( hLimit   , vLimit@@ -75,7 +77,7 @@     M.App { M.appDraw = drawUi           , M.appStartEvent = return           , M.appHandleEvent = appEvent-          , M.appAttrMap = const def+          , M.appAttrMap = const $ attrMap V.defAttr []           , M.appChooseCursor = M.neverShowCursor           } 
src/Brick/AttrMap.hs view
@@ -49,7 +49,6 @@ import Data.Maybe (catMaybes) import Data.List (inits) import Data.String (IsString(..))-import Data.Default (Default(..))  import Graphics.Vty (Attr(..), MaybeDefault(..)) @@ -68,9 +67,6 @@ data AttrName = AttrName [String]               deriving (Show, Eq, Ord) -instance Default AttrName where-    def = mempty- instance Monoid AttrName where     mempty = AttrName []     mappend (AttrName as) (AttrName bs) = AttrName $ as `mappend` bs@@ -82,9 +78,6 @@ data AttrMap = AttrMap Attr (M.Map AttrName Attr)              | ForceAttr Attr              deriving Show--instance Default AttrMap where-    def = AttrMap def mempty  -- | Create an attribute name from a string. attrName :: String -> AttrName
src/Brick/Main.hs view
@@ -51,7 +51,6 @@ import Control.Applicative ((<$>)) import Data.Monoid (mempty) #endif-import Data.Default import Data.Maybe (listToMaybe) import qualified Data.Map as M import qualified Data.Set as S@@ -66,7 +65,9 @@   , shutdown   , nextEvent   , mkVty+  , defaultConfig   )+import Graphics.Vty.Attributes (defAttr)  import Brick.BChan (BChan, newBChan, readBChan, readBChan2, writeBChan) import Brick.Types (Widget, EventM(..))@@ -119,7 +120,7 @@             -- ^ The initial application state.             -> IO s defaultMain app st = do-    customMain (mkVty def) Nothing app st+    customMain (mkVty defaultConfig) Nothing app st  -- | A simple main entry point which takes a widget and renders it. This -- event loop terminates when the user presses any key, but terminal@@ -132,7 +133,7 @@     let app = App { appDraw = const [w]                   , appHandleEvent = resizeOrQuit                   , appStartEvent = return-                  , appAttrMap = def+                  , appAttrMap = const $ attrMap defAttr []                   , appChooseCursor = neverShowCursor                   }     in defaultMain app ()
src/Brick/Markup.hs view
@@ -15,7 +15,6 @@ import Control.Monad (forM) import qualified Data.Text as T import Data.Text.Markup-import Data.Default (def)  import Graphics.Vty (Attr, vertCat, horizCat, string) @@ -54,4 +53,4 @@                   return $ string a $ T.unpack t               return $ horizCat is       lineImgs <- mapM mkLine markupLines-      return $ def & imageL .~ vertCat lineImgs+      return $ emptyResult & imageL .~ vertCat lineImgs
src/Brick/Types.hs view
@@ -43,6 +43,7 @@    -- ** Rendering results   , Result(..)+  , emptyResult   , lookupAttrName   , Extent(..) 
src/Brick/Types/Internal.hs view
@@ -38,6 +38,7 @@   , cursorsL   , extentsL   , visibilityRequestsL+  , emptyResult   ) where @@ -51,7 +52,6 @@ import qualified Data.Set as S import qualified Data.Map as M import Graphics.Vty (Vty, Event, Button, Modifier, DisplayRegion, Image, emptyImage)-import Data.Default (Default(..))  import Brick.Types.TH import Brick.AttrMap (AttrName, AttrMap)@@ -194,8 +194,8 @@  suffixLenses ''Result -instance Default (Result n) where-    def = Result emptyImage [] [] []+emptyResult :: Result n+emptyResult = Result emptyImage [] [] []  -- | The type of events. data BrickEvent n e = VtyEvent Event
src/Brick/Widgets/Border/Style.hs view
@@ -17,11 +17,10 @@   , unicode   , unicodeBold   , unicodeRounded+  , defaultBorderStyle   ) where -import Data.Default- -- | A border style for use in any widget that needs to render borders -- in a consistent style. data BorderStyle =@@ -50,8 +49,8 @@                 }                 deriving (Show, Read, Eq) -instance Default BorderStyle where-    def = unicode+defaultBorderStyle :: BorderStyle+defaultBorderStyle = unicode  -- | Make a border style using the specified character everywhere. borderStyleFromChar :: Char -> BorderStyle
src/Brick/Widgets/Core.hs view
@@ -92,7 +92,6 @@ import Control.Monad.Trans.Class (lift) import qualified Data.Foldable as F import qualified Data.Text as T-import Data.Default import qualified Data.DList as DL import qualified Data.Map as M import qualified Data.Set as S@@ -207,13 +206,13 @@           fixEmpty l = l           dropUnused l = takeColumns (availWidth c) <$> take (availHeight c) l       case force theLines of-          [] -> return def-          [one] -> return $ def & imageL .~ (V.string (c^.attrL) one)+          [] -> return emptyResult+          [one] -> return $ emptyResult & imageL .~ (V.string (c^.attrL) one)           multiple ->               let maxLength = maximum $ V.safeWcswidth <$> multiple                   lineImgs = lineImg <$> multiple                   lineImg lStr = V.string (c^.attrL) (lStr ++ replicate (maxLength - V.safeWcswidth lStr) ' ')-              in return $ def & imageL .~ (V.vertCat lineImgs)+              in return $ emptyResult & imageL .~ (V.vertCat lineImgs)  -- | Build a widget from a one-line 'T.Text' value. Behaves the same as -- 'str'.@@ -308,7 +307,7 @@ fill ch =     Widget Greedy Greedy $ do       c <- getContext-      return $ def & imageL .~ (V.charFill (c^.attrL) ch (c^.availWidthL) (c^.availHeightL))+      return $ emptyResult & imageL .~ (V.charFill (c^.attrL) ch (c^.availWidthL) (c^.availHeightL))  -- | Vertical box layout: put the specified widgets one above the other -- in the specified order (uppermost first). Defers growth policies to@@ -550,7 +549,7 @@  -- | Build a widget directly from a raw Vty image. raw :: V.Image -> Widget n-raw img = Widget Fixed Fixed $ return $ def & imageL .~ img+raw img = Widget Fixed Fixed $ return $ emptyResult & imageL .~ img  -- | Translate the specified widget by the specified offset amount. -- Defers to the translated widget for growth policy.
src/Brick/Widgets/Internal.hs view
@@ -13,13 +13,13 @@ import Lens.Micro ((^.), (&), (%~)) import Control.Monad.Trans.State.Lazy import Control.Monad.Trans.Reader-import Data.Default import Data.Maybe (catMaybes) import qualified Graphics.Vty as V  import Brick.Types import Brick.Types.Internal import Brick.AttrMap+import Brick.Widgets.Border.Style  renderFinal :: AttrMap             -> [Widget n]@@ -32,7 +32,7 @@         (layerResults, !newRS) = flip runState rs $ sequence $             (\p -> runReaderT p ctx) <$>             (render <$> cropToContext <$> layerRenders)-        ctx = Context def (fst sz) (snd sz) def aMap+        ctx = Context mempty (fst sz) (snd sz) defaultBorderStyle aMap         pic = V.picForLayers $ uncurry V.resize sz <$> (^.imageL) <$> layerResults         -- picWithBg is a workaround for runaway attributes.         -- See https://github.com/coreyoconnor/vty/issues/95
src/Data/Text/Markup.hs view
@@ -21,7 +21,6 @@ import Data.Monoid #endif -import Data.Default (Default, def) import Data.String (IsString(..)) import qualified Data.Text as T @@ -34,7 +33,7 @@     mappend (Markup t1) (Markup t2) =         Markup (t1 `mappend` t2) -instance (Default a) => IsString (Markup a) where+instance (Monoid a) => IsString (Markup a) where     fromString = fromText . T.pack  -- | Build a piece of markup; assign the specified metadata to every@@ -43,8 +42,8 @@ t @@ val = Markup [(c, val) | c <- T.unpack t]  -- | Build markup from text with the default metadata.-fromText :: (Default a) => T.Text -> Markup a-fromText = (@@ def)+fromText :: (Monoid a) => T.Text -> Markup a+fromText = (@@ mempty)  -- | Extract the text from markup, discarding the markup metadata. toText :: (Eq a) => Markup a -> T.Text