==> lines.preserve = 3
==> formatter.indent.function = false
==> formatter.indent.blocks = false
==> formatter.indent.switch = false
==> formatter.indent.case = false
==> formatter.indent.break = false
==> formatter.indent.empty.lines = false
==> formatter.braces.function = next.line
==> formatter.braces.blocks = next.line
==> formatter.braces.switch = next.line
==> formatter.braces.case = next.line
==> formatter.braces.array = next.line
==> formatter.braces.empty.array = false
==> formatter.newlines.empty.method = false
==> formatter.newlines.empty.block = false
==> formatter.newlines.eof = false
==> formatter.newlines.else = true
==> formatter.newlines.catch = true
==> formatter.newlines.finally = true
==> formatter.newlines.while = true
==> formatter.samelines.then = true
==> formatter.samelines.simpleif = true
==> formatter.samelines.elseif = false
==> formatter.samelines.return = true
==> formatter.samelines.throw = true
==== options-non-defaults
a = 100;
==
a = 100;
==> lines.preserve = 1
==> formatter.indent.function = true
==> formatter.indent.blocks = true
==> formatter.indent.switch = true
==> formatter.indent.case = true
==> formatter.indent.break = true
==> formatter.indent.empty.lines = true
==> formatter.braces.function = same.line
==> formatter.braces.blocks = same.line
==> formatter.braces.switch = same.line
==> formatter.braces.case = same.line
==> formatter.braces.array = same.line
==> formatter.braces.empty.array = true
==> formatter.newlines.empty.method = true
==> formatter.newlines.empty.block = true
==> formatter.newlines.eof = true
==> formatter.newlines.else = false
==> formatter.newlines.catch = false
==> formatter.newlines.finally = false
==> formatter.newlines.while = false
==> formatter.samelines.then = false
==> formatter.samelines.simpleif = false
==> formatter.samelines.elseif = true
==> formatter.samelines.return = false
==> formatter.samelines.throw = false
==== options-defaults
b = 100;
==
b = 100;
====