Split lib and bin into crates and minor refactoring
this will close #48
changelog
- merge workflows
pull_request.ymlandmain.ymlintocheck_rust.yml - remove the
benches/which were very non-mature - move tool functions to
crates/nufmt/src/lib.rs - split code base into
nufmtandnufmt_cliinsidecrates/
Justification
-
Improved Readability: Decoupling the code into modular packages can enhance code readability. It allows developers to focus on one specific aspect of the code at a time, making it easier to understand.
-
Reduced Cognitive Load: With decoupled packages, developers don't need to grasp the entire codebase in one go. They can delve into specific modules as needed, reducing the cognitive load and making it more accessible.
-
Easier Onboarding: When new team members join nufmt, a decoupled codebase makes it easier for them to get up to speed.
-
Maintainability: A more understandable codebase is inherently more maintainable. Developers can make changes and improvements more confidently, reducing the risk of introducing new issues.
-
Long-term Viability: A codebase that is hard to understand can become a liability in the long run. By investing in a rewrite now, we can ensure the long-term viability and sustainability of nufmt.
Alright all basic functionality is restored in this pr. Please test and let me know what else is in need of changing.
I still need to work on:
- Setting the CI back up
I would close this as this PR didn't see the light in a while. Is it okay @fdncred ?
ya, it has been a while