diff options
| author | Jorge Aparicio <jorge@japaric.io> | 2017-07-20 22:53:44 -0500 |
|---|---|---|
| committer | Jorge Aparicio <jorge@japaric.io> | 2017-07-20 22:53:44 -0500 |
| commit | c7b9507a57f2ba28c18b15dd2719a1c56f74a302 (patch) | |
| tree | 1fed754475cdbe4baf0d2f1445ce2777b437de31 /gen-examples.sh | |
| parent | 23425f2f0645cdfbf78135848fe87f733072ade3 (diff) | |
`Resource` trait, docs, examples and rtfm-syntax related changes
Diffstat (limited to 'gen-examples.sh')
| -rw-r--r-- | gen-examples.sh | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/gen-examples.sh b/gen-examples.sh new file mode 100644 index 0000000..d053c95 --- /dev/null +++ b/gen-examples.sh @@ -0,0 +1,55 @@ +# Converts the examples in the `examples` directory into documentation in the +# `examples` module (`src/examples/*.rs`) + +set -ex + +main() { + local examples=( + zero-tasks + one-task + two-tasks + preemption + nested + generics + full-syntax + ) + + rm -rf src/examples + + mkdir src/examples + + cat >src/examples/mod.rs <<'EOF' +//! Examples +// Auto-generated. Do not modify. +EOF + + local i=0 out= + for ex in ${examples[@]}; do + name=_${i}_${ex//-/_} + out=src/examples/${name}.rs + + echo "pub mod $name;" >> src/examples/mod.rs + + grep '//!' examples/$ex.rs > $out + echo '//!' >> $out + echo '//! ```' >> $out + grep -v '//!' examples/$ex.rs | ( + IFS='' + + while read line; do + echo "//! $line" >> $out; + done + ) + echo '//! ```' >> $out + echo '// Auto-generated. Do not modify.' >> $out + + + chmod -x $out + + i=$(( i + 1 )) + done + + chmod -x src/examples/mod.rs +} + +main |
