data ImportDecl name
= ImportDecl Module -- module name
Bool -- True => qualified
+ Bool -- True => source imported module
+ -- (current interpretation: ignore ufolding info)
(Maybe Module) -- as Module
(Maybe (Bool, [IE name])) -- (True => hiding, names)
SrcLoc
\begin{code}
instance (NamedThing name, Outputable name) => Outputable (ImportDecl name) where
- ppr sty (ImportDecl mod qual as spec _)
- = hang (hsep [ptext SLIT("import"), pp_qual qual, ptext mod, pp_as as])
+ ppr sty (ImportDecl mod qual as_source as spec _)
+ = hang (hsep [ptext SLIT("import"), pp_src as_source,
+ pp_qual qual, ptext mod, pp_as as])
4 (pp_spec spec)
where
+ pp_src False = empty
+ pp_src True = ptext SLIT("{-# SOURCE #-}")
+
pp_qual False = empty
pp_qual True = ptext SLIT("qualified")
= if is_case then
pprMatch sty is_case match
else
- hang name 4 (pprMatch sty is_case match)
+ name <+> (pprMatch sty is_case match)
pprMatches sty print_info (match1 : rest)
= ($$) (pprMatches sty print_info [match1])
PprStyle -> Bool -> Match tyvar uvar id pat -> Doc
pprMatch sty is_case first_match
- = hang (sep (map (ppr sty) row_of_pats))
- 8 grhss_etc_stuff
+ = sep [(sep (map (ppr sty) row_of_pats)),
+ grhss_etc_stuff]
where
(row_of_pats, grhss_etc_stuff) = ppr_match sty is_case first_match
= ([], pprGRHSsAndBinds sty is_case grhss_n_binds)
ppr_match sty is_case (SimpleMatch expr)
- = ([], hang (text (if is_case then "->" else "="))
- 4 (ppr sty expr))
+ = ([], text (if is_case then "->" else "=") <+> ppr sty expr)
----------------------------------------------------------
=> PprStyle -> Bool -> GRHS tyvar uvar id pat -> Doc
pprGRHS sty is_case (GRHS [] expr locn)
- = hang (text (if is_case then "->" else "="))
- 4 (ppr sty expr)
+ = text (if is_case then "->" else "=") <+> ppr sty expr
pprGRHS sty is_case (GRHS guard expr locn)
- = hang (hsep [char '|', ppr sty guard, text (if is_case then "->" else "=")])
- 4 (ppr sty expr)
+ = sep [char '|' <+> ppr sty guard,
+ text (if is_case then "->" else "=") <+> ppr sty expr
+ ]
pprGRHS sty is_case (OtherwiseGRHS expr locn)
- = hang (text (if is_case then "->" else "="))
- 4 (ppr sty expr)
+ = text (if is_case then "->" else "=") <+> ppr sty expr
\end{code}