# --line-width
var opt_line_width = new OptionInt("Maximum length of lines (use 0 to disable automatic line breaks)", 80, "--line-width")
+ # --no-inline
+ var opt_no_inline = new OptionBool("Disable automatic one-liners", "--no-inline")
+
# Break too long string literals.
var opt_break_str = new OptionBool("Break too long string literals", "--break-strings")
opts.add_option(toolcontext.opt_dir, toolcontext.opt_output)
opts.add_option(toolcontext.opt_diff, toolcontext.opt_meld, toolcontext.opt_check)
opts.add_option(toolcontext.opt_line_width, toolcontext.opt_break_str, toolcontext.opt_inline_do)
+opts.add_option(toolcontext.opt_no_inline)
opts.add_option(toolcontext.opt_skip_empty)
toolcontext.tooldescription = "Usage: nitpretty [OPTION]... <file.nit>\n" +
if toolcontext.opt_skip_empty.value then
v.skip_empty = true
end
+if toolcontext.opt_no_inline.value then
+ v.no_inline = true
+end
for mmodule in mmodules do
var nmodule = mbuilder.mmodule2node(mmodule)
# Is the node inlinable and can fit on the line.
fun can_inline(n: nullable ANode): Bool do
if n == null then return true
+ if no_inline and n.location.line_start != n.location.line_end then return false
if n.must_be_inline then return true
if n.must_be_block then return false
# check length
# Do we force the deletion of empty lines?
var skip_empty = false is public writable
+
+ # Disable automatic inlining.
+ var no_inline = false is writable
end
# Base framework redefs