1#![doc = include_str!("../README.md")]
2
3pub mod prelude {
5 pub use std::env;
6 pub use std::error::Error;
7 pub use std::fs;
8 pub use std::io;
9 pub use std::path::{Path, PathBuf};
10 pub use std::process::exit;
11 pub use std::process::Child;
12 pub use std::process::Command;
13 pub use std::process::Stdio;
14 pub use std::sync::mpsc;
15 pub use std::sync::{Arc, Mutex};
16 pub use std::time::Instant;
17 pub use log::{debug, error, info, log_enabled, Level};
19}
20
21pub mod e_findmain;
22pub use e_findmain::*;
23pub mod e_bacon;
24pub mod e_types;
25pub use e_bacon::*;
26pub mod e_cli;
27pub use e_cli::Cli;
28pub mod e_manifest;
29pub use e_manifest::{collect_workspace_members, locate_manifest};
30pub mod e_parser;
31pub use e_parser::parse_available;
32pub mod e_autosense;
33pub mod e_cargocommand_ext;
34pub mod e_collect;
35pub mod e_command_builder;
36pub mod e_diagnostics_dispatchers;
37pub mod e_discovery;
38pub mod e_eventdispatcher;
39pub mod e_features;
40pub mod e_fmt;
41pub mod e_installer;
42pub mod e_prebuild;
43pub mod e_processmanager;
44pub mod e_prompts;
45pub mod e_reports;
46pub mod e_runall;
47pub mod e_runner;
48pub mod e_target;
49pub mod e_tui;
50pub mod e_workspace;
51#[cfg(feature = "uses_tts")]
52use once_cell::sync::OnceCell;
53
54#[cfg(feature = "uses_tts")]
55pub static GLOBAL_TTS: OnceCell<std::sync::Mutex<tts::Tts>> = OnceCell::new();
56pub static GLOBAL_MANAGER: OnceCell<std::sync::Arc<e_processmanager::ProcessManager>> =
57 OnceCell::new();
58pub static GLOBAL_CLI: OnceCell<Cli> = OnceCell::new();
59pub static GLOBAL_EWINDOW_PIDS: OnceCell<dashmap::DashMap<u32, u32>> = OnceCell::new();
61pub mod ext;
64#[cfg(feature = "uses_plugins")]
65pub mod plugins;
66
67#[allow(unused_macros)]
68macro_rules! doc_with_joke {
69 (
70 $(#[$attr:meta])*
71 $vis:vis fn $name:ident($($arg:tt)*) -> $ret:ty $body:block
72 ) => {
73 $(#[$attr])* #[doc = "Have you read the Guide for You To Read?"] $vis fn $name($($arg)*) -> $ret $body };
77}
78
79#[macro_use]
126pub mod a_funny_docs;
127
128#[doc = include_str!("../documents/guide.md")]
129pub mod a_guide {
130 #[doc = "A wacky constant that reminds you of the fleeting nature of existence—because constants, like our dreams, never change."]
132 #[doc = "Imagine staring into the abyss of an unchanging value and laughing at the cosmic joke: even when everything is fixed, there’s always room for a little absurdity. In a world of mutable chaos, this constant stands as a monument to the absurdity of permanence."]
133 #[doc = "SEE ALSO THE **[GUIDE FOR YOU TO READ](index.html) FOR MORE DETAILS** ON THE MYSTERIES OF CONSTANTS."]
134 pub const A_CONST: () = ();
135 #[doc = "An eccentric function that performs its task with a whimsical twist."]
137 #[doc = "Picture a function that cracks jokes as it runs—each call a mini stand-up routine where recursion becomes a humorous loop and error handling turns into a comedy of exceptions. This function reminds you that even in logic there is laughter."]
138 #[doc = "SEE ALSO THE **[GUIDE FOR YOU TO READ](index.html) FOR MORE DETAILS** ON THE ART OF FUNCTIONAL HUMOR."]
139 pub fn a_function() {}
140
141 #[doc = "A delightfully absurd struct that encapsulates the essence of lighthearted programming."]
143 #[doc = "Think of it as the punchline to a well-crafted joke: simple on the surface yet bursting with hidden layers of wit. This struct is the blueprint for designing data structures that know how to have a good time even when they’re being strictly typed."]
144 #[doc = "SEE ALSO THE **[GUIDE FOR YOU TO READ](index.html) FOR MORE DETAILS** ON STRUCTURING YOUR HUMOR."]
145 pub struct AStruct;
146
147 #[doc = "An enum whose variants are as unpredictable as the punchline of an offbeat comedy routine."]
149 #[doc = "Each variant is a different flavor of chaos—a reminder that sometimes, even in the binary world of enums, you need a twist of fate and a pinch of absurdity. Embrace the randomness with a hearty chuckle."]
150 #[doc = "SEE ALSO THE **[GUIDE FOR YOU TO READ](index.html) FOR MORE DETAILS** ON ENUMERATING THE LAUGHTER."]
151 pub enum AEnum {
153 #[doc = "A variant that boldly goes where no variant has gone before—capturing the essence of unexpected hilarity."]
154 AVariant,
155 }
156
157 #[doc = "A quirky trait that defines behaviors with a tongue-in-cheek twist."]
159 #[doc = "Imagine a trait written by a stand-up comedian: each method is a punchline, each implementation an opportunity for subtle humor. Types implementing this trait are expected not just to act, but to entertain—blending functionality with a dash of wit."]
160 #[doc = "SEE ALSO THE **[GUIDE FOR YOU TO READ](index.html) FOR MORE DETAILS** ON TRAIT-ORIENTED COMEDY."]
161 pub trait ATrait {}
162
163 #[doc = "A type alias that serves as a humorous shortcut to a more verbose reality."]
165 #[doc = "Sometimes types need nicknames too. This alias is like that clever one-liner you whisper at a party—short, memorable, and unexpectedly delightful. It’s the wink in the midst of an otherwise serious type system."]
166 #[doc = "SEE ALSO THE **[GUIDE FOR YOU TO READ](index.html) FOR MORE DETAILS** ON ALIASING THE ORDINARY INTO THE EXTRAORDINARY."]
167 pub type AType = ();
168}
169
170pub use a_guide as theSeachIsOver;