wowlab_docgen_cli/context/collectors/
mod.rs1pub mod aliases;
2pub mod cargo;
3pub mod ci;
4pub mod env_vars;
5pub mod package;
6pub mod skills;
7pub mod tidy_rules;
8
9use minijinja::Value;
10use serde::Serialize;
11
12use crate::RenderCtx;
13
14pub type ContextEntry = (&'static str, Value);
16
17#[must_use]
19pub fn collect_all(ctx: &RenderCtx<'_>) -> Vec<ContextEntry> {
20 let mut entries = Vec::new();
21
22 entries.extend(aliases::collect(ctx));
23 entries.extend(cargo::collect(ctx));
24 entries.extend(ci::collect(ctx));
25 entries.extend(env_vars::collect(ctx));
26 entries.extend(package::collect(ctx));
27 entries.extend(skills::collect(ctx));
28 entries.extend(tidy_rules::collect(ctx));
29
30 entries
31}
32
33pub fn to_value<T>(v: &T) -> Value
35where
36 T: Serialize,
37{
38 Value::from_serialize(v)
39}