{"id":23112940,"url":"https://github.com/vbfox/externalannotationsgenerator","last_synced_at":"2025-08-16T19:31:34.288Z","repository":{"id":143142517,"uuid":"42640059","full_name":"vbfox/ExternalAnnotationsGenerator","owner":"vbfox","description":"Fluent Library for generating ReSharper External annotation files.","archived":false,"fork":false,"pushed_at":"2015-09-28T12:54:32.000Z","size":396,"stargazers_count":4,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-29T19:17:00.930Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vbfox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-09-17T06:53:59.000Z","updated_at":"2017-11-25T01:08:05.000Z","dependencies_parsed_at":"2023-03-16T18:10:37.210Z","dependency_job_id":null,"html_url":"https://github.com/vbfox/ExternalAnnotationsGenerator","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbfox%2FExternalAnnotationsGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbfox%2FExternalAnnotationsGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbfox%2FExternalAnnotationsGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vbfox%2FExternalAnnotationsGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vbfox","download_url":"https://codeload.github.com/vbfox/ExternalAnnotationsGenerator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230051556,"owners_count":18165252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-17T02:21:09.812Z","updated_at":"2024-12-17T02:21:10.509Z","avatar_url":"https://github.com/vbfox.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ReSharper external annotations generator Library\n\n[![Join the chat in Gitter][GitterBadge]][Gitter]\n[![Build status][AppVeyorBadge]][AppVeyor]\n[![MIT License][LicenseBadge]](License.md)\n[![Nuget Package][NuGetBadge]][NuGet]\n\nFluent Library for generating [JetBrain's ReSharper][R#] External annotation\nfiles.\n\n## Syntax\n\nThe syntax used to create an annotation is a fluent syntax like :\n\n```csharp\nvar annotator = Annotator.Create();\n            \nannotator.Annotate\u003cILogger\u003e(type =\u003e\n{\n    type.Annotate(logger =\u003e logger.Debug(NotNull\u003cException\u003e(), FormatString(), Some\u003cobject[]\u003e()));\n});\n\nannotator.Annotate\u003cILoggerFactory\u003e(type =\u003e\n{\n    type.Annotate(logger =\u003e logger.GetLogger(NotNull\u003cType\u003e()) == NotNull\u003cILogger\u003e());\n});\n```\n\nThe annotations that can be found in `AnnotationGenerator.Annotations` are :\n* `Some\u003cT\u003e`: Used as a marker for a parameter without any special attribute.\n* `NotNull\u003cT\u003e`: Adds `[NotNullAttribute]` to either a parameter, member or\n  method result.\n* `CanBeNull\u003cT\u003e`: Adds `[CanBeNullAttribute]` to either a parameter, member or\n  method result.\n* `FormatString`: Adds `[StringFormatMethodAttribute]` to the method with the\n  corresponding parameter name and `[NotNullAttribute]` to the parameter.\n* `NullableFormatString`: Adds `[StringFormatMethodAttribute]` to the method\n  with the corresponding parameter name and `[CanBeNullAttribute]` to the parameter.\n\n## Thanks\n\nThis project started as a fork of [ReSharper.ExternalAnnotations.Generator][Upstream] by\n[@chillitom][chillitom] and might not have existed without it.\n\n[GitterBadge]: https://badges.gitter.im/Join%20Chat.svg\n[Gitter]: https://gitter.im/vbfox/ExternalAnnotationsGenerator?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\n[NuGetBadge]: https://img.shields.io/nuget/v/ExternalAnnotationsGenerator.svg\n[NuGet]: https://www.nuget.org/packages/ExternalAnnotationsGenerator\n[LicenseBadge]: https://img.shields.io/badge/license-MIT%20License-blue.svg\n[AppVeyorBadge]: https://ci.appveyor.com/api/projects/status/9dqk508uujs5ql2w?svg=true\n[AppVeyor]: https://ci.appveyor.com/project/vbfox/externalannotationsgenerator\n[R#]: https://www.jetbrains.com/resharper/\n[chillitom]: https://github.com/chillitom\n[Upstream]: https://github.com/chillitom/ReSharper.ExternalAnnotations.Generator","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvbfox%2Fexternalannotationsgenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvbfox%2Fexternalannotationsgenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvbfox%2Fexternalannotationsgenerator/lists"}