26 releases
0.1.27 | Feb 10, 2021 |
---|---|
0.1.26 | Feb 9, 2021 |
0.1.23 | Jan 20, 2021 |
0.1.18 | Dec 31, 2020 |
0.0.1 | Dec 24, 2019 |
#1804 in Rust patterns
Used in 4 crates
(3 directly)
270KB
4.5K
SLoC
fungus
Rust utilities to reduce code verbosity
fungus is a collection of convenience functions I built up while working on other projects. I always seem to write this kind of boiler plate code to make working with a system more ergonomic and decided to make it reusable.
intents
fungas attempts to follow these intents:
- Chaining - ensure Rust's functional chaining style isn't impeded by additions
- Brevity - keep the naming as concise as possible while not infringing on clarity
- Clarity - keep the naming as unambiguous as possible while not infringing on brevity
- Performance - keep convenience functions as performant as possible while calling out significant costs
- Speed - provide ergonomic functions similar to rapid development languages
- Comfort - use naming and concepts in similar ways to popular languages
Quick links
Usage
Requires rustc >= 1.30
This minimum rustc requirement is driven by the enhancements made to Rust's std::error::Error
handling improvements
TBD
Contribute
Pull requests are always welcome. However understand that they will be evaluated purely on whether or not the change fits with my goals/ideals for the project.
Git-Hook
Enable the git hooks to have automatic version increments
cd ~/Projects/fungus
git config core.hooksPath .githooks
License
This project is licensed under either of:
- MIT license LICENSE-MIT or http://opensource.org/licenses/MIT
- Apache License, Version 2.0 LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Backlog
- Update documentation
Changelog
- 12/30/2020
- Updating rustc minimum version explanation
- 12/29/2020
- Split Arch Linux functionality out to relic
- 12/28/2020
- Split git2 functionality out to skellige
- 12/26/2020
- Get fungus building and reporting with github actions
- Split out git and arch work into another project
- Implemented a better
defer
function - Port system utilities from witcher
- Use fastrand rather than rand
Dependencies
~5–13MB
~190K SLoC