Skip to content

Latest commit

 

History

History
38 lines (30 loc) · 866 Bytes

README.md

File metadata and controls

38 lines (30 loc) · 866 Bytes

This library is not really designed to be used by anyone other than me but I'm too cheap to pay (even more) for private github actions minutes

Rendition is a micro library intended to be replace basically the same code in projects like sn-bindgen and langoustine

import rendition._

val lb = LineBuilder()

lb.use {
    line("object test:")
    nest {
      line("def hello = ")
      nest {
        line("val x = 25")
        withReset { line("// top level!") }
        deep(4) {
          line("// super nested")
        }
      }
      line("def test = 5")
    }
}

val expected = 
"""
|object test:
|  def hello = 
|    val x = 25
|// top level!
|            // super nested
|  def test = 5
""".stripMargin.trim

assert(expected == lb.result.trim)