merge workflows pull_request.yml and main.yml into check_rust.yml
remove the benches/ which were very non-mature
move tool functions to crates/nufmt/src/lib.rs
split code base into nufmt and nufmt_cli inside crates/
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.
this will close #48
changelog
pull_request.yml
andmain.yml
intocheck_rust.yml
benches/
which were very non-maturecrates/nufmt/src/lib.rs
nufmt
andnufmt_cli
insidecrates/
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.