title: Scala - how to print case classes like (pretty printed) tree
body: <p>I'm making a parser with Scala Combinators. It is awesome. What I end up with is a long list of entagled case classes, like: <code>ClassDecl(Complex,List(VarDecl(Real,float), VarDecl(Imag,float)))</code>, just 100x longer. I was wondering if there is a good way to print case classes like these in a tree-like fashion so that it's easier to read..? (or some other form of <em>Pretty Print</em>)</p>
  
  <pre><code>ClassDecl
    name = Complex
    fields =
    - VarDecl
        name = Real
        type = float
    - VarDecl
        name = Imag
        type = float
  </code></pre>
  
  <p>^ I want to end up with something like this</p>
  
  <p><strong>edit: Bonus question</strong> </p>
  
  <p>Is there also a way to show the name of the parameter..? Like: <code>ClassDecl(name=Complex, fields=List( ... )</code> ?</p>