module Data.Text.Fuzzy.Section (cutSectionBy, cutSectionOn) where

import Data.Text (Text)
import qualified Data.List as List


cutSectionOn :: Text -> Text -> [Text] -> [Text]
cutSectionOn a b txt = cutSectionBy ((==)a) ((==b)) txt

cutSectionBy :: (Text -> Bool) -> (Text -> Bool) -> [Text] -> [Text]
cutSectionBy a b txt = cutI
  where
    cutC = List.dropWhile (not . a) txt
    cutI = List.takeWhile (not . b) cutC