rustdoc: Convert markdown generation to a pass

This commit is contained in:
Brian Anderson 2012-01-17 16:12:50 -08:00
parent a6bdaee7f9
commit 637f19965f
5 changed files with 33 additions and 9 deletions

View File

@ -1,7 +1,11 @@
import rustc::syntax::ast;
import rustc::middle::ast_map;
export run;
export mk_pass;
fn mk_pass() -> pass {
run
}
fn run(
srv: astsrv::srv,

View File

@ -1,7 +1,19 @@
import std::io;
import std::io::writer_util;
export write_markdown;
export mk_pass;
fn mk_pass(
writer: fn~() -> io::writer
) -> pass {
ret fn~(
_srv: astsrv::srv,
doc: doc::cratedoc
) -> doc::cratedoc {
write_markdown(doc, writer());
doc
};
}
type ctxt = {
w: io::writer,

View File

@ -1,4 +1,8 @@
export run;
export mk_pass;
fn mk_pass() -> pass {
run
}
type ctxt = {
mutable have_docs: bool

View File

@ -74,11 +74,11 @@ fn run(source_file: str) {
let default_name = source_file;
let srv = astsrv::mk_srv_from_file(source_file);
let doc = extract::from_srv(srv, default_name);
let doc = run_passes(srv, doc, [
attr_pass::run,
run_passes(srv, doc, [
attr_pass::mk_pass(),
// FIXME: This pass should be optional
prune_undoc_pass::run,
tystr_pass::run
prune_undoc_pass::mk_pass(),
tystr_pass::mk_pass(),
gen::mk_pass {|| std::io:: stdout()}
]);
gen::write_markdown(doc, std::io::stdout());
}

View File

@ -2,7 +2,11 @@ import rustc::syntax::ast;
import rustc::syntax::print::pprust;
import rustc::middle::ast_map;
export run;
export mk_pass;
fn mk_pass() -> pass {
run
}
fn run(
srv: astsrv::srv,