It's not an easy problem to pretty print (i.e. change indentation) and preserve the comments. And always get it right.
On Tue, Oct 20, 2009 at 1:28 PM, Pasqualino "Titto" Assini <[email protected]> wrote: > Thanks Niklas, > > in fact this produced a source with comments: > > > import Language.Haskell.Exts.Annotated > > main = do > (ParseOk (mod,comments)) <- parseFileWithComments defaultParseMode "Test.hs" > let pretty = exactPrint mod comments > writeFile "Test_PRETTY.hs" pretty > > > > However: > - The source code produced was incorrect: > > > class Dir d where > > was rewritten as: > > class Dir dwhere{ > > > And: > > instance Dir Directory where > localDir (Local f) = return f > > type URL= String > > > was rewritten as: > > > instance Dir Directory where > localDir (Local f) = return f > > typeURL= String > > > Are these known bugs? > > > - Also, the printing is a bit too exact :-), I would like to keep my > comments AND get the code nicely reformatted. > > > Is there a way? > > What people use to keep their haskell source files in tip-top shape? > > Thanks > > titto > > > > > > > 2009/10/20 Niklas Broberg <[email protected]>: >> Hi Pasqualino, >> >>> I am looking at the haskell-src-ext library. >>> >>> It can parse files with comments and it can pretty print but, for what >>> I can see it cannot do both :-) (prettyPrint won't work on the >>> structure returned by parseFileWithComments). >> >> What you want is exactPrint, defined in >> Language.Haskell.Exts.Annotated.ExactPrint. :-) >> >> Cheers, >> >> /Niklas > _______________________________________________ > Haskell-Cafe mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
