yi-language-0.19.0: Collection of language-related Yi libraries.
Safe HaskellNone
LanguageHaskell2010

Yi.Region

Description

This module defines the Region ADT

Synopsis

Documentation

data Region Source #

The region data type. The region is semi open: it includes the start but not the end bound. This allows simpler region-manipulation algorithms. Invariant : regionStart r <= regionEnd r

Instances

Instances details
Show Region Source # 
Instance details

Defined in Yi.Region

Generic Region Source # 
Instance details

Defined in Yi.Region

Associated Types

type Rep Region :: Type -> Type #

Methods

from :: Region -> Rep Region x #

to :: Rep Region x -> Region #

Binary Region Source # 
Instance details

Defined in Yi.Region

Methods

put :: Region -> Put #

get :: Get Region #

putList :: [Region] -> Put #

type Rep Region Source # 
Instance details

Defined in Yi.Region

type Rep Region = D1 ('MetaData "Region" "Yi.Region" "yi-language-0.19.0-IdyJrIEoDq11Qjn5TopPkH" 'False) (C1 ('MetaCons "Region" 'PrefixI 'True) (S1 ('MetaSel ('Just "regionDirection") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Direction) :*: (S1 ('MetaSel ('Just "regionStart") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Point) :*: S1 ('MetaSel ('Just "regionEnd") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Point))))

emptyRegion :: Region Source #

The empty region

mkRegion :: Point -> Point -> Region Source #

Construct a region from its bounds, emacs style: the right bound is excluded

inRegion :: Point -> Region -> Bool Source #

True if the given point is inside the given region.

nearRegion :: Point -> Region -> Bool Source #

True if the given point is inside the given region or at the end of it.

includedRegion :: Region -> Region -> Bool Source #

Returns if a region (1st arg) is included in another (2nd arg)

intersectRegion :: Region -> Region -> Region Source #

Take the intersection of two regions

unionRegion :: Region -> Region -> Region Source #

Take the union of two regions (including what is between them)