    module Data.Text.Zipper.Vector
        ( vecLines
        )
    where

    import qualified Data.Vector as V

    vecLines :: V.Vector Char -> [V.Vector Char]
    vecLines :: Vector Char -> [Vector Char]
    vecLines Vector Char
    v | Vector Char -> Bool
    forall a. Vector a -> Bool
    V.null Vector Char
    v  = []
               | Bool
    otherwise = case Char -> Vector Char -> Maybe Int
    forall a. Eq a => a -> Vector a -> Maybe Int
    V.elemIndex Char
    '\n' Vector Char
    v of
                   Maybe Int
    Nothing -> [Vector Char
    v]
                   Just Int
    i -> let (Vector Char
    h, Vector Char
    t) = Int -> Vector Char -> (Vector Char, Vector Char)
    forall a. Int -> Vector a -> (Vector a, Vector a)
    V.splitAt Int
    i Vector Char
    v
                             in Vector Char
    h Vector Char -> [Vector Char] -> [Vector Char]
    forall a. a -> [a] -> [a]
    : Vector Char -> [Vector Char]
    vecLines Vector Char
    t