X-Git-Url: http://nitlanguage.org diff --git a/src/toolcontext.nit b/src/toolcontext.nit index 4468d91..850781e 100644 --- a/src/toolcontext.nit +++ b/src/toolcontext.nit @@ -84,7 +84,7 @@ class Message # A colored version of the message including the original source line fun to_color_string: String do - var esc = 27.ascii + var esc = 27.code_point #var red = "{esc}[0;31m" #var bred = "{esc}[1;31m" #var green = "{esc}[0;32m" @@ -169,6 +169,16 @@ class ToolContext return tags.has("all") or tags.has(tag) end + # Output all current stacked messages, total and exit the program + # + # If there is no error, exit with 0, else exit with 1. + fun quit + do + check_errors + errors_info + if error_count > 0 then exit(1) else exit(0) + end + # Output all current stacked messages # # Return true if no errors occurred. @@ -333,7 +343,7 @@ class ToolContext var option_context = new OptionContext # Option --warn - var opt_warn = new OptionCount("Show more warnings", "-W", "--warn") + var opt_warn = new OptionCount("Show additional warnings (advices)", "-W", "--warn") # Option --warning var opt_warning = new OptionArray("Show/hide a specific warning", "-w", "--warning") @@ -360,10 +370,10 @@ class ToolContext var opt_set_dummy_tool = new OptionBool("Set toolname and version to DUMMY. Useful for testing", "--set-dummy-tool") # Option --verbose - var opt_verbose = new OptionCount("Verbose", "-v", "--verbose") + var opt_verbose = new OptionCount("Additional messages from the tool", "-v", "--verbose") # Option --stop-on-first-error - var opt_stop_on_first_error = new OptionBool("Stop on first error", "--stop-on-first-error") + var opt_stop_on_first_error = new OptionBool("Just display the first encountered error then stop", "--stop-on-first-error") # Option --keep-going var opt_keep_going = new OptionBool("Continue after errors, whatever the consequences", "--keep-going") @@ -440,26 +450,23 @@ class ToolContext if opt_stub_man.value then print """ -% {{{toolname.to_upper}}}(1) - # NAME {{{tooldescription.split("\n")[1]}}} # SYNOPSYS -{{{toolname}}} [*options*]... - # OPTIONS """ for o in option_context.options do var first = true + printn "### " for n in o.names do if first then first = false else printn ", " printn "`{n}`" end print "" - print ": {o.helptext}" + print "{o.helptext}." print "" end print """ @@ -469,7 +476,7 @@ The Nit language documentation and the source code of its tools and libraries ma exit 0 end - var errors = option_context.get_errors + var errors = option_context.errors if not errors.is_empty then for e in errors do print "Error: {e}" print tooldescription @@ -515,10 +522,10 @@ The Nit language documentation and the source code of its tools and libraries ma if opt_set_dummy_tool.value then return "DUMMY_TOOL" end - return sys.program_name.basename("") + return sys.program_name.basename end - # The identified root directory of the Nit project + # The identified root directory of the Nit package var nit_dir: String is noinit private fun compute_nit_dir: String @@ -580,7 +587,7 @@ end # # $ nitls --[TAB][TAB] # --bash-toolname --keep --path --tree -# --depends --log --project --verbose +# --depends --log --package --verbose # --disable-phase --log-dir --quiet --version # --gen-bash-completion --no-color --recursive --warn # --help --only-metamodel --source