diff --git a/devel/Makefile b/devel/Makefile index 52645f5f6c12..0d1f8791c461 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -7857,6 +7857,7 @@ SUBDIR += rubygem-xpath SUBDIR += rubygem-xxhash SUBDIR += rubygem-yajl-ruby + SUBDIR += rubygem-yard-sorbet SUBDIR += rubygem-yui-compressor SUBDIR += rubygem-zeitwerk SUBDIR += rubygem-zentest diff --git a/devel/rubygem-yard-sorbet/Makefile b/devel/rubygem-yard-sorbet/Makefile new file mode 100644 index 000000000000..d6e47e1a35a8 --- /dev/null +++ b/devel/rubygem-yard-sorbet/Makefile @@ -0,0 +1,20 @@ +PORTNAME= yard-sorbet +PORTVERSION= 0.9.0 +CATEGORIES= devel rubygems +MASTER_SITES= RG + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= YARD plugin that incorporates Sorbet type information +WWW= https://github.com/dduugg/yard-sorbet + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= rubygem-sorbet-runtime>=0:devel/rubygem-sorbet-runtime \ + rubygem-yard>=0:textproc/rubygem-yard + +USES= gem + +NO_ARCH= yes + +.include diff --git a/devel/rubygem-yard-sorbet/distinfo b/devel/rubygem-yard-sorbet/distinfo new file mode 100644 index 000000000000..77a98419901c --- /dev/null +++ b/devel/rubygem-yard-sorbet/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1722711143 +SHA256 (rubygem/yard-sorbet-0.9.0.gem) = 03d1aa461b9e9c82b886919a13aa3e09fcf4d1852239d2967ed97e92723ffe21 +SIZE (rubygem/yard-sorbet-0.9.0.gem) = 15872 diff --git a/devel/rubygem-yard-sorbet/pkg-descr b/devel/rubygem-yard-sorbet/pkg-descr new file mode 100644 index 000000000000..84075fc05346 --- /dev/null +++ b/devel/rubygem-yard-sorbet/pkg-descr @@ -0,0 +1,12 @@ +yard-sorbet is a YARD plugin that parses Sorbet type annotations. + +Features: +- Attaches existing documentation to methods and attributes that follow sig + declarations. (This information is otherwise discarded.) +- Translates sig type signatures into corresponding YARD tags +- Generates method definitions from T::Struct fields +- Generates constant definitions from T::Enum enums +- Modules marked abstract! or interface! are tagged @abstract +- Modules using mixes_in_class_methods will attach class methods +- Merges sigs in rbi files with source code documentation (rbi files must come + after source code in yard configuration)