cursor-brick-0.1.0.0: src/Cursor/Brick/List/NonEmpty.hs
{-# LANGUAGE RecordWildCards #-}
module Cursor.Brick.List.NonEmpty where
import Cursor.List.NonEmpty
import Brick.Types as B
import Brick.Widgets.Core as B
horizontalNonEmptyCursorWidgetM ::
Applicative f
=> (b -> f (Widget n))
-> (a -> f (Widget n))
-> (b -> f (Widget n))
-> NonEmptyCursor a b
-> f (Widget n)
horizontalNonEmptyCursorWidgetM beforeFunc curFunc afterFunc =
nonEmptyCursorWidgetM $ \befores current afters ->
hBox <$>
sequenceA
(concat [map beforeFunc befores, [curFunc current], map afterFunc afters])
horizontalNonEmptyCursorWidget ::
(b -> Widget n)
-> (a -> Widget n)
-> (b -> Widget n)
-> NonEmptyCursor a b
-> Widget n
horizontalNonEmptyCursorWidget beforeFunc curFunc afterFunc =
nonEmptyCursorWidget $ \befores current afters ->
hBox $
concat [map beforeFunc befores, [curFunc current], map afterFunc afters]
verticalNonEmptyCursorWidgetM ::
Applicative f
=> (b -> f (Widget n))
-> (a -> f (Widget n))
-> (b -> f (Widget n))
-> NonEmptyCursor a b
-> f (Widget n)
verticalNonEmptyCursorWidgetM beforeFunc curFunc afterFunc =
nonEmptyCursorWidgetM $ \befores current afters ->
vBox <$>
sequenceA
(concat [map beforeFunc befores, [curFunc current], map afterFunc afters])
verticalNonEmptyCursorWidget ::
(b -> Widget n)
-> (a -> Widget n)
-> (b -> Widget n)
-> NonEmptyCursor a b
-> Widget n
verticalNonEmptyCursorWidget beforeFunc curFunc afterFunc =
nonEmptyCursorWidget $ \befores current afters ->
vBox $
concat [map beforeFunc befores, [curFunc current], map afterFunc afters]
nonEmptyCursorWidgetM ::
([b] -> a -> [b] -> m (Widget n)) -> NonEmptyCursor a b -> m (Widget n)
nonEmptyCursorWidgetM = foldNonEmptyCursor
nonEmptyCursorWidget ::
([b] -> a -> [b] -> Widget n) -> NonEmptyCursor a b -> Widget n
nonEmptyCursorWidget = foldNonEmptyCursor