# mokuya

[![Crates.io](https://img.shields.io/crates/v/mokuya.svg)](https://crates.io/crates/mokuya)
[![Docs.rs](https://docs.rs/mokuya/badge.svg)](https://docs.rs/mokuya)
[![License](https://img.shields.io/crates/l/mokuya.svg)](https://github.com/pas2rust/mokuya/blob/master/LICENSE.md)

`mokuya` is a utility crate that provides adapters and helpers for writing Rust procedural macros. It simplifies common tasks when working with `syn`, `quote`, and `proc_macro2`, and is designed to help authors build robust and reusable macro code.

## Features

- Utilities for extracting types, arguments, and attributes from `syn`.
- Simple extension utilities for `TokenStream`.
- Reusable and ergonomic error handling structure.
- Great for use in derive, attribute, or function-like procedural macros.
- Zero dependencies outside the core macro ecosystem.

## Installation

Add this to your `Cargo.toml`:

```bash
cargo add mokuya
```

# ❤️ Donate

[![Monero](https://img.shields.io/badge/88NKLkhZf1nTVpaSU6vwG6dwBwb9tFVSM8Lpj3YqdL1PMt8Gm7opV7aUnMYBaAC9Y6a4kfDc3fLGoMVqeSJKNphyLpLdEvC-FF6600?style=flat&logo=monero&logoColor=white)](https://github.com/pas2rust/pas2rust/blob/main/pas-monero-donate.png)
[![Bitcoin](https://img.shields.io/badge/bc1qnlayyh84e9u5pd4m9g9sf4c5zdzswvkmudmdu5-EAB300?style=flat&logo=bitcoin&logoColor=white)](https://github.com/pas2rust/pas2rust/blob/main/pas-bitcoin-donate.png)