located-0.1.0.0: Source location helpers

Safe HaskellSafe
LanguageHaskell2010

Text.Location

Synopsis

Documentation

data Range source Source

Constructors

Range 

Fields

rangeSource :: Maybe source
 
rangeStart, rangeEnd :: !Position
 

Instances

Eq source => Eq (Range source) Source 
Ord source => Ord (Range source) Source 
Show source => Show (Range source) Source 
Generic (Range source) Source 
Monoid (Range source) Source 
HasLoc (Range source) Source 
type Rep (Range source) Source 
type LocSource (Range source) = source Source 

data Located source a Source

Constructors

Located 

Fields

locRange :: !(Range source)
 
locValue :: a
 

Instances

Functor (Located source) Source 
Foldable (Located source) Source 
Traversable (Located source) Source 
Eq source => Eq (Located source a) Source 
Ord source => Ord (Located source a) Source 
(Show source, Show a) => Show (Located source a) Source 
Generic (Located source a) Source 
HasLoc (Located source a) Source 
UnLoc a => UnLoc (Located source a) Source 
type Rep (Located source a) Source 
type LocSource (Located source a) = source Source 

class UnLoc a where Source

Remove one layer of location information.

Methods

unLoc :: a -> a Source

Instances

UnLoc a => UnLoc [a] Source 
UnLoc a => UnLoc (Maybe a) Source 
UnLoc a => UnLoc (Located source a) Source 

class HasLoc a where Source

Associated Types

type LocSource a :: * Source

Methods

getLoc :: a -> Range (LocSource a) Source

Instances

HasLoc a => HasLoc [a] Source 
HasLoc a => HasLoc (Maybe a) Source 
HasLoc (Range source) Source 
((~) * (LocSource a) (LocSource b), HasLoc a, HasLoc b) => HasLoc (a, b) Source 
HasLoc (Located source a) Source 
((~) * (LocSource a) (LocSource b), (~) * (LocSource b) (LocSource c), HasLoc a, HasLoc b, HasLoc c) => HasLoc (a, b, c) Source 
((~) * (LocSource a) (LocSource b), (~) * (LocSource b) (LocSource c), (~) * (LocSource c) (LocSource d), HasLoc a, HasLoc b, HasLoc c, HasLoc d) => HasLoc (a, b, c, d) Source 

at :: HasLoc loc => a -> loc -> Located (LocSource loc) a Source

thing :: Located source a -> a Source

movePos Source

Arguments

:: Int64

Tab size

-> Char 
-> Position 
-> Position 

Move a position by the width of a character.

inRange :: Range source -> Position -> Bool Source

rangeText :: Int -> Range source -> Text -> Text Source

The lines that the region describes, with optional additional lines of context.