- data Rope = Rope !Delta !(FingerTree Delta Strand)
- rope :: FingerTree Delta Strand -> Rope
- strands :: Rope -> FingerTree Delta Strand
- grab :: Delta -> Rope -> (Delta -> ByteString -> r) -> r -> r
- lastNewline :: Rope -> Bool -> Delta
Documentation
Rope !Delta !(FingerTree Delta Strand) |
grab :: Delta -> Rope -> (Delta -> ByteString -> r) -> r -> rSource
grab a lazy bytestring starting from some point. This bytestring does not cross path nodes if the index is to the start of a bytestring fragment, we update it to deal with any intervening path fragments
lastNewline :: Rope -> Bool -> DeltaSource
obtain the byte location of the last newline in a rope, or the end of the rope if at EOF