# HelloMacro
`HelloMacro` is a Rust procedural macro that automatically implements the `HelloMacro` trait for any struct or enum. This trait includes a single method, `hello_macro`, which prints a greeting message including the name of the type.
## Usage
To use the `HelloMacro` derive macro, add it as a dependency in your `Cargo.toml`:
```toml
[dependencies]
bogdan_hello_macro = "0.1.7"
bogdan_hello_macro_derive = "0.1.7"
```
Add the following to your code:
```
use bogdan_hello_macro::HelloMacro;
use bogdan_hello_macro_derive::HelloMacro;
```
Then, you can use the HelloMacro derive macro on any struct or enum:
```
use bogdan_hello_macro::HelloMacro;
use bogdan_hello_macro_derive::HelloMacro;
#[derive(HelloMacro)]
struct Pancakes;
fn main() {
Pancakes::hello_macro(); // Prints: "Hello, Macro! My name is Pancakes!"
}
```
## Example
Here’s a complete example demonstrating how to use the HelloMacro derive macro:
```
use bogdan_hello_macro::HelloMacro;
use bogdan_hello_macro_derive::HelloMacro;
#[derive(HelloMacro)]
struct Waffles;
#[derive(HelloMacro)]
enum Breakfast {
Eggs,
Bacon,
}
fn main() {
Waffles::hello_macro(); // Prints: "Hello, Macro! My name is Waffles!"
Breakfast::Eggs.hello_macro(); // Prints: "Hello, Macro! My name is Eggs!"
Breakfast::Bacon.hello_macro(); // Prints: "Hello, Macro! My name is Bacon!"
}
```