brick 2.8.1 → 2.8.2
raw patch · 3 files changed
+20/−7 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Brick.Widgets.Dialog: dialogButtonsL :: forall a_a1gqF n_a1gqG a_a1grD. Lens (Dialog a_a1gqF n_a1gqG) (Dialog a_a1grD n_a1gqG) [(String, n_a1gqG, a_a1gqF)] [(String, n_a1gqG, a_a1grD)]
+ Brick.Widgets.Dialog: dialogButtonsL :: forall a_a1gyx n_a1gyy a_a1gzv. Lens (Dialog a_a1gyx n_a1gyy) (Dialog a_a1gzv n_a1gyy) [(String, n_a1gyy, a_a1gyx)] [(String, n_a1gyy, a_a1gzv)]
- Brick.Widgets.Dialog: dialogTitleL :: forall a_a1gqF n_a1gqG. Lens' (Dialog a_a1gqF n_a1gqG) (Maybe (Widget n_a1gqG))
+ Brick.Widgets.Dialog: dialogTitleL :: forall a_a1gyx n_a1gyy. Lens' (Dialog a_a1gyx n_a1gyy) (Maybe (Widget n_a1gyy))
- Brick.Widgets.Dialog: dialogWidthL :: forall a_a1gqF n_a1gqG. Lens' (Dialog a_a1gqF n_a1gqG) Int
+ Brick.Widgets.Dialog: dialogWidthL :: forall a_a1gyx n_a1gyy. Lens' (Dialog a_a1gyx n_a1gyy) Int
- Brick.Widgets.Edit: editContentsL :: forall t_a19yQ n_a19yR t_a19zB. Lens (Editor t_a19yQ n_a19yR) (Editor t_a19zB n_a19yR) (TextZipper t_a19yQ) (TextZipper t_a19zB)
+ Brick.Widgets.Edit: editContentsL :: forall t_a19GI n_a19GJ t_a19Ht. Lens (Editor t_a19GI n_a19GJ) (Editor t_a19Ht n_a19GJ) (TextZipper t_a19GI) (TextZipper t_a19Ht)
- Brick.Widgets.FileBrowser: fileBrowserEntriesG :: forall n_a1sr5. SimpleGetter (FileBrowser n_a1sr5) (List n_a1sr5 FileInfo)
+ Brick.Widgets.FileBrowser: fileBrowserEntriesG :: forall n_a1syX. SimpleGetter (FileBrowser n_a1syX) (List n_a1syX FileInfo)
- Brick.Widgets.FileBrowser: fileBrowserEntryFilterG :: forall n_a1sr5. SimpleGetter (FileBrowser n_a1sr5) (Maybe (FileInfo -> Bool))
+ Brick.Widgets.FileBrowser: fileBrowserEntryFilterG :: forall n_a1syX. SimpleGetter (FileBrowser n_a1syX) (Maybe (FileInfo -> Bool))
- Brick.Widgets.FileBrowser: fileBrowserExceptionG :: forall n_a1sr5. SimpleGetter (FileBrowser n_a1sr5) (Maybe IOException)
+ Brick.Widgets.FileBrowser: fileBrowserExceptionG :: forall n_a1syX. SimpleGetter (FileBrowser n_a1syX) (Maybe IOException)
- Brick.Widgets.FileBrowser: fileBrowserLatestResultsG :: forall n_a1sr5. SimpleGetter (FileBrowser n_a1sr5) [FileInfo]
+ Brick.Widgets.FileBrowser: fileBrowserLatestResultsG :: forall n_a1syX. SimpleGetter (FileBrowser n_a1syX) [FileInfo]
- Brick.Widgets.FileBrowser: fileBrowserNameG :: forall n_a1sr5. SimpleGetter (FileBrowser n_a1sr5) n_a1sr5
+ Brick.Widgets.FileBrowser: fileBrowserNameG :: forall n_a1syX. SimpleGetter (FileBrowser n_a1syX) n_a1syX
- Brick.Widgets.FileBrowser: fileBrowserSearchStringG :: forall n_a1sr5. SimpleGetter (FileBrowser n_a1sr5) (Maybe Text)
+ Brick.Widgets.FileBrowser: fileBrowserSearchStringG :: forall n_a1syX. SimpleGetter (FileBrowser n_a1syX) (Maybe Text)
- Brick.Widgets.FileBrowser: fileBrowserSelectableG :: forall n_a1sr5. SimpleGetter (FileBrowser n_a1sr5) (FileInfo -> Bool)
+ Brick.Widgets.FileBrowser: fileBrowserSelectableG :: forall n_a1syX. SimpleGetter (FileBrowser n_a1syX) (FileInfo -> Bool)
- Brick.Widgets.FileBrowser: fileBrowserSelectableL :: forall n_a1sr5. Lens' (FileBrowser n_a1sr5) (FileInfo -> Bool)
+ Brick.Widgets.FileBrowser: fileBrowserSelectableL :: forall n_a1syX. Lens' (FileBrowser n_a1syX) (FileInfo -> Bool)
- Brick.Widgets.FileBrowser: fileBrowserSelectedFilesG :: forall n_a1sr5. SimpleGetter (FileBrowser n_a1sr5) (Set String)
+ Brick.Widgets.FileBrowser: fileBrowserSelectedFilesG :: forall n_a1syX. SimpleGetter (FileBrowser n_a1syX) (Set String)
- Brick.Widgets.FileBrowser: fileBrowserWorkingDirectoryG :: forall n_a1sr5. SimpleGetter (FileBrowser n_a1sr5) FilePath
+ Brick.Widgets.FileBrowser: fileBrowserWorkingDirectoryG :: forall n_a1syX. SimpleGetter (FileBrowser n_a1syX) FilePath
- Brick.Widgets.List: listElementsL :: forall n_a1mYG t_a1mYH e_a1mYI t_a1nek e_a1nel. Lens (GenericList n_a1mYG t_a1mYH e_a1mYI) (GenericList n_a1mYG t_a1nek e_a1nel) (t_a1mYH e_a1mYI) (t_a1nek e_a1nel)
+ Brick.Widgets.List: listElementsL :: forall n_a1n6y t_a1n6z e_a1n6A t_a1nmc e_a1nmd. Lens (GenericList n_a1n6y t_a1n6z e_a1n6A) (GenericList n_a1n6y t_a1nmc e_a1nmd) (t_a1n6z e_a1n6A) (t_a1nmc e_a1nmd)
- Brick.Widgets.List: listItemHeightL :: forall n_a1mYG t_a1mYH e_a1mYI. Lens' (GenericList n_a1mYG t_a1mYH e_a1mYI) Int
+ Brick.Widgets.List: listItemHeightL :: forall n_a1n6y t_a1n6z e_a1n6A. Lens' (GenericList n_a1n6y t_a1n6z e_a1n6A) Int
- Brick.Widgets.List: listNameL :: forall n_a1mYG t_a1mYH e_a1mYI n_a1nem. Lens (GenericList n_a1mYG t_a1mYH e_a1mYI) (GenericList n_a1nem t_a1mYH e_a1mYI) n_a1mYG n_a1nem
+ Brick.Widgets.List: listNameL :: forall n_a1n6y t_a1n6z e_a1n6A n_a1nme. Lens (GenericList n_a1n6y t_a1n6z e_a1n6A) (GenericList n_a1nme t_a1n6z e_a1n6A) n_a1n6y n_a1nme
- Brick.Widgets.List: listSelectedL :: forall n_a1mYG t_a1mYH e_a1mYI. Lens' (GenericList n_a1mYG t_a1mYH e_a1mYI) (Maybe Int)
+ Brick.Widgets.List: listSelectedL :: forall n_a1n6y t_a1n6z e_a1n6A. Lens' (GenericList n_a1n6y t_a1n6z e_a1n6A) (Maybe Int)
Files
- CHANGELOG.md +7/−0
- brick.cabal +1/−1
- src/Brick/Widgets/Core.hs +12/−6
CHANGELOG.md view
@@ -2,6 +2,13 @@ Brick changelog --------------- +2.8.2+-----++* Updated `Brick.Widgets.Core` functions `cropBottomBy`, `cropToBy`,+ `cropLeftBy`, and `cropRightBy` to properly perform result cropping to+ actually address the internal bug fixed in 2.8.1.+ 2.8.1 -----
brick.cabal view
@@ -1,5 +1,5 @@ name: brick-version: 2.8.1+version: 2.8.2 synopsis: A declarative terminal user interface library description: Write terminal user interfaces (TUIs) painlessly with 'brick'! You
src/Brick/Widgets/Core.hs view
@@ -1112,8 +1112,11 @@ result <- render p let amt = V.imageWidth (result^.imageL) - cols cropped img = if amt < 0 then V.emptyImage else V.cropLeft amt img- return $ addResultOffset (Location (-1 * cols, 0))- $ result & imageL %~ cropped+ render $ Widget (hSize p) (vSize p) $+ withReaderT (availWidthL .~ amt) $+ cropResultToContext $+ addResultOffset (Location (-1 * cols, 0)) $+ result & imageL %~ cropped -- | Crop the specified widget to the specified size from the left. -- Defers to the cropped widget for growth policy.@@ -1135,7 +1138,7 @@ result <- render p let amt = V.imageWidth (result^.imageL) - cols cropped img = if amt < 0 then V.emptyImage else V.cropRight amt img- return $ result & imageL %~ cropped+ cropResultToContext $ result & imageL %~ cropped -- | Crop the specified widget to the specified size from the right. -- Defers to the cropped widget for growth policy.@@ -1157,8 +1160,11 @@ result <- render p let amt = V.imageHeight (result^.imageL) - rows cropped img = if amt < 0 then V.emptyImage else V.cropTop amt img- return $ addResultOffset (Location (0, -1 * rows))- $ result & imageL %~ cropped+ render $ Widget (hSize p) (vSize p) $+ withReaderT (availHeightL .~ amt) $+ cropResultToContext $+ addResultOffset (Location (0, -1 * rows)) $+ result & imageL %~ cropped -- | Crop the specified widget to the specified size from the top. -- Defers to the cropped widget for growth policy.@@ -1180,7 +1186,7 @@ result <- render p let amt = V.imageHeight (result^.imageL) - rows cropped img = if amt < 0 then V.emptyImage else V.cropBottom amt img- return $ result & imageL %~ cropped+ cropResultToContext $ result & imageL %~ cropped -- | Crop the specified widget to the specified size from the bottom. -- Defers to the cropped widget for growth policy.