ormolu-0.7.7.0: A formatter for Haskell source code
Safe HaskellNone
LanguageGHC2021

Ormolu.Printer.SpanStream

Description

Build span stream from AST.

Synopsis

Documentation

newtype SpanStream #

A stream of RealSrcSpans in ascending order. This allows us to tell e.g. whether there is another "located" element of AST between current element and comment we're considering for printing.

Constructors

SpanStream [RealSrcSpan] 

Instances

Instances details
Monoid SpanStream # 
Instance details

Defined in Ormolu.Printer.SpanStream

Semigroup SpanStream # 
Instance details

Defined in Ormolu.Printer.SpanStream

Data SpanStream # 
Instance details

Defined in Ormolu.Printer.SpanStream

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SpanStream -> c SpanStream #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SpanStream #

toConstr :: SpanStream -> Constr #

dataTypeOf :: SpanStream -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SpanStream) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SpanStream) #

gmapT :: (forall b. Data b => b -> b) -> SpanStream -> SpanStream #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SpanStream -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SpanStream -> r #

gmapQ :: (forall d. Data d => d -> u) -> SpanStream -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SpanStream -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SpanStream -> m SpanStream #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SpanStream -> m SpanStream #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SpanStream -> m SpanStream #

Show SpanStream # 
Instance details

Defined in Ormolu.Printer.SpanStream

Eq SpanStream # 
Instance details

Defined in Ormolu.Printer.SpanStream

mkSpanStream #

Arguments

:: Data a 
=> a

Data structure to inspect (AST)

-> SpanStream 

Create SpanStream from a data structure containing "located" elements.