aboutsummaryrefslogtreecommitdiff
path: root/mingling
diff options
context:
space:
mode:
Diffstat (limited to 'mingling')
-rw-r--r--mingling/src/example_docs.rs10
-rw-r--r--mingling/src/lib.rs30
-rw-r--r--mingling/src/setups/repl_basic.rs2
3 files changed, 36 insertions, 6 deletions
diff --git a/mingling/src/example_docs.rs b/mingling/src/example_docs.rs
index bdefb5a..89d5af1 100644
--- a/mingling/src/example_docs.rs
+++ b/mingling/src/example_docs.rs
@@ -1649,7 +1649,7 @@ pub mod example_help {}
/// .on_pre_chain(|info| {
/// println!("[DEBUG] Pre chain: {}", info.input);
/// })
-/// .on_post_chain(|info| println!("[DEBUG] Post chain: {}", info.output.member_id))
+/// .on_post_chain(|info| println!("[DEBUG] Post chain: {}", info.output.member_id()))
/// .on_finish(|_| {
/// println!("[DEBUG] Loop end");
/// ProgramControlUnit::OverrideExitCode(0) // Override exit code
@@ -2796,25 +2796,25 @@ pub mod example_structural_renderer {}
/// #[test]
/// fn test_render_result_name() {
/// let r = render_result_name(ResultName::new("Peter".into()));
-/// assert_eq!(r.to_string().as_str(), "Hello, Peter!\n")
+/// assert_eq!(r.to_string().as_str(), "Hello, Peter!")
/// }
///
/// #[test]
/// fn test_render_error_no_name_provided() {
/// let r = render_error_no_name_provided(ErrorNoNameProvided::default());
-/// assert_eq!(r.to_string().as_str(), "No name provided\n")
+/// assert_eq!(r.to_string().as_str(), "No name provided")
/// }
///
/// #[test]
/// fn test_render_error_name_not_available() {
/// let r = render_error_name_not_available(ErrorNameNotAvailable::default());
-/// assert_eq!(r.to_string().as_str(), "Name not available\n")
+/// assert_eq!(r.to_string().as_str(), "Name not available")
/// }
///
/// #[test]
/// fn test_render_error_name_too_long() {
/// let r = render_error_name_too_long(ErrorNameTooLong::new(17));
-/// assert_eq!(r.to_string().as_str(), "Name too long: 17 > 10\n")
+/// assert_eq!(r.to_string().as_str(), "Name too long: 17 > 10")
/// }
/// // --------- IMPORTANT ---------
/// }
diff --git a/mingling/src/lib.rs b/mingling/src/lib.rs
index f5362d5..fd274aa 100644
--- a/mingling/src/lib.rs
+++ b/mingling/src/lib.rs
@@ -75,6 +75,9 @@ pub mod macros {
pub use mingling_macros::group_structural;
/// `#[help]` - Used to generate a struct implementing the `HelpRequest` trait via a method
pub use mingling_macros::help;
+ /// `#[mlint(...)]` - Marker attribute for the Mingling lint system.
+ /// Content is ignored by rustc and reserved for mlint tooling.
+ pub use mingling_macros::mlint;
/// `node!("remote.rm")` - Used to create a `Node` struct via a literal
pub use mingling_macros::node;
/// `pack!(StateGreet = String)` - Used to create a wrapper type for use with `Chain` and `Renderer`
@@ -98,6 +101,15 @@ pub mod macros {
/// `#[program_setup]` - Used to generate program setup
#[cfg(feature = "extra_macros")]
pub use mingling_macros::program_setup;
+ /// `r_append!` - Appends the contents of one `RenderResult` to another.
+ /// See the macro documentation for implicit vs. explicit buffer usage.
+ pub use mingling_macros::r_append;
+ /// `r_eprint!` - Prints text to a `RenderResult` error buffer (without newline).
+ /// See the macro documentation for implicit vs. explicit buffer usage.
+ pub use mingling_macros::r_eprint;
+ /// `r_eprintln!` - Prints text to a `RenderResult` error buffer (with newline).
+ /// See the macro documentation for implicit vs. explicit buffer usage.
+ pub use mingling_macros::r_eprintln;
/// `r_print!` - Prints text to a `RenderResult` buffer (without newline).
/// See the macro documentation for implicit vs. explicit buffer usage.
pub use mingling_macros::r_print;
@@ -114,8 +126,17 @@ pub mod macros {
pub use mingling_macros::register_renderer;
#[doc(hidden)]
pub use mingling_macros::register_type;
+ /// `render_route! { /* ... */ }` - Routes errors to the rendering pipeline.
+ /// Similar to `route!`, but used in `#[renderer]` and `#[help]` functions
+ /// where the return type is `RenderResult` instead of `ChainProcess`.
+ #[cfg(feature = "extra_macros")]
+ pub use mingling_macros::render_route;
/// `#[renderer]` - Used to generate a struct implementing the `Renderer` trait via a method
pub use mingling_macros::renderer;
+ /// `#[renderify]` - An extension attribute macro that transforms `expr?` into `render_route!(expr)`.
+ /// Can be used standalone or as a renderer/help extension: `#[renderer(renderify, ...)]`, `#[help(renderify, ...)]`.
+ #[cfg(feature = "extra_macros")]
+ pub use mingling_macros::renderify;
/// `route! { /* ... */ }` - Used to generate a route that either returns a successful result or early returns an error.
#[cfg(feature = "extra_macros")]
pub use mingling_macros::route;
@@ -229,6 +250,15 @@ pub mod prelude {
/// Like `pack!` but also marks the type for structured output
#[cfg(all(feature = "macros", feature = "structural_renderer"))]
pub use mingling_macros::pack_structural;
+ /// `r_append!` - Appends the contents of one `RenderResult` to another.
+ /// See the macro documentation for implicit vs. explicit buffer usage.
+ pub use mingling_macros::r_append;
+ /// `r_eprint!` - Prints text to a `RenderResult` error buffer (without newline).
+ /// See the macro documentation for implicit vs. explicit buffer usage.
+ pub use mingling_macros::r_eprint;
+ /// `r_eprintln!` - Prints text to a `RenderResult` error buffer (with newline).
+ /// See the macro documentation for implicit vs. explicit buffer usage.
+ pub use mingling_macros::r_eprintln;
/// `r_print!` - Prints text to a `RenderResult` buffer (without newline).
/// See the macro documentation for implicit vs. explicit buffer usage.
pub use mingling_macros::r_print;
diff --git a/mingling/src/setups/repl_basic.rs b/mingling/src/setups/repl_basic.rs
index cf04372..150048b 100644
--- a/mingling/src/setups/repl_basic.rs
+++ b/mingling/src/setups/repl_basic.rs
@@ -75,7 +75,7 @@ where
fn setup(self, program: &mut Program<C>) {
program.with_hook(ProgramHook::empty().on_repl_receive_result(|r| {
if !r.result.is_empty() {
- println!("{}", r.result.trim())
+ println!("{}", r.result)
}
}));
}