From b098daf7bcb6e4a493723026f5644bd81164c641 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 6 Mar 2026 20:45:39 +0100 Subject: modularize --- src/TextViewport/Buffer/Item.hs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/TextViewport/Buffer/Item.hs (limited to 'src/TextViewport/Buffer/Item.hs') diff --git a/src/TextViewport/Buffer/Item.hs b/src/TextViewport/Buffer/Item.hs new file mode 100644 index 0000000..b08aaf4 --- /dev/null +++ b/src/TextViewport/Buffer/Item.hs @@ -0,0 +1,27 @@ +module TextViewport.Buffer.Item where + +import Data.Text (Text) +import Data.HashMap.Strict qualified as HM +import Text.Hyphenation qualified as H + + +data Item = Item + { itemText :: Text + , itemSegments :: SegmentStrategy + } + deriving (Eq, Show) + +data SegmentStrategy + = NoSegments + | FixedWidthSegments + | HyphenateSegments + { hsDict :: H.Hyphenator + , hsCache :: HM.HashMap Text [(Text, Text)] + } + deriving (Eq, Show) + +instance Show H.Hyphenator where + show _ = "" + +instance Eq H.Hyphenator where + a == b = False -- cgit v1.2.3