Let tag handlers describe their expected format for InvalidTag reporting#457
Open
lacatoire wants to merge 3 commits intophpDocumentor:6.xfrom
Open
Let tag handlers describe their expected format for InvalidTag reporting#457lacatoire wants to merge 3 commits intophpDocumentor:6.xfrom
lacatoire wants to merge 3 commits intophpDocumentor:6.xfrom
Conversation
Adds an `ExpectedFormat` interface a tag handler may opt into to advertise the syntax it expects together with a link to its canonical documentation. When `StandardTagFactory` falls back to `InvalidTag` because the handler rejected the body, it forwards those hints through the new `InvalidTag::withFormatHint()` method so downstream tooling (for example phpDocumentor's error reports) can surface a helpful explanation instead of only the raw exception. `Author` implements the interface as a first example since its lack of description support is a common source of confusion (see phpDocumentor/phpDocumentor#3378). Fixes phpDocumentor#346
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds an
ExpectedFormatinterface a tag handler may opt into to advertise the syntax it expects together with a link to its canonical documentation. WhenStandardTagFactoryfalls back toInvalidTagbecause the handler rejected the body, it forwards those hints through the newInvalidTag::withFormatHint()method so downstream tooling (for example phpDocumentor's error reports) can surface a helpful explanation instead of only the raw exception.Authorimplements the interface as a first example, since its lack of description support is a common source of confusion (see phpDocumentor/phpDocumentor#3378).Purely additive: new interface, new methods on
InvalidTag, no changes to existing public contracts.Fixes #346