diff options
| author | Laurenz <laurmaedje@gmail.com> | 2023-03-20 14:50:35 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2023-03-20 14:52:33 +0100 |
| commit | 188e64fa301475033938310d18319c1fd2380bf2 (patch) | |
| tree | 404a0282aad63ae51fe07779613f6667664457e9 /docs/src/lib.rs | |
| parent | 5a32f33fb39e1cf149cd6d4ae9584fa4898b768a (diff) | |
Documentation for counters
Diffstat (limited to 'docs/src/lib.rs')
| -rw-r--r-- | docs/src/lib.rs | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/docs/src/lib.rs b/docs/src/lib.rs index 97535b1a..49169575 100644 --- a/docs/src/lib.rs +++ b/docs/src/lib.rs @@ -303,6 +303,7 @@ pub struct FuncModel { pub details: Html, pub params: Vec<ParamModel>, pub returns: Vec<&'static str>, + pub methods: Vec<MethodModel>, } /// Details about a group of functions. @@ -332,14 +333,17 @@ fn function_page( /// Produce a function's model. fn func_model(resolver: &dyn Resolver, func: &Func, info: &FuncInfo) -> FuncModel { + let mut s = unscanny::Scanner::new(info.docs); + let docs = s.eat_until("\n## Methods").trim(); FuncModel { name: info.name.into(), display: info.display, - oneliner: oneliner(info.docs), + oneliner: oneliner(docs), showable: func.element().is_some(), - details: Html::markdown(resolver, info.docs), + details: Html::markdown(resolver, docs), params: info.params.iter().map(|param| param_model(resolver, param)).collect(), returns: info.returns.clone(), + methods: method_models(resolver, info.docs), } } @@ -501,7 +505,18 @@ fn type_model(resolver: &dyn Resolver, part: &'static str) -> TypeModel { let mut s = unscanny::Scanner::new(part); let display = s.eat_until('\n').trim(); let docs = s.eat_until("\n## Methods").trim(); + TypeModel { + name: display.to_lowercase(), + oneliner: oneliner(docs), + details: Html::markdown(resolver, docs), + methods: method_models(resolver, part), + } +} +/// Produce multiple methods' models. +fn method_models(resolver: &dyn Resolver, docs: &'static str) -> Vec<MethodModel> { + let mut s = unscanny::Scanner::new(docs); + s.eat_until("\n## Methods"); s.eat_whitespace(); let mut methods = vec![]; @@ -512,12 +527,7 @@ fn type_model(resolver: &dyn Resolver, part: &'static str) -> TypeModel { } } - TypeModel { - name: display.to_lowercase(), - oneliner: oneliner(docs), - details: Html::markdown(resolver, docs), - methods, - } + methods } /// Produce a method's model. @@ -741,6 +751,7 @@ const TYPE_ORDER: &[&str] = &[ "dictionary", "function", "arguments", + "location", "dir", "alignment", "2d alignment", |
