Expand description
Declarative input collection for CLI applications.
Sources implement InputCollector and compose into an InputChain
that tries each in order until one resolves. InputSources is the
explicit stdin/clipboard/prompt-responder for one invocation — production
constructs it from the real process, tests put mocks in the same type;
there is no process-global default-reader override.
Feature flags: editor (default) enables [EditorCollector];
simple-prompts (default) enables basic terminal prompts; inquire
enables rich TUI prompts.
The questionnaire module renders an application-defined questionnaire
as an editable prose answer sheet, collects answers from prompts, a file,
or stdin, and decodes every submission through one validation pipeline
keyed by stable identity. See its module doc for the format and
compatibility contract.
Re-exports§
pub use sources::read_if_piped;pub use sources::read_if_piped_from;pub use sources::ArgSource;pub use sources::ClipboardSource;pub use sources::DefaultSource;pub use sources::EnvSource;pub use sources::FlagSource;pub use sources::StdinSource;pub use sources::EditorRunner;pub use sources::EditorSource;pub use sources::MockEditorResult;pub use sources::MockEditorRunner;pub use sources::ConfirmPromptSource;pub use sources::MockTerminal;pub use sources::TerminalIO;pub use sources::TextPromptSource;pub use env::MockClipboard;pub use env::MockEnv;pub use env::MockStdin;pub use env::RealClipboard;pub use env::RealStdin;
Modules§
- env
- questionnaire
- Questionnaire answer sheets: render a prose questionnaire, collect
answers interactively or from a document, and decode them by stable
identity through one shared validation pipeline. Structs that derive
Questionnairelower to this same runtime model and fill themselves from validatedAnswerswithout a serde boundary. - sources