on master help sign in
Whitespace
cd9e17bJonathan Daugherty
src/Graphics/Vty/UnicodeWidthTable/Query.hs+4
@@ -31,14 +31,18 @@ mkRanges :: [(Char, Int)] -> [WidthTableRange]
31mkRanges pairs =
31mkRanges pairs =
32 let convertedPairs = convert <$> pairs
32 let convertedPairs = convert <$> pairs
33 convert (c, i) = (fromIntegral $ fromEnum c, fromIntegral i)
33 convert (c, i) = (fromIntegral $ fromEnum c, fromIntegral i)
34+
34 go Nothing finishedRanges [] = finishedRanges
35 go Nothing finishedRanges [] = finishedRanges
35 go (Just r) finishedRanges [] = r:finishedRanges
36 go (Just r) finishedRanges [] = r:finishedRanges
37+
36 go Nothing finishedRanges ((c, width):rest) =
38 go Nothing finishedRanges ((c, width):rest) =
37 go (Just $ WidthTableRange c 1 width) finishedRanges rest
39 go (Just $ WidthTableRange c 1 width) finishedRanges rest
40+
38 go (Just r@(WidthTableRange prevCh sz prevWidth)) finishedRanges ((c, width):rest) =
41 go (Just r@(WidthTableRange prevCh sz prevWidth)) finishedRanges ((c, width):rest) =
39 if c == prevCh + sz && prevWidth == width
42 if c == prevCh + sz && prevWidth == width
40 then go (Just (WidthTableRange prevCh (sz + 1) prevWidth)) finishedRanges rest
43 then go (Just (WidthTableRange prevCh (sz + 1) prevWidth)) finishedRanges rest
41 else go (Just (WidthTableRange c 1 width)) (r:finishedRanges) rest
44 else go (Just (WidthTableRange c 1 width)) (r:finishedRanges) rest
45+
42 in go Nothing [] convertedPairs
46 in go Nothing [] convertedPairs
43
47
44-- | Construct a unicode character width table by querying the terminal
48-- | Construct a unicode character width table by querying the terminal