The Kiama team is pleased to bring you the next release of the library. This release has significant enhancements in the pretty-printing library, but is otherwise a minor release. The release is cross-published for both Scala 2.10 and 2.11.
column
and nesting
allow pretty-printing documents to depend on the current printing column and nesting level, respectively. Built on these basic combinators are: align
which sets the indentation for a nested document to the current column, hang
and indent
which allow fine-tuning of indentation, width
which allows the pretty-printing of a document to depend on the width of another document, and padto
/padtobreak
which can be used to pad a document to a specific width. <%>
and <%%>
allow alignment to be used as an operator.dup
operation that is used to duplicate nodes during rewriting is more helpful when it fails by mentioning the common problem that rewritten classes cannot be nested inside another class.ParserUtilities
: the regexnows
method has been removed to avoid duplication of code from the parser combinators library. We are exploring ways to better support whitespace processing in that library instead.ParenPrettyPrinter
: fixed doc of noparens
method
REPL
: fixed bug where an empty line of input caused REPL to exit
Kiama-specific command-line options are now all under --K
so that user programs can use other letters for their purposes. E.g., the option to specify that console input should come from a string is --KConsole
instead of -c
and --console
. Run a Kiama main program with --help
to see the options.
Examples