{-# LANGUAGE TemplateHaskell #-}
module Vgrep.Widget.Pager.Internal (
Pager (..)
, position
, column
, above
, visible
, highlighted
) where
import Control.Lens.Compat
import Data.IntMap.Strict (IntMap)
import Data.Sequence (Seq)
import Data.Text (Text)
import Vgrep.Ansi
data =
{ Pager -> Int
_column :: Int
, Pager -> IntMap AnsiFormatted
_highlighted :: IntMap AnsiFormatted
, Pager -> Seq Text
_above :: Seq Text
, Pager -> Seq Text
_visible :: Seq Text
} deriving (Pager -> Pager -> Bool
(Pager -> Pager -> Bool) -> (Pager -> Pager -> Bool) -> Eq Pager
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Pager -> Pager -> Bool
$c/= :: Pager -> Pager -> Bool
== :: Pager -> Pager -> Bool
$c== :: Pager -> Pager -> Bool
Eq, Int -> Pager -> ShowS
[Pager] -> ShowS
Pager -> String
(Int -> Pager -> ShowS)
-> (Pager -> String) -> ([Pager] -> ShowS) -> Show Pager
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Pager] -> ShowS
$cshowList :: [Pager] -> ShowS
show :: Pager -> String
$cshow :: Pager -> String
showsPrec :: Int -> Pager -> ShowS
$cshowsPrec :: Int -> Pager -> ShowS
Show)
makeLenses ''Pager
position :: Getter Pager Int
position :: Getting r Pager Int
position = (Seq Text -> Const r (Seq Text)) -> Pager -> Const r Pager
Lens' Pager (Seq Text)
above ((Seq Text -> Const r (Seq Text)) -> Pager -> Const r Pager)
-> ((Int -> Const r Int) -> Seq Text -> Const r (Seq Text))
-> Getting r Pager Int
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Seq Text -> Int) -> SimpleGetter (Seq Text) Int
forall s a. (s -> a) -> SimpleGetter s a
to Seq Text -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length