# {Bracoxide} [![Tests](https://github.com/atahabaki/bracoxide/actions/workflows/rust.yml/badge.svg)](https://github.com/atahabaki/bracoxide/actions/workflows/rust.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md) [![Documentation](https://docs.rs/bracoxide/badge.svg)](https://docs.rs/bracoxide) [![Bracoxide Crate](https://img.shields.io/crates/v/bracoxide.svg)](https://crates.io/crates/bracoxide) Bracoxide is a powerful Rust library for handling and expanding brace expansions. It provides a simple and intuitive way to generate combinations and permutations from brace patterns. ## Features * __Brace Expansion__: Easily expand brace patterns into a list of all possible combinations. * __Error Handling__: Comprehensive error handling for invalid brace patterns or expansion failures. * __MIT Licensed__: Bracoxide is open-source and licensed under the MIT License. ## Installation Add Bracoxide to your Cargo.toml: ```toml [dependencies] bracoxide = "0.1.2" ``` ## Usage Import the bracoxide crate and start expanding brace patterns: ```rust use bracoxide::explode; fn main() { let content = "foo{1..3}bar"; match explode(content) { Ok(expanded) => { // [`foo1bar`, `foo2bar`, `foo3bar`] println!("Expanded patterns: {:?}", expanded); } Err(error) => { eprintln!("Error occurred: {:?}", error); } } } ``` For more details and advanced usage, please refer to the [API documentation](https://docs.rs/bracoxide). ## Contributing ```rust match contribution { /// found a bug or encountered an issue Contribution::Issue => redirect!("https://github.com/atahabaki/bracoxide/issues"), /// propose any changes Contribution::Change => redirect!("https://github.com/atahabaki/bracoxide/pulls"), /// have a question or need help Contribution::Ask => redirect!("https://github.com/atahabaki/bracoxide/discussions"), } ``` Contributions are welcome! If you would like to contribute to this project, here are a few ways you can get involved: - **Report Issues**: If you encounter any issues or bugs, please let us know by [creating an issue](https://github.com/atahabaki/bracoxide/issues). Provide a detailed description of the problem, including steps to reproduce it if possible. - **Propose Changes**: If you have ideas for improvements or new features, we encourage you to [submit a pull request](https://github.com/atahabaki/bracoxide/pulls). We appreciate your contributions and will review and consider them. - **Ask Questions**: If you have any questions or need help with the project, feel free to [start a discussion](https://github.com/atahabaki/bracoxide/discussions). We'll be happy to assist you. Please review our [contribution guidelines](Contributing.md) for more detailed information on how to contribute effectively. ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.