packages feed

brick 0.52.1 → 0.53

raw patch · 4 files changed

+21/−8 lines, 4 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

- Brick.BorderMap: eBottomL :: forall a_ajBs. Lens' (Edges a_ajBs) a_ajBs
+ Brick.BorderMap: eBottomL :: forall a_ajBI. Lens' (Edges a_ajBI) a_ajBI
- Brick.BorderMap: eLeftL :: forall a_ajBs. Lens' (Edges a_ajBs) a_ajBs
+ Brick.BorderMap: eLeftL :: forall a_ajBI. Lens' (Edges a_ajBI) a_ajBI
- Brick.BorderMap: eRightL :: forall a_ajBs. Lens' (Edges a_ajBs) a_ajBs
+ Brick.BorderMap: eRightL :: forall a_ajBI. Lens' (Edges a_ajBI) a_ajBI
- Brick.BorderMap: eTopL :: forall a_ajBs. Lens' (Edges a_ajBs) a_ajBs
+ Brick.BorderMap: eTopL :: forall a_ajBI. Lens' (Edges a_ajBI) a_ajBI
- Brick.Types: bordersL :: forall n_aGK9. Lens' (Result n_aGK9) (BorderMap DynBorder)
+ Brick.Types: bordersL :: forall n_aGKp. Lens' (Result n_aGKp) (BorderMap DynBorder)
- Brick.Types: cursorLocationL :: forall n_aFoK. Lens' (CursorLocation n_aFoK) Location
+ Brick.Types: cursorLocationL :: forall n_aFp0. Lens' (CursorLocation n_aFp0) Location
- Brick.Types: cursorLocationNameL :: forall n_aFoK n_aHnl. Lens (CursorLocation n_aFoK) (CursorLocation n_aHnl) (Maybe n_aFoK) (Maybe n_aHnl)
+ Brick.Types: cursorLocationNameL :: forall n_aFp0 n_aHnB. Lens (CursorLocation n_aFp0) (CursorLocation n_aHnB) (Maybe n_aFp0) (Maybe n_aHnB)
- Brick.Types: cursorsL :: forall n_aGK9. Lens' (Result n_aGK9) [CursorLocation n_aGK9]
+ Brick.Types: cursorsL :: forall n_aGKp. Lens' (Result n_aGKp) [CursorLocation n_aGKp]
- Brick.Types: eBottomL :: forall a_ajBs. Lens' (Edges a_ajBs) a_ajBs
+ Brick.Types: eBottomL :: forall a_ajBI. Lens' (Edges a_ajBI) a_ajBI
- Brick.Types: eLeftL :: forall a_ajBs. Lens' (Edges a_ajBs) a_ajBs
+ Brick.Types: eLeftL :: forall a_ajBI. Lens' (Edges a_ajBI) a_ajBI
- Brick.Types: eRightL :: forall a_ajBs. Lens' (Edges a_ajBs) a_ajBs
+ Brick.Types: eRightL :: forall a_ajBI. Lens' (Edges a_ajBI) a_ajBI
- Brick.Types: eTopL :: forall a_ajBs. Lens' (Edges a_ajBs) a_ajBs
+ Brick.Types: eTopL :: forall a_ajBI. Lens' (Edges a_ajBI) a_ajBI
- Brick.Types: extentsL :: forall n_aGK9. Lens' (Result n_aGK9) [Extent n_aGK9]
+ Brick.Types: extentsL :: forall n_aGKp. Lens' (Result n_aGKp) [Extent n_aGKp]
- Brick.Types: imageL :: forall n_aGK9. Lens' (Result n_aGK9) Image
+ Brick.Types: imageL :: forall n_aGKp. Lens' (Result n_aGKp) Image
- Brick.Types: visibilityRequestsL :: forall n_aGK9. Lens' (Result n_aGK9) [VisibilityRequest]
+ Brick.Types: visibilityRequestsL :: forall n_aGKp. Lens' (Result n_aGKp) [VisibilityRequest]
- Brick.Widgets.Dialog: dialogButtonsL :: forall a_a1hue a_a1huV. Lens (Dialog a_a1hue) (Dialog a_a1huV) [(String, a_a1hue)] [(String, a_a1huV)]
+ Brick.Widgets.Dialog: dialogButtonsL :: forall a_a1htK a_a1hur. Lens (Dialog a_a1htK) (Dialog a_a1hur) [(String, a_a1htK)] [(String, a_a1hur)]
- Brick.Widgets.Dialog: dialogSelectedIndexL :: forall a_a1hue. Lens' (Dialog a_a1hue) (Maybe Int)
+ Brick.Widgets.Dialog: dialogSelectedIndexL :: forall a_a1htK. Lens' (Dialog a_a1htK) (Maybe Int)
- Brick.Widgets.Dialog: dialogTitleL :: forall a_a1hue. Lens' (Dialog a_a1hue) (Maybe String)
+ Brick.Widgets.Dialog: dialogTitleL :: forall a_a1htK. Lens' (Dialog a_a1htK) (Maybe String)
- Brick.Widgets.Dialog: dialogWidthL :: forall a_a1hue. Lens' (Dialog a_a1hue) Int
+ Brick.Widgets.Dialog: dialogWidthL :: forall a_a1htK. Lens' (Dialog a_a1htK) Int
- Brick.Widgets.Edit: editContentsL :: forall t_a1coG n_a1coH t_a1cpq. Lens (Editor t_a1coG n_a1coH) (Editor t_a1cpq n_a1coH) (TextZipper t_a1coG) (TextZipper t_a1cpq)
+ Brick.Widgets.Edit: editContentsL :: forall t_a1coc n_a1cod t_a1coW. Lens (Editor t_a1coc n_a1cod) (Editor t_a1coW n_a1cod) (TextZipper t_a1coc) (TextZipper t_a1coW)
- Brick.Widgets.FileBrowser: fileBrowserEntryFilterL :: forall n_a1rUL. Lens' (FileBrowser n_a1rUL) (Maybe (FileInfo -> Bool))
+ Brick.Widgets.FileBrowser: fileBrowserEntryFilterL :: forall n_a1rUh. Lens' (FileBrowser n_a1rUh) (Maybe (FileInfo -> Bool))
- Brick.Widgets.FileBrowser: fileBrowserSelectableL :: forall n_a1rUL. Lens' (FileBrowser n_a1rUL) (FileInfo -> Bool)
+ Brick.Widgets.FileBrowser: fileBrowserSelectableL :: forall n_a1rUh. Lens' (FileBrowser n_a1rUh) (FileInfo -> Bool)
- Brick.Widgets.List: listElementsL :: forall n_a1my7 t_a1my8 e_a1my9 t_a1mMH e_a1mMI. Lens (GenericList n_a1my7 t_a1my8 e_a1my9) (GenericList n_a1my7 t_a1mMH e_a1mMI) (t_a1my8 e_a1my9) (t_a1mMH e_a1mMI)
+ Brick.Widgets.List: listElementsL :: forall n_a1mxD t_a1mxE e_a1mxF t_a1mMd e_a1mMe. Lens (GenericList n_a1mxD t_a1mxE e_a1mxF) (GenericList n_a1mxD t_a1mMd e_a1mMe) (t_a1mxE e_a1mxF) (t_a1mMd e_a1mMe)
- Brick.Widgets.List: listItemHeightL :: forall n_a1my7 t_a1my8 e_a1my9. Lens' (GenericList n_a1my7 t_a1my8 e_a1my9) Int
+ Brick.Widgets.List: listItemHeightL :: forall n_a1mxD t_a1mxE e_a1mxF. Lens' (GenericList n_a1mxD t_a1mxE e_a1mxF) Int
- Brick.Widgets.List: listNameL :: forall n_a1my7 t_a1my8 e_a1my9 n_a1mMJ. Lens (GenericList n_a1my7 t_a1my8 e_a1my9) (GenericList n_a1mMJ t_a1my8 e_a1my9) n_a1my7 n_a1mMJ
+ Brick.Widgets.List: listNameL :: forall n_a1mxD t_a1mxE e_a1mxF n_a1mMf. Lens (GenericList n_a1mxD t_a1mxE e_a1mxF) (GenericList n_a1mMf t_a1mxE e_a1mxF) n_a1mxD n_a1mMf
- Brick.Widgets.List: listSelectedL :: forall n_a1my7 t_a1my8 e_a1my9. Lens' (GenericList n_a1my7 t_a1my8 e_a1my9) (Maybe Int)
+ Brick.Widgets.List: listSelectedL :: forall n_a1mxD t_a1mxE e_a1mxF. Lens' (GenericList n_a1mxD t_a1mxE e_a1mxF) (Maybe Int)

