X-Git-Url: http://nitlanguage.org diff --git a/src/nitlight.nit b/src/nitlight.nit index a5e492e..5f22329 100644 --- a/src/nitlight.nit +++ b/src/nitlight.nit @@ -20,23 +20,20 @@ import highlight var toolcontext = new ToolContext var opt_fragment = new OptionBool("Omit document header and footer", "-f", "--fragment") +var opt_first_line = new OptionInt("Start the source file at this line (default: 1)", 0, "--first-line") +var opt_last_line = new OptionInt("End the source file at this line (default: to the end)", 0, "--last-line") var opt_dir = new OptionString("Output html files in a specific directory (required if more than one module)", "-d", "--dir") var opt_full = new OptionBool("Process also imported modules", "--full") var opt_ast = new OptionBool("Generate specific HTML elements for each Node of the AST", "--ast") -toolcontext.option_context.add_option(opt_fragment, opt_dir, opt_full) +toolcontext.option_context.add_option(opt_fragment, opt_first_line, opt_last_line, opt_dir, opt_full) +toolcontext.tooldescription = "Usage: nitlight [OPTION]... ...\nGenerates HTML of highlited code from Nit source files." var model = new Model var modelbuilder = new ModelBuilder(model, toolcontext) -toolcontext.process_options +toolcontext.process_options(args) var args = toolcontext.option_context.rest -if args.is_empty then - print "usage: nitlight [options] files..." - toolcontext.option_context.usage - return -end - var mmodules = modelbuilder.parse(args) modelbuilder.run_phases @@ -54,6 +51,9 @@ for mm in mmodules do if dir != null then toolcontext.info("write {dir}/{mm.name}.html", 1) var v = new HighlightVisitor + + if opt_first_line.value != 0 then v.first_line = opt_first_line.value + if opt_last_line.value != 0 then v.last_line = opt_last_line.value if opt_ast.value then v.with_ast = true var page = null if not opt_fragment.value then @@ -81,9 +81,9 @@ for mm in mmodules do end if dir != null then - page.save("{dir}/{mm.name}.html") + page.write_to_file("{dir}/{mm.name}.html") else - print page.html + page.write_to(stdout) end end @@ -104,7 +104,7 @@ if dir != null then n2.text(mm.name) end page.add_raw_html "" - page.save("{dir}/index.html") + page.write_to_file("{dir}/index.html") var v = new HighlightVisitor toolcontext.info("write {dir}/style.css", 1)