module TextViewport.Buffer.Item where import Data.Text (Text) import Data.HashMap.Strict qualified as HM import Text.Hyphenation qualified as H data Item a = Item { itemText :: a , itemSegments :: SegmentStrategy a } deriving (Eq, Show) data SegmentStrategy a = NoSegments | FixedWidthSegments | HyphenateSegments { hsLang :: H.Language , hsCache :: HM.HashMap a [(a, a)] } deriving (Eq, Show)