summaryrefslogtreecommitdiffstats
path: root/src/TextViewport/Render/RenderItem.hs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-03-09 02:25:18 +0100
committertv <tv@krebsco.de>2026-03-09 02:26:50 +0100
commit230e538e41360f2018db9a8b5274402d0b3200b6 (patch)
tree3c7cb9e360850d0a404087a66bfb860441905a9b /src/TextViewport/Render/RenderItem.hs
parentfdf2c5436dfea4a30af445059e77a54e14b64752 (diff)
generalize Item from Text to Textual
Diffstat (limited to 'src/TextViewport/Render/RenderItem.hs')
-rw-r--r--src/TextViewport/Render/RenderItem.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/TextViewport/Render/RenderItem.hs b/src/TextViewport/Render/RenderItem.hs
index 6c9cbc3..7e00cf1 100644
--- a/src/TextViewport/Render/RenderItem.hs
+++ b/src/TextViewport/Render/RenderItem.hs
@@ -1,11 +1,14 @@
module TextViewport.Render.RenderItem where
+import Data.Hashable (Hashable)
+import Data.Sequences (Index, Textual)
import TextViewport.Buffer.Item (Item(..))
import TextViewport.Render.CachedRender
import TextViewport.Render.RenderedItem
import TextViewport.Render.Segmentation (applyStrategy)
-renderItem :: Int -> Int -> Item -> Maybe CachedRender -> CachedRender
+
+renderItem :: (Hashable t, Textual t, Index t ~ Int) => Int -> Int -> Item t -> Maybe (CachedRender t) -> CachedRender t
renderItem width itemIx (Item txt strategy) mOld =
case mOld of
Just old