Change CommandError and MessageInfo to public
#198
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change
CommandErrorandMessageInfotopublic.TL:DR;
The motivation behind it was the desire to react to such error with a beautiful message.
Motivation
In our tool, we use SwiftNIO and ArgumentParser for handling slack commands. At one point a command can fail. For example when a user provides not expect a flag. This will produce
CommandError. NIO'smapIfErrorwill bring it toErrortype. Hence at this moment, we can only print such error.Not very user friendly :(
But if
CommandErrorandMessageInfowould be public. We could detect if the mapped error is aCommandErrorand useMessageInfoto print a much nicer message. Such asThis is how we would use it
Checklist