[ ] π Documentation (updates to the documentation, readme, or JSdoc annotations)
[ ] π Bug fix (a non-breaking change that fixes an issue)
[ ] π Enhancement (improving an existing functionality like performance)
[x] β¨ New feature (a non-breaking change that adds functionality)
[ ] π§Ή Chore (updates to the build process or auxiliary tools and libraries)
[ ] β οΈ Breaking change (fix or feature that would cause existing functionality to change)
π Description
This PR is somewhat a protoype in relation to feature request #117 concerning the ability to easily extending the generation of usage output.
The current implementation is a single function that returns a string. If a user want to alter the output they have to implement the renderUsage function and make alternations. This is fragile to new updates in core implementation and makes the developer reImplement a lot of the utils functions like resolveValue, resolveArgs and formatLineColumns.
This PR allows to simply extend the RenderUsage class and override the methods they want to alter. Alternatively the can create their own class with a custom "template".
Again, it's a foundation to from where we can discuss direction and relevance π
π #117
β¨ Feature
π Description
This PR is somewhat a protoype in relation to feature request #117 concerning the ability to easily extending the generation of usage output.
The current implementation is a single function that returns a string. If a user want to alter the output they have to implement the
renderUsage
function and make alternations. This is fragile to new updates in core implementation and makes the developer reImplement a lot of the utils functions likeresolveValue
,resolveArgs
andformatLineColumns
.This PR allows to simply extend the
RenderUsage
class and override the methods they want to alter. Alternatively the can create their own class with a custom "template".Again, it's a foundation to from where we can discuss direction and relevance π
π Checklist