ghcide-1.7.0.0: The core of an IDE
Safe HaskellNone
LanguageHaskell2010

Development.IDE.GHC.Compat.ExactPrint

Description

This module contains compatibility constructs to write type signatures across multiple ghc-exactprint versions, accepting that anything more ambitious is pretty much impossible with the GHC 9.2 redesign of ghc-exactprint

Synopsis

Documentation

class ExactPrint ast Source #

Instances

Instances details
ExactPrint ast Source # 
Instance details

Defined in Development.IDE.GHC.Compat.ExactPrint

Methods

makeDeltaAst :: ast -> ast Source #

exactPrint :: Annotate ast => Located ast -> Anns -> String #

Print an AST with a map of potential modified Anns. The usual way to generate such a map is by using one of the parsers in Language.Haskell.GHC.ExactPrint.Parsers.

makeDeltaAst :: ExactPrint ast => ast -> ast Source #

data Annotated ast #

Annotated packages an AST fragment with the annotations necessary to exactPrint or transform that AST.

Instances

Instances details
Functor Annotated 
Instance details

Defined in Retrie.ExactPrint.Annotated

Methods

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

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

Foldable Annotated 
Instance details

Defined in Retrie.ExactPrint.Annotated

Methods

fold :: Monoid m => Annotated m -> m #

foldMap :: Monoid m => (a -> m) -> Annotated a -> m #

foldMap' :: Monoid m => (a -> m) -> Annotated a -> m #

foldr :: (a -> b -> b) -> b -> Annotated a -> b #

foldr' :: (a -> b -> b) -> b -> Annotated a -> b #

foldl :: (b -> a -> b) -> b -> Annotated a -> b #

foldl' :: (b -> a -> b) -> b -> Annotated a -> b #

foldr1 :: (a -> a -> a) -> Annotated a -> a #

foldl1 :: (a -> a -> a) -> Annotated a -> a #

toList :: Annotated a -> [a] #

null :: Annotated a -> Bool #

length :: Annotated a -> Int #

elem :: Eq a => a -> Annotated a -> Bool #

maximum :: Ord a => Annotated a -> a #

minimum :: Ord a => Annotated a -> a #

sum :: Num a => Annotated a -> a #

product :: Num a => Annotated a -> a #

Traversable Annotated 
Instance details

Defined in Retrie.ExactPrint.Annotated

Methods

traverse :: Applicative f => (a -> f b) -> Annotated a -> f (Annotated b) #

sequenceA :: Applicative f => Annotated (f a) -> f (Annotated a) #

mapM :: Monad m => (a -> m b) -> Annotated a -> m (Annotated b) #

sequence :: Monad m => Annotated (m a) -> m (Annotated a) #

Show (Annotated ParsedSource) Source # 
Instance details

Defined in Development.IDE.GHC.Orphans

(Data ast, Monoid ast) => Semigroup (Annotated ast) 
Instance details

Defined in Retrie.ExactPrint.Annotated

Methods

(<>) :: Annotated ast -> Annotated ast -> Annotated ast #

sconcat :: NonEmpty (Annotated ast) -> Annotated ast #

stimes :: Integral b => b -> Annotated ast -> Annotated ast #

(Data ast, Monoid ast) => Monoid (Annotated ast) 
Instance details

Defined in Retrie.ExactPrint.Annotated

Methods

mempty :: Annotated ast #

mappend :: Annotated ast -> Annotated ast -> Annotated ast #

mconcat :: [Annotated ast] -> Annotated ast #

Default ast => Default (Annotated ast) 
Instance details

Defined in Retrie.ExactPrint.Annotated

Methods

def :: Annotated ast #

NFData (Annotated ParsedSource) Source # 
Instance details

Defined in Development.IDE.GHC.Orphans

Methods

rnf :: Annotated ParsedSource -> () #

pattern Annotated :: ast -> Anns -> Annotated ast Source #

astA :: Annotated ast -> ast Source #