Skip to main content

rl_lang/docs/entries/
mod.rs

1//! Aggregates all documentation entries and exposes them as flat `Vec`s
2//! for the renderer functions in [`crate::docs`].
3use crate::docs::entry::{ConceptEntry, StdEntry};
4
5mod concepts;
6mod stdlib;
7mod tutorial;
8
9/// Returns all stdlib module entries in display order.
10pub fn stdlib_entries() -> Vec<&'static StdEntry> {
11    vec![
12        &stdlib::math::MATH,
13        &stdlib::math_consts::MATH_CONSTS,
14        &stdlib::io::IO,
15        &stdlib::array::ARRAY,
16        &stdlib::str::STR,
17        &stdlib::types::TYPES,
18        &stdlib::path::PATH,
19        &stdlib::fs::FS,
20        &stdlib::random::RANDOM,
21        &stdlib::time::TIME,
22        &stdlib::process::PROCESS,
23        &stdlib::result::RES,
24        &stdlib::bitwise::BITWISE,
25        &stdlib::term::TERM,
26        &stdlib::rl::RL,
27        &stdlib::debug::DEBUG,
28        &stdlib::net::NET,
29        &stdlib::http::HTTP,
30    ]
31}
32
33/// Returns all language concept entries in display order.
34pub fn concept_entries() -> Vec<&'static ConceptEntry> {
35    vec![
36        &concepts::arrays::ARRAYS,
37        &concepts::constants::CONSTANTS,
38        &concepts::flow_control::CONTROL_FLOW,
39        &concepts::flow_control::FOR_LOOPS,
40        &concepts::functions::FUNCTIONS,
41        &concepts::generals::COMMENTS,
42        &concepts::imports::IMPORTS,
43        &concepts::lambdas::LAMBDAS,
44        &concepts::nulls::NULL,
45        &concepts::operators::OPERATORS,
46        &concepts::types::TYPES,
47        &concepts::variables::VARIABLES,
48        &concepts::entries::ENTRY_POINTS,
49        &concepts::tooling::TOOLING,
50        &concepts::bytes::BYTES,
51        &concepts::tuples::TUPLES,
52        &concepts::errors::ERROR_TYPE,
53        &concepts::casts::CASTING,
54        &concepts::r#match::MATCH,
55        &concepts::propagate::PROPAGATE,
56        &concepts::logical_operators::LOGICAL_OPERATORS,
57        &concepts::records::RECORDS,
58        &concepts::tags::TAGS,
59        &concepts::maps::MAPS,
60        &concepts::sets::SETS,
61    ]
62}
63
64/// Returns all tutorial step entries in display order.
65pub fn tutorial_entries() -> Vec<&'static ConceptEntry> {
66    vec![
67        &tutorial::t1::p1::STEP_FIRST_PROGRAM,
68        &tutorial::t1::p2::STEP_VARIABLES,
69        &tutorial::t1::p3::STEP_TYPES,
70        &tutorial::t1::p4::STEP_IO,
71        &tutorial::t1::p5::STEP_OPERATORS_AND_DECISIONS,
72        &tutorial::t1::p6::STEP_LOOPS,
73        &tutorial::t1::p7::STEP_FOR_LOOPS,
74        &tutorial::t1::p8::STEP_FUNCTIONS,
75        &tutorial::t1::p9::STEP_ARRAYS,
76        &tutorial::t1::p10::STEP_STDLIB,
77        &tutorial::t1::p11::STEP_LAMBDAS,
78        &tutorial::t1::p12::STEP_NULL,
79        &tutorial::t1::p13::STEP_COMPLETE_GAME,
80        &tutorial::t2::p_a1::ADV_INTRO,
81        &tutorial::t2::p_a2::ADV_MODULES,
82        &tutorial::t2::p_a3::ADV_STRING_PARSING,
83        &tutorial::t2::p_a4::ADV_CSV_PARSER,
84        &tutorial::t2::p_a5::ADV_CSV_IO,
85        &tutorial::t2::p_a6::ADV_CSV_QUERY,
86        &tutorial::t2::p_a7::ADV_CSV_MUTATION,
87        &tutorial::t2::p_b8::ADV_PROGRAM_LOOP,
88        &tutorial::t2::p_b9::ADV_TIME,
89        &tutorial::t2::p_b10::ADV_COMMANDS_ADD_LIST,
90        &tutorial::t2::p_b11::ADV_COMMANDS_DONE_REMOVE,
91        &tutorial::t2::p_b12::ADV_FILTERED_VIEWS,
92        &tutorial::t2::p_b13::ADV_HELP_POLISH,
93        &tutorial::t2::p_b14::ADV_COMPLETE,
94    ]
95}