Files

CHANGELOG.md view
@@ -2,6 +2,20 @@ Brick changelog --------------- +0.53+----++Package changes:+ * Relaxed base bounds to allow building with GHC 8.10 (thanks Joshua+   Chia)++Bug fixes:+ * `vLimitPercent`: use correct horizontal size policy from child+   (thanks Janek Spaderna)+ * `str`: be more aggressive in determining how many characters to+   display (attempt to display as many zero-width characters as+   possible)+ 0.52.1 ------ 
README.md view
@@ -61,6 +61,7 @@  * [`solitaire`](https://github.com/ambuc/solitaire), the card game  * [`sudoku-tui`](https://github.com/evanrelf/sudoku-tui), a Sudoku implementation  * [`summoner-tui`](https://github.com/kowainik/summoner/tree/master/summoner-tui), an interactive frontend to the Summoner tool+ * [`wrapping-editor`](https://github.com/ta0kira/wrapping-editor), an embeddable editor with support for Brick  These third-party packages also extend `brick`: 
brick.cabal view
@@ -1,5 +1,5 @@ name:                brick-version:             0.52.1+version:             0.53 synopsis:            A declarative terminal user interface library description:   Write terminal user interfaces (TUIs) painlessly with 'brick'! You@@ -113,7 +113,7 @@     Brick.Types.Internal     Brick.Widgets.Internal -  build-depends:       base <= 4.13.0.0,+  build-depends:       base <= 4.14.0.0,                        vty >= 5.24,                        transformers,                        data-clist >= 0.1,
src/Brick/Widgets/Core.hs view
@@ -236,11 +236,9 @@ takeColumns _ "" = "" takeColumns numCols (c:cs) =     let w = V.safeWcwidth c-    in if w == numCols-       then [c]-       else if w < numCols-            then c : takeColumns (numCols - w) cs-            else ""+    in if w > numCols+       then []+       else c : takeColumns (numCols - w) cs  -- | Make a widget from a string, but wrap the words in the input's -- lines at the available width using the default wrapping settings. The@@ -807,7 +805,7 @@ -- defers to the limited widget horizontally. vLimitPercent :: Int -> Widget n -> Widget n vLimitPercent h' p =-    Widget (vSize p) Fixed $ do+    Widget (hSize p) Fixed $ do       let h = clamp 0 100 h'       ctx <- getContext       let usableHeight = ctx^.availHeightL