pub feature: String,
pub since: String,
pub deprecated_since: String,
- pub reason: String
+ pub reason: String,
+ pub issue: Option<u32>
}
impl Clean<Stability> for attr::Stability {
|istr| istr.to_string()),
reason: self.reason.as_ref().map_or("".to_string(),
|interned| interned.to_string()),
+ issue: self.issue,
}
}
}
|istr| istr.to_string()),
reason: self.reason.as_ref().map_or("".to_string(),
|interned| interned.to_string()),
+ issue: self.issue,
}
}
}
pub render_redirect_pages: bool,
/// All the passes that were run on this crate.
pub passes: HashSet<String>,
+ /// The base-URL of the issue tracker for when an item has been tagged with
+ /// an issue number.
+ pub issue_tracker_base_url: Option<String>,
}
/// Indicates where an external crate can be found.
pub fn run(mut krate: clean::Crate,
external_html: &ExternalHtml,
dst: PathBuf,
- passes: HashSet<String>) -> io::Result<()> {
+ passes: HashSet<String>,
+ issue_tracker_base_url: Option<String>) -> io::Result<()> {
let src_root = match krate.src.parent() {
Some(p) => p.to_path_buf(),
None => PathBuf::new(),
},
include_sources: true,
render_redirect_pages: false,
+ issue_tracker_base_url: issue_tracker_base_url,
};
try!(mkdir(&cx.dst));
}
});
}
+ clean::NameValue(ref x, ref s)
+ if "issue_tracker_base_url" == *x => {
+ cx.issue_tracker_base_url = Some(s.to_string());
+ }
clean::Word(ref x)
if "html_no_source" == *x => {
cx.include_sources = false;
"FILES"),
optopt("", "markdown-playground-url",
"URL to send code snippets to", "URL"),
+ optopt("", "issue-tracker-base-url",
+ "base URL for issue tracker", "URL"),
optflag("", "markdown-no-toc", "don't include table of contents")
)
}
Some("html") | None => {
match html::render::run(krate, &external_html,
output.unwrap_or(PathBuf::from("doc")),
- passes.into_iter().collect()) {
+ passes.into_iter().collect(),
+ matches.opt_str("issue-tracker-base-url")) {
Ok(()) => {}
Err(e) => panic!("failed to generate documentation: {}", e),
}