tryme_core/lib.rs
1//! Core library for `try-me-maybe` — a Rust port of [tobi/try](https://github.com/tobi/try).
2//!
3//! `try` is a script emitter with an interactive picker attached: a child
4//! process cannot `cd` its parent shell, so the TUI renders to **stderr**,
5//! the chosen action is emitted as a shell script on **stdout**, and the
6//! wrapper function (emitted by `tryme init`) `eval`s stdout on exit 0.
7//!
8//! Everything test-observable lives in this crate; the `tryme` binary is a
9//! thin wrapper. Conformance target: tobi/try v1.9.3, pinned by the adopted
10//! suite at `spec/tests/` (see `spec/UPSTREAM`).
11//!
12//! ## Provenance
13//!
14//! Decisions are recorded in `docs/adr/`. Behavior authority order
15//! (ADR-0003): upstream `try.rb` code > shipped `spec/tests` > prose specs.
16
17pub mod argv;
18pub mod dispatch;
19pub mod emit;
20pub mod env;
21pub mod fuzzy;
22pub mod giturl;
23pub mod help;
24pub mod naming;
25pub mod scan;
26pub mod scripts;
27pub mod selector;
28pub mod testkeys;
29pub mod tui;
30pub mod wrappers;
31
32pub use dispatch::{run, Ctx};
33pub use emit::ScriptOut;
34pub use env::Env;