X-Git-Url: http://nitlanguage.org diff --git a/src/nitpretty.nit b/src/nitpretty.nit index 9667f81..17cc649 100644 --- a/src/nitpretty.nit +++ b/src/nitpretty.nit @@ -32,6 +32,12 @@ redef class ToolContext var opt_meld = new OptionBool("Show diff between source and output using meld", "--meld") + # --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") @@ -69,7 +75,8 @@ var toolcontext = new ToolContext var opts = toolcontext.option_context 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_break_str, toolcontext.opt_inline_do) +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]... \n" + @@ -80,7 +87,7 @@ var arguments = toolcontext.option_context.rest # build model var model = new Model var mbuilder = new ModelBuilder(model, toolcontext) -var mmodules = mbuilder.parse(arguments) +var mmodules = mbuilder.parse_full(arguments) mbuilder.run_phases if mmodules.is_empty then @@ -97,6 +104,7 @@ var dir = toolcontext.opt_dir.value or else ".nitpretty" if not dir.file_exists then dir.mkdir var v = new PrettyPrinterVisitor +v.max_size = toolcontext.opt_line_width.value if toolcontext.opt_break_str.value then v.break_strings = true end @@ -106,6 +114,9 @@ end 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)