Skip to main content

Crate standout_input

Crate standout_input 

Source
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 Questionnaire lower to this same runtime model and fill themselves from validated Answers without a serde boundary.
sources

Structs§

InputChain
InputSources
Inputs
PromptContext
ResolvedInput
ScriptedResponder

Enums§

InputError
InputSourceKind
MissingInput
PromptKind
PromptResponse

Traits§

InputCollector
PromptResponder