ghcide-2.4.0.0: The core of an IDE
Safe HaskellSafe-Inferred
LanguageHaskell2010

Development.IDE.Core.PositionMapping

Synopsis

Documentation

data PositionResult a #

Either an exact position, or the range of text that was substituted

Constructors

PositionRange

Fields need to be non-strict otherwise bind is exponential

PositionExact !a 

Instances

Instances details
Applicative PositionResult # 
Instance details

Defined in Development.IDE.Core.PositionMapping

Functor PositionResult # 
Instance details

Defined in Development.IDE.Core.PositionMapping

Methods

fmap :: (a -> b) -> PositionResult a -> PositionResult b #

(<$) :: a -> PositionResult b -> PositionResult a #

Monad PositionResult # 
Instance details

Defined in Development.IDE.Core.PositionMapping

Show a => Show (PositionResult a) # 
Instance details

Defined in Development.IDE.Core.PositionMapping

Methods

showsPrec :: Int -> PositionResult a -> ShowS #

show :: PositionResult a -> String #

showList :: [PositionResult a] -> ShowS #

Eq a => Eq (PositionResult a) # 
Instance details

Defined in Development.IDE.Core.PositionMapping

Methods

(==) :: PositionResult a -> PositionResult a -> Bool #

(/=) :: PositionResult a -> PositionResult a -> Bool #

Ord a => Ord (PositionResult a) # 
Instance details

Defined in Development.IDE.Core.PositionMapping

data PositionDelta #

Instances

Instances details
Show PositionDelta # 
Instance details

Defined in Development.IDE.Core.PositionMapping

Methods

showsPrec :: Int -> PositionDelta -> ShowS #

show :: PositionDelta -> String #

showList :: [PositionDelta] -> ShowS #

NFData PositionDelta # 
Instance details

Defined in Development.IDE.Core.PositionMapping

Methods

rnf :: PositionDelta -> () #

addDelta :: PositionDelta -> PositionMapping -> PositionMapping #

Add a new delta onto a Mapping k n to make a Mapping (k - 1) n

composeDelta :: PositionDelta -> PositionDelta -> PositionDelta #

Compose two position mappings. Composes in the same way as function composition (ie the second argument is applied to the position first).

mkDelta :: [TextDocumentContentChangeEvent] -> PositionDelta #

Convert a set of changes into a delta from k to k + 1