]> git.lizzy.rs Git - rust.git/commitdiff
rustdoc: Write fn arg descriptions to markdown
authorBrian Anderson <banderson@mozilla.com>
Thu, 19 Jan 2012 06:40:06 +0000 (22:40 -0800)
committerBrian Anderson <banderson@mozilla.com>
Thu, 19 Jan 2012 06:40:06 +0000 (22:40 -0800)
src/rustdoc/gen.rs

index 26325e6ffbb42e1a809d9bd0e98d78c30c1d7214..74a849b7a36b35fb8f91e5fdfadc00870ef16cf9 100644 (file)
@@ -152,11 +152,18 @@ fn write_args(
 
 fn write_arg(ctxt: ctxt, arg: doc::argdoc) {
     assert option::is_some(arg.ty);
-    ctxt.w.write_line(#fmt(
+    ctxt.w.write_str(#fmt(
         "* `%s`: `%s`",
         arg.name,
         option::get(arg.ty)
     ));
+    alt arg.desc {
+      some(desc) {
+        ctxt.w.write_str(#fmt(" - %s", desc));
+      }
+      none. { }
+    }
+    ctxt.w.write_line("");
 }
 
 #[test]
@@ -180,6 +187,13 @@ fn should_not_write_arguments_if_none() {
     assert !str::contains(markdown, "Arguments");
 }
 
+#[test]
+fn should_write_argument_description() {
+    let source = "#[doc(args(a = \"milk\"))] fn f(a: bool) { }";
+    let markdown = test::render(source);
+    assert str::contains(markdown, "`a`: `bool` - milk");
+}
+
 fn write_return(
     ctxt: ctxt,
     return: option<doc::retdoc>