brick 0.38 → 0.39
raw patch · 4 files changed
+42/−28 lines, 4 filesdep ~vtyPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: vty
API changes (from Hackage documentation)
- Brick.BorderMap: eBottomL :: forall a_aegN. Lens' (Edges a_aegN) a_aegN
+ Brick.BorderMap: eBottomL :: forall a_adTJ. Lens' (Edges a_adTJ) a_adTJ
- Brick.BorderMap: eLeftL :: forall a_aegN. Lens' (Edges a_aegN) a_aegN
+ Brick.BorderMap: eLeftL :: forall a_adTJ. Lens' (Edges a_adTJ) a_adTJ
- Brick.BorderMap: eRightL :: forall a_aegN. Lens' (Edges a_aegN) a_aegN
+ Brick.BorderMap: eRightL :: forall a_adTJ. Lens' (Edges a_adTJ) a_adTJ
- Brick.BorderMap: eTopL :: forall a_aegN. Lens' (Edges a_aegN) a_aegN
+ Brick.BorderMap: eTopL :: forall a_adTJ. Lens' (Edges a_adTJ) a_adTJ
- Brick.Types: bordersL :: forall n_aDRA. Lens' (Result n_aDRA) (BorderMap DynBorder)
+ Brick.Types: bordersL :: forall n_aAmL. Lens' (Result n_aAmL) (BorderMap DynBorder)
- Brick.Types: cursorLocationL :: forall n_aDgx. Lens' (CursorLocation n_aDgx) Location
+ Brick.Types: cursorLocationL :: forall n_azMC. Lens' (CursorLocation n_azMC) Location
- Brick.Types: cursorLocationNameL :: forall n_aDgx n_aEd7. Lens (CursorLocation n_aDgx) (CursorLocation n_aEd7) (Maybe n_aDgx) (Maybe n_aEd7)
+ Brick.Types: cursorLocationNameL :: forall n_azMC n_aAIi. Lens (CursorLocation n_azMC) (CursorLocation n_aAIi) (Maybe n_azMC) (Maybe n_aAIi)
- Brick.Types: cursorsL :: forall n_aDRA. Lens' (Result n_aDRA) [CursorLocation n_aDRA]
+ Brick.Types: cursorsL :: forall n_aAmL. Lens' (Result n_aAmL) [CursorLocation n_aAmL]
- Brick.Types: eBottomL :: forall a_aegN. Lens' (Edges a_aegN) a_aegN
+ Brick.Types: eBottomL :: forall a_adTJ. Lens' (Edges a_adTJ) a_adTJ
- Brick.Types: eLeftL :: forall a_aegN. Lens' (Edges a_aegN) a_aegN
+ Brick.Types: eLeftL :: forall a_adTJ. Lens' (Edges a_adTJ) a_adTJ
- Brick.Types: eRightL :: forall a_aegN. Lens' (Edges a_aegN) a_aegN
+ Brick.Types: eRightL :: forall a_adTJ. Lens' (Edges a_adTJ) a_adTJ
- Brick.Types: eTopL :: forall a_aegN. Lens' (Edges a_aegN) a_aegN
+ Brick.Types: eTopL :: forall a_adTJ. Lens' (Edges a_adTJ) a_adTJ
- Brick.Types: extentsL :: forall n_aDRA. Lens' (Result n_aDRA) [Extent n_aDRA]
+ Brick.Types: extentsL :: forall n_aAmL. Lens' (Result n_aAmL) [Extent n_aAmL]
- Brick.Types: imageL :: forall n_aDRA. Lens' (Result n_aDRA) Image
+ Brick.Types: imageL :: forall n_aAmL. Lens' (Result n_aAmL) Image
- Brick.Types: visibilityRequestsL :: forall n_aDRA. Lens' (Result n_aDRA) [VisibilityRequest]
+ Brick.Types: visibilityRequestsL :: forall n_aAmL. Lens' (Result n_aAmL) [VisibilityRequest]
- Brick.Widgets.Dialog: dialogButtonsL :: forall a_a1788 a_a178P. Lens (Dialog a_a1788) (Dialog a_a178P) [(String, a_a1788)] [(String, a_a178P)]
+ Brick.Widgets.Dialog: dialogButtonsL :: forall a_a12ep a_a12f6. Lens (Dialog a_a12ep) (Dialog a_a12f6) [(String, a_a12ep)] [(String, a_a12f6)]
- Brick.Widgets.Dialog: dialogSelectedIndexL :: forall a_a1788. Lens' (Dialog a_a1788) (Maybe Int)
+ Brick.Widgets.Dialog: dialogSelectedIndexL :: forall a_a12ep. Lens' (Dialog a_a12ep) (Maybe Int)
- Brick.Widgets.Dialog: dialogTitleL :: forall a_a1788. Lens' (Dialog a_a1788) (Maybe String)
+ Brick.Widgets.Dialog: dialogTitleL :: forall a_a12ep. Lens' (Dialog a_a12ep) (Maybe String)
- Brick.Widgets.Dialog: dialogWidthL :: forall a_a1788. Lens' (Dialog a_a1788) Int
+ Brick.Widgets.Dialog: dialogWidthL :: forall a_a12ep. Lens' (Dialog a_a12ep) Int
- Brick.Widgets.Edit: editContentsL :: forall t_a12uU n_a12uV t_a12vE. Lens (Editor t_a12uU n_a12uV) (Editor t_a12vE n_a12uV) (TextZipper t_a12uU) (TextZipper t_a12vE)
+ Brick.Widgets.Edit: editContentsL :: forall t_aXRq n_aXRr t_aXSa. Lens (Editor t_aXRq n_aXRr) (Editor t_aXSa n_aXRr) (TextZipper t_aXRq) (TextZipper t_aXSa)
- Brick.Widgets.List: listElementsL :: forall n_a1cbQ e_a1cbR e_a1cly. Lens (List n_a1cbQ e_a1cbR) (List n_a1cbQ e_a1cly) (Vector e_a1cbR) (Vector e_a1cly)
+ Brick.Widgets.List: listElementsL :: forall n_a16L8 e_a16L9 e_a16UQ. Lens (List n_a16L8 e_a16L9) (List n_a16L8 e_a16UQ) (Vector e_a16L9) (Vector e_a16UQ)
- Brick.Widgets.List: listItemHeightL :: forall n_a1cbQ e_a1cbR. Lens' (List n_a1cbQ e_a1cbR) Int
+ Brick.Widgets.List: listItemHeightL :: forall n_a16L8 e_a16L9. Lens' (List n_a16L8 e_a16L9) Int
- Brick.Widgets.List: listNameL :: forall n_a1cbQ e_a1cbR n_a1clz. Lens (List n_a1cbQ e_a1cbR) (List n_a1clz e_a1cbR) n_a1cbQ n_a1clz
+ Brick.Widgets.List: listNameL :: forall n_a16L8 e_a16L9 n_a16UR. Lens (List n_a16L8 e_a16L9) (List n_a16UR e_a16L9) n_a16L8 n_a16UR
- Brick.Widgets.List: listSelectedL :: forall n_a1cbQ e_a1cbR. Lens' (List n_a1cbQ e_a1cbR) (Maybe Int)
+ Brick.Widgets.List: listSelectedL :: forall n_a16L8 e_a16L9. Lens' (List n_a16L8 e_a16L9) (Maybe Int)
Files
- CHANGELOG.md +7/−0
- brick.cabal +22/−22
- src/Brick/Themes.hs +2/−1
- src/Brick/Widgets/Core.hs +11/−5
CHANGELOG.md view
@@ -2,6 +2,13 @@ Brick changelog --------------- +0.39+----++New features:+ * The `italic` keyword is now supported in theme customization file+ style lists. This requires `vty >= 5.23.1`+ 0.38 ----
brick.cabal view
@@ -1,5 +1,5 @@ name: brick-version: 0.38+version: 0.39 synopsis: A declarative terminal user interface library description: Write terminal applications painlessly with 'brick'! You write an@@ -87,7 +87,7 @@ Brick.Widgets.Internal build-depends: base <= 4.11.1.0,- vty >= 5.22,+ vty >= 5.23.1, transformers, data-clist >= 0.1, dlist,@@ -157,7 +157,7 @@ main-is: CacheDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens >= 0.3.0.0, microlens-th@@ -171,7 +171,7 @@ main-is: VisibilityDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens >= 0.3.0.0, microlens-th@@ -186,7 +186,7 @@ main-is: ViewportScrollDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens @@ -199,7 +199,7 @@ main-is: DialogDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens @@ -212,7 +212,7 @@ main-is: MouseDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens >= 0.3.0.0, microlens-th,@@ -227,7 +227,7 @@ main-is: LayerDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens >= 0.3.0.0, microlens-th@@ -241,7 +241,7 @@ main-is: SuspendAndResumeDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens >= 0.3.0.0, microlens-th@@ -255,7 +255,7 @@ main-is: PaddingDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens @@ -268,7 +268,7 @@ main-is: ThemeDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens @@ -281,7 +281,7 @@ main-is: AttrDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens @@ -294,7 +294,7 @@ main-is: MarkupDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens @@ -307,7 +307,7 @@ main-is: ListDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens >= 0.3.0.0, vector@@ -321,7 +321,7 @@ main-is: ListViDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens >= 0.3.0.0, vector@@ -335,7 +335,7 @@ main-is: CustomEventDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens >= 0.3.0.0, microlens-th@@ -349,7 +349,7 @@ main-is: FillDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens @@ -362,7 +362,7 @@ main-is: HelloWorldDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens @@ -375,7 +375,7 @@ main-is: EditDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, vector, microlens >= 0.3.0.0,@@ -391,7 +391,7 @@ main-is: BorderDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens @@ -405,7 +405,7 @@ main-is: DynamicBorderDemo.hs build-depends: base <= 5, brick,- vty >= 5.22,+ vty, text, microlens @@ -419,7 +419,7 @@ main-is: ProgressBarDemo.hs build-depends: base, brick,- vty >= 5.22,+ vty, text, microlens
src/Brick/Themes.hs view
@@ -29,7 +29,7 @@ -- (without quotes) or a comma-delimited list of one or more of the -- following values (e.g. @"[bold,underline]"@) indicating that all -- of the specified styles be used. Valid styles are @standout@,--- @underline@, @reverseVideo@, @blink@, @dim@, and @bold@.+-- @underline@, @reverseVideo@, @blink@, @dim@, @italic@, and @bold@. -- -- The @other@ section specifies for each attribute name in the theme -- the same @fg@, @bg@, and @style@ settings as for the default@@ -251,6 +251,7 @@ , ("blink", blink) , ("dim", dim) , ("bold", bold)+ , ("italic", italic) ] parseStyle :: T.Text -> Either String Style
src/Brick/Widgets/Core.hs view
@@ -239,12 +239,14 @@ else "" -- | Make a widget from a string, but wrap the words in the input's--- lines at the available width using the default wrapping settings.+-- lines at the available width using the default wrapping settings. The+-- input string should not contain escapes. strWrap :: String -> Widget n strWrap = strWrapWith defaultWrapSettings -- | Make a widget from a string, but wrap the words in the input's -- lines at the available width using the specified wrapping settings.+-- The input string should not contain escapes. strWrapWith :: WrapSettings -> String -> Widget n strWrapWith settings t = txtWrapWith settings $ T.pack t @@ -252,12 +254,14 @@ safeTextWidth = V.safeWcswidth . T.unpack -- | Make a widget from text, but wrap the words in the input's lines at--- the available width using the default wrapping settings.+-- the available width using the default wrapping settings. The input+-- text should not contain escapes. txtWrap :: T.Text -> Widget n txtWrap = txtWrapWith defaultWrapSettings -- | Make a widget from text, but wrap the words in the input's lines at--- the available width using the specified wrapping settings.+-- the available width using the specified wrapping settings. The input+-- text should not contain escapes. txtWrapWith :: WrapSettings -> T.Text -> Widget n txtWrapWith settings s = Widget Greedy Fixed $ do@@ -281,7 +285,8 @@ -- The input string must not contain tab characters. If it does, -- interface corruption will result since the terminal will likely -- render it as taking up more than a single column. The caller should--- replace tabs with the appropriate number of spaces as desired.+-- replace tabs with the appropriate number of spaces as desired. The+-- reinput string should not contain escapes. str :: String -> Widget n str s = Widget Fixed Fixed $ do@@ -306,7 +311,8 @@ -- The input string must not contain tab characters. If it does, -- interface corruption will result since the terminal will likely -- render it as taking up more than a single column. The caller should--- replace tabs with the appropriate number of spaces as desired.+-- replace tabs with the appropriate number of spaces as desired. The+-- reinput text should not contain escapes. txt :: T.Text -> Widget n txt = str . T.unpack