yi-core-0.19.2: Yi editor core library
Safe HaskellNone



This module defines buffer operation on regions



module Yi.Region

swapRegionsB :: Region -> Region -> BufferM () Source #

Swap the content of two Regions

deleteRegionB :: Region -> BufferM () Source #

Delete an arbitrary part of the buffer

replaceRegionB :: Region -> YiString -> BufferM () Source #

Replace a region with a given rope.

mapRegionB :: Region -> (Char -> Char) -> BufferM () Source #

Map the given function over the characters in the region.

modifyRegionB Source #


:: (YiString -> YiString)

The string modification function

-> Region

The region to modify

-> BufferM () 

Modifies the given region according to the given string transformation function

inclusiveRegionB :: Region -> BufferM Region Source #

Extend the right bound of a region to include it.

blockifyRegion :: Region -> BufferM [Region] Source #

See a region as a block/rectangular region, since regions are represented by two point, this returns a list of small regions form this block region.

joinLinesB :: Region -> BufferM () Source #

Joins lines in the region with a single space, skipping any empty lines.

concatLinesB :: Region -> BufferM () Source #

Concatenates lines in the region preserving the trailing newline if any.

linesOfRegionB :: Region -> BufferM [Region] Source #

Gets the lines of a region (as a region), preserving newlines. Thus the resulting list of regions is a partition of the original region.

The direction of the region is preserved and all smaller regions will retain that direction.

Note that regions should never be empty, so it would be odd for this to return an empty list...