|
1 | 1 | {-# LANGUAGE AllowAmbiguousTypes #-}
|
2 | 2 | {-# LANGUAGE BangPatterns #-}
|
3 | 3 | {-# LANGUAGE FlexibleInstances #-}
|
| 4 | +{-# LANGUAGE ImportQualifiedPost #-} |
4 | 5 | {-# LANGUAGE OverloadedStrings #-}
|
5 | 6 | {-# LANGUAGE ScopedTypeVariables #-}
|
6 | 7 | {-# LANGUAGE TypeApplications #-}
|
@@ -52,13 +53,13 @@ import Core.Text.Colour
|
52 | 53 | import Core.Text.Parsing
|
53 | 54 | import Core.Text.Rope
|
54 | 55 | import Data.Bits (Bits (..))
|
55 |
| -import qualified Data.ByteString as B (ByteString, length, splitAt, unpack) |
| 56 | +import Data.ByteString qualified as B (ByteString, length, splitAt, unpack) |
56 | 57 | import Data.Char (intToDigit)
|
57 |
| -import qualified Data.FingerTree as F (ViewL (..), viewl, (<|)) |
| 58 | +import Data.FingerTree qualified as F (ViewL (..), viewl, (<|)) |
58 | 59 | import Data.Kind (Type)
|
59 |
| -import qualified Data.List as List (dropWhileEnd, foldl', splitAt) |
60 |
| -import qualified Data.Text as T |
61 |
| -import qualified Data.Text.Short as S ( |
| 60 | +import Data.List qualified as List (dropWhileEnd, foldl', splitAt) |
| 61 | +import Data.Text qualified as T |
| 62 | +import Data.Text.Short qualified as S ( |
62 | 63 | ShortText,
|
63 | 64 | replicate,
|
64 | 65 | singleton,
|
@@ -164,10 +165,9 @@ twoWords ds = go ds
|
164 | 165 | where
|
165 | 166 | go [] = []
|
166 | 167 | go [x] = [softline' <> x]
|
167 |
| - go xs = |
168 |
| - let (one : two : [], remainder) = List.splitAt 2 xs |
169 |
| - in group (one <> spacer <> two) : go remainder |
170 |
| - |
| 168 | + go xs = case List.splitAt 2 xs of |
| 169 | + (one : two : [], remainder) -> group (one <> spacer <> two) : go remainder |
| 170 | + _ -> [] -- unreachable |
171 | 171 | spacer = flatAlt softline' " "
|
172 | 172 |
|
173 | 173 | byteChunk :: B.ByteString -> [B.ByteString]
|
@@ -316,7 +316,6 @@ Sadly if there is only one item you don't get an Oxford comma, either:
|
316 | 316 | λ> __oxford []__
|
317 | 317 | ""
|
318 | 318 | @
|
319 |
| -
|
320 | 319 | -}
|
321 | 320 | oxford :: [Rope] -> Rope
|
322 | 321 | oxford [] = emptyRope
|
|
0 commit comments