tweag / ormolu

A formatter for Haskell source code
https://ormolu-live.tweag.io
Other
944 stars 83 forks source link

Update debug logs #1045

Closed brandonchinn178 closed 12 months ago

brandonchinn178 commented 1 year ago

Make debug logs more informative + useful.

Printing out the config is useful now with the fixity + reexport configuration.

Test

stack run -- ormolu --debug data/examples/declaration/class/associated-type-defaults.hs
Found .cabal file ormolu.cabal, but it did not mention data/examples/declaration/class/associated-type-defaults.hs
*** CONFIG *** Config {cfgDynOptions = [], cfgFixityOverrides = FixityOverrides {unFixityOverrides = fromList []}, cfgModuleReexports = ModuleReexports {unModuleReexports = fromList [(ModuleName "Control.Lens",(Just (PackageName "lens"),ModuleName "Control.Lens.At") :| [(Just (PackageName "lens"),ModuleName "Control.Lens.Cons"),(Just (PackageName "lens"),ModuleName "Control.Lens.Each"),(Just (PackageName "lens"),ModuleName "Control.Lens.Empty"),(Just (PackageName "lens"),ModuleName "Control.Lens.Equality"),(Just (PackageName "lens"),ModuleName "Control.Lens.Fold"),(Just (PackageName "lens"),ModuleName "Control.Lens.Getter"),(Just (PackageName "lens"),ModuleName "Control.Lens.Indexed"),(Just (PackageName "lens"),ModuleName "Control.Lens.Iso"),(Just (PackageName "lens"),ModuleName "Control.Lens.Lens"),(Just (PackageName "lens"),ModuleName "Control.Lens.Level"),(Just (PackageName "lens"),ModuleName "Control.Lens.Plated"),(Just (PackageName "lens"),ModuleName "Control.Lens.Prism"),(Just (PackageName "lens"),ModuleName "Control.Lens.Reified"),(Just (PackageName "lens"),ModuleName "Control.Lens.Review"),(Just (PackageName "lens"),ModuleName "Control.Lens.Setter"),(Just (PackageName "lens"),ModuleName "Control.Lens.TH"),(Just (PackageName "lens"),ModuleName "Control.Lens.Traversal"),(Just (PackageName "lens"),ModuleName "Control.Lens.Tuple"),(Just (PackageName "lens"),ModuleName "Control.Lens.Type"),(Just (PackageName "lens"),ModuleName "Control.Lens.Wrapped"),(Just (PackageName "lens"),ModuleName "Control.Lens.Zoom"),(Just (PackageName "lens"),ModuleName "Control.Lens.At"),(Just (PackageName "lens"),ModuleName "Control.Lens.Cons"),(Just (PackageName "lens"),ModuleName "Control.Lens.Each"),(Just (PackageName "lens"),ModuleName "Control.Lens.Empty"),(Just (PackageName "lens"),ModuleName "Control.Lens.Equality"),(Just (PackageName "lens"),ModuleName "Control.Lens.Fold"),(Just (PackageName "lens"),ModuleName "Control.Lens.Getter"),(Just (PackageName "lens"),ModuleName "Control.Lens.Indexed"),(Just (PackageName "lens"),ModuleName "Control.Lens.Iso"),(Just (PackageName "lens"),ModuleName "Control.Lens.Lens"),(Just (PackageName "lens"),ModuleName "Control.Lens.Level"),(Just (PackageName "lens"),ModuleName "Control.Lens.Plated"),(Just (PackageName "lens"),ModuleName "Control.Lens.Prism"),(Just (PackageName "lens"),ModuleName "Control.Lens.Reified"),(Just (PackageName "lens"),ModuleName "Control.Lens.Review"),(Just (PackageName "lens"),ModuleName "Control.Lens.Setter"),(Just (PackageName "lens"),ModuleName "Control.Lens.TH"),(Just (PackageName "lens"),ModuleName "Control.Lens.Traversal"),(Just (PackageName "lens"),ModuleName "Control.Lens.Tuple"),(Just (PackageName "lens"),ModuleName "Control.Lens.Type"),(Just (PackageName "lens"),ModuleName "Control.Lens.Wrapped"),(Just (PackageName "lens"),ModuleName "Control.Lens.Zoom")]),(ModuleName "Optics",(Just (PackageName "optics"),ModuleName "Optics.Fold") :| [(Just (PackageName "optics"),ModuleName "Optics.Operators"),(Just (PackageName "optics"),ModuleName "Optics.IxAffineFold"),(Just (PackageName "optics"),ModuleName "Optics.IxFold"),(Just (PackageName "optics"),ModuleName "Optics.IxTraversal"),(Just (PackageName "optics"),ModuleName "Optics.Traversal"),(Just (PackageName "optics"),ModuleName "Optics.Fold"),(Just (PackageName "optics"),ModuleName "Optics.Operators"),(Just (PackageName "optics"),ModuleName "Optics.IxAffineFold"),(Just (PackageName "optics"),ModuleName "Optics.IxFold"),(Just (PackageName "optics"),ModuleName "Optics.IxTraversal"),(Just (PackageName "optics"),ModuleName "Optics.Traversal")]),(ModuleName "Servant",(Just (PackageName "servant"),ModuleName "Servant.API") :| [(Just (PackageName "servant"),ModuleName "Servant.API")]),(ModuleName "Test.Hspec",(Just (PackageName "hspec-expectations"),ModuleName "Test.Hspec.Expectations") :| [(Just (PackageName "hspec-expectations"),ModuleName "Test.Hspec.Expectations")])]}, cfgDependencies = fromList [PackageName "base",PackageName "ormolu"], cfgUnsafe = False, cfgDebug = True, cfgCheckIdempotence = False, cfgSourceType = ModuleSource, cfgColorMode = Auto, cfgRegion = RegionDeltas {regionPrefixLength = 0, regionSuffixLength = 0}}
*** COMMENT *** data/examples/declaration/class/associated-type-defaults.hs:7:3-15 Comment False ("-- Define bar" :| [])
*** COMMENT *** data/examples/declaration/class/associated-type-defaults.hs:10:3-15 Comment False ("-- Define baz" :| [])
*** COMMENT *** data/examples/declaration/class/associated-type-defaults.hs:12:21-37 Comment True ("-- Middle comment" :| [])
{-# LANGUAGE TypeFamilies #-}

class Foo a where type FooBar a = Int

-- | Something.
class Bar a where
  -- Define bar
  type
    BarBar a =
      BarBaz a

  -- Define baz
  type
    BarBaz
      a =
      BarBar -- Middle comment
        a

class Baz a where
  type
    BazBar
      a

  type
    BazBar a =
      Bar a
mrkkrp commented 12 months ago

Thank you!