Skip to content

Conversation

shadowspawn
Copy link
Collaborator

@shadowspawn shadowspawn commented Jan 8, 2022

Pull Request

Problem

People adding extra error checks do not have a way to take advantage of the error configuration built into Commander such as: .configureOutput(), .exitOverride(), .showHelpAfterError().

There have not been many requests for this, but we do now have quite rich error handling which clients can use for their own errors too.

Related: #1358 #1632

Solution

Provide a low level routine that is also used by Commander itself. Refactor private ._displayError() into public .error(). Change the signature to make the error id code and exitCode optional so can be called with just a message.

if (cmd.opts().good && cmd.opts().bad)
  cmd.error('error: specify just one of "--good" and "--bad"');

ChangeLog

  • add error() for generating errors from client code just like Commander generated errors, with support for .configureOutput(), .exitOverride(), and .showHelpAfterError()

@shadowspawn shadowspawn added the semver: major Releasing requires a major version bump, not backwards compatible label Jan 8, 2022
@shadowspawn shadowspawn marked this pull request as ready for review January 13, 2022 08:23
Copy link
Collaborator

@abetomo abetomo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome!

@shadowspawn shadowspawn merged commit 7a59df4 into tj:release/9.x Jan 14, 2022
@shadowspawn shadowspawn deleted the feature/error2 branch January 14, 2022 09:44
@shadowspawn
Copy link
Collaborator Author

Thanks @abetomo
I will do another prerelease soon. No other changes in mind!

@shadowspawn shadowspawn added the pending release Merged into a branch for a future release, but not released yet label Jan 14, 2022
@shadowspawn shadowspawn added this to the Commander v9.0.0 milestone Jan 14, 2022
@shadowspawn
Copy link
Collaborator Author

.error() is included in prerelease Commander v9.0.0-1.

@shadowspawn shadowspawn removed the pending release Merged into a branch for a future release, but not released yet label Jan 29, 2022
@shadowspawn
Copy link
Collaborator Author

Commander v9 has been released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver: major Releasing requires a major version bump, not backwards compatible
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants