| 269 | } |
| 270 | |
| 271 | fn func(&mut self, func: &Function) { |
| 272 | self.push_str(&format!( |
| 273 | "#### <a id=\"{0}\"></a>`", |
| 274 | func.name.to_snake_case() |
| 275 | )); |
| 276 | self.r#gen |
| 277 | .hrefs |
| 278 | .insert(func.name.clone(), format!("#{}", func.name.to_snake_case())); |
| 279 | self.push_str(&func.name); |
| 280 | self.push_str(": func`"); |
| 281 | self.push_str("\n\n"); |
| 282 | self.docs(&func.docs); |
| 283 | |
| 284 | if func.params.len() > 0 { |
| 285 | self.push_str("\n"); |
| 286 | self.push_str("##### Params\n\n"); |
| 287 | for Param { name, ty, .. } in func.params.iter() { |
| 288 | self.push_str(&format!( |
| 289 | "- <a id=\"{f}.{p}\"></a>`{}`: ", |
| 290 | name, |
| 291 | f = func.name.to_snake_case(), |
| 292 | p = name.to_snake_case(), |
| 293 | )); |
| 294 | self.print_ty(ty); |
| 295 | self.push_str("\n"); |
| 296 | } |
| 297 | } |
| 298 | |
| 299 | if let Some(ty) = &func.result { |
| 300 | self.push_str("\n##### Return values\n\n"); |
| 301 | self.push_str(&format!( |
| 302 | "- <a id=\"{f}.0\"></a> ", |
| 303 | f = func.name.to_snake_case(), |
| 304 | )); |
| 305 | self.print_ty(ty); |
| 306 | self.push_str("\n"); |
| 307 | } |
| 308 | |
| 309 | self.push_str("\n"); |
| 310 | } |
| 311 | |
| 312 | fn push_str(&mut self, s: &str) { |
| 313 | self.r#gen.src.push_str(s); |