aboutsummaryrefslogtreecommitdiff
path: root/examples/example-general-renderer
diff options
context:
space:
mode:
Diffstat (limited to 'examples/example-general-renderer')
-rw-r--r--examples/example-general-renderer/Cargo.lock148
-rw-r--r--examples/example-general-renderer/Cargo.toml16
-rw-r--r--examples/example-general-renderer/page.toml10
-rw-r--r--examples/example-general-renderer/src/main.rs71
4 files changed, 0 insertions, 245 deletions
diff --git a/examples/example-general-renderer/Cargo.lock b/examples/example-general-renderer/Cargo.lock
deleted file mode 100644
index 0919b7d..0000000
--- a/examples/example-general-renderer/Cargo.lock
+++ /dev/null
@@ -1,148 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 4
-
-[[package]]
-name = "example-general-renderer"
-version = "0.1.0"
-dependencies = [
- "mingling",
- "serde",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
-
-[[package]]
-name = "just_fmt"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5454cda0d57db59778608d7a47bff5b16c6705598265869fb052b657f66cf05e"
-
-[[package]]
-name = "memchr"
-version = "2.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
-
-[[package]]
-name = "mingling"
-version = "0.2.0"
-dependencies = [
- "mingling_core",
- "mingling_macros",
- "serde",
- "size",
-]
-
-[[package]]
-name = "mingling_core"
-version = "0.2.0"
-dependencies = [
- "just_fmt",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "mingling_macros"
-version = "0.2.0"
-dependencies = [
- "just_fmt",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.106"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "serde"
-version = "1.0.228"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
-dependencies = [
- "serde_core",
- "serde_derive",
-]
-
-[[package]]
-name = "serde_core"
-version = "1.0.228"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.228"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.150"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"
-dependencies = [
- "itoa",
- "memchr",
- "serde",
- "serde_core",
- "zmij",
-]
-
-[[package]]
-name = "size"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b6709c7b6754dca1311b3c73e79fcce40dd414c782c66d88e8823030093b02b"
-
-[[package]]
-name = "syn"
-version = "2.0.117"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
-
-[[package]]
-name = "zmij"
-version = "1.0.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
diff --git a/examples/example-general-renderer/Cargo.toml b/examples/example-general-renderer/Cargo.toml
deleted file mode 100644
index fd7879b..0000000
--- a/examples/example-general-renderer/Cargo.toml
+++ /dev/null
@@ -1,16 +0,0 @@
-[package]
-name = "example-general-renderer"
-version = "0.1.0"
-edition = "2024"
-
-[dependencies]
-serde = { version = "1.0.228", features = ["derive"] }
-
-[dependencies.mingling]
-path = "../../mingling"
-features = [
- "general_renderer",
- "parser",
-]
-
-[workspace]
diff --git a/examples/example-general-renderer/page.toml b/examples/example-general-renderer/page.toml
deleted file mode 100644
index 1d3e4b1..0000000
--- a/examples/example-general-renderer/page.toml
+++ /dev/null
@@ -1,10 +0,0 @@
-[example]
-id = "example-general-renderer"
-name = "General Renderer"
-icon = "📤"
-category = "output"
-desc = """
-Demonstrates how to render structured output in JSON or YAML using `GeneralRendererSetup` and the `general_renderer` feature.
-"""
-tags = ["general_renderer", "--json", "--yaml"]
-files = ["src/main.rs", "Cargo.toml"]
diff --git a/examples/example-general-renderer/src/main.rs b/examples/example-general-renderer/src/main.rs
deleted file mode 100644
index 1e02afb..0000000
--- a/examples/example-general-renderer/src/main.rs
+++ /dev/null
@@ -1,71 +0,0 @@
-//! Example General Renderer
-//!
-//! > This example demonstrates how to use the `general_renderer` feature to render data into structures such as json / yaml
-//!
-//! Run
-//! ```bash
-//! cargo run --manifest-path examples/example-general-renderer/Cargo.toml --quiet -- render Bob 22
-//! cargo run --manifest-path examples/example-general-renderer/Cargo.toml --quiet -- render Bob 22 --json
-//! cargo run --manifest-path examples/example-general-renderer/Cargo.toml --quiet -- render Bob 22 --yaml
-//! ```
-//!
-//! Output:
-//! ```plain
-//! Bob is 22 years old
-//! {"member_name":"Bob","member_age":22}
-//! member_name: Bob
-//! member_age: 22
-//! ```
-
-use mingling::prelude::*;
-use mingling::{parser::Picker, setup::GeneralRendererSetup, StructuralData, Groupped};
-use serde::Serialize;
-
-dispatcher!("render", CMDRender => EntryRender);
-
-fn main() {
- let mut program = ThisProgram::new();
- // Add `GeneralRendererSetup` to receive user input `--json` `--yaml` parameters
- program.with_setup(GeneralRendererSetup);
- program.with_dispatcher(CMDRender);
- let _ = program.exec();
-}
-
-// --------- IMPORTANT ---------
-// For beautiful output structure, do not use `pack!` to wrap the types that need to be output.
-// Instead, manually implement
-// __________________________________ Mark as structured data so it can be rendered
-// / ____________________ Implement serde::Serialize
-// | / _________ Implement mingling::Groupped
-// | | / to ensure Mingling can recognize the type
-// vvvvvvvvvvvv vvvvvvvvv vvvvvvvv
-#[derive(StructuralData, Serialize, Groupped)]
-struct Info {
- #[serde(rename = "member_name")]
- name: String,
- #[serde(rename = "member_age")]
- age: i32,
-}
-// This will output: {"member_name":"name","member_age":32} structure
-
-// If using pack!(Info = (String, i32));
-// Output: {"inner":["name", 32]}
-
-// --------- IMPORTANT ---------
-
-#[chain]
-fn parse_render(prev: EntryRender) -> Next {
- let (name, age) = Picker::new(prev.inner)
- .pick::<String>(())
- .pick::<i32>(())
- .unpack();
- Info { name, age }.to_render()
-}
-
-/// Implement default renderer for when general_renderer is not specified
-#[renderer]
-fn render_info(prev: Info) {
- r_println!("{} is {} years old", prev.name, prev.age);
-}
-
-gen_program!();