diff --git a/src/Schema/SchemaGenerator.php b/src/Schema/SchemaGenerator.php index 8a3283aea..f8acaa147 100644 --- a/src/Schema/SchemaGenerator.php +++ b/src/Schema/SchemaGenerator.php @@ -30,6 +30,12 @@ public function generate(string $xmlNamespace, array $viewHelpers): \SimpleXMLEl if (isset($metadata->docTags['@deprecated'])) { $documentation .= "\n@deprecated " . $metadata->docTags['@deprecated']; } + // Add links from "@see" annotations. No HTML formatting means + // non-clickable links, but copy+paste from a URL is then possible + // for further reading + if (isset($metadata->docTags['@see'])) { + $documentation .= "\n@see " . $metadata->docTags['@see']; + } $documentation = trim($documentation); // Add documentation to xml diff --git a/tests/Unit/Schema/SchemaGeneratorTest.php b/tests/Unit/Schema/SchemaGeneratorTest.php index 65a1649e4..8783d5ce2 100644 --- a/tests/Unit/Schema/SchemaGeneratorTest.php +++ b/tests/Unit/Schema/SchemaGeneratorTest.php @@ -101,6 +101,61 @@ public static function generateSchemaDataProvider(): iterable '' . '' . "\n", ], + 'deprecatedViewHelperWithFurtherReading' => [ + 'http://typo3.org/ns/Vendor/Package/ViewHelpers', + [ + new ViewHelperMetadata( + 'Vendor\\Package\\ViewHelpers\\MyViewHelper', + 'Vendor\\Package', + 'MyViewHelper', + 'myViewHelper', + '', + 'http://typo3.org/ns/Vendor/Package/ViewHelpers', + [ + '@deprecated' => 'since 1.2.3, will be removed in 2.0.0', + '@see' => 'https://docs.typo3.org/somelink', + ], + [], + false, + ), + ], + '' . "\n" . + '' . + '' . + '' . + '' . + '' . + '' . + '' . + '' . "\n", + ], + 'viewHelperWithFurtherReading' => [ + 'http://typo3.org/ns/Vendor/Package/ViewHelpers', + [ + new ViewHelperMetadata( + 'Vendor\\Package\\ViewHelpers\\MyViewHelper', + 'Vendor\\Package', + 'MyViewHelper', + 'myViewHelper', + '', + 'http://typo3.org/ns/Vendor/Package/ViewHelpers', + [ + '@see' => 'https://docs.typo3.org/somelink', + ], + [], + false, + ), + ], + '' . "\n" . + '' . + '' . + '' . + '' . + '' . + '' . + '' . + '' . "\n", + ], 'argumentTypes' => [ 'http://typo3.org/ns/Vendor/Package/ViewHelpers', [