private async Task IJsonSerializable(List <MemberDeclarationSyntax> results)
 {
     if (Arguments.LacksFeature(SvoFeatures.IJsonSerializable))
     {
         return;
     }
     results.Add(await SvoSnippet.Embedded(nameof(IJsonSerializable)).ParseAsync <MemberDeclarationSyntax>(Arguments));
 }
 private async Task Validation(List <MemberDeclarationSyntax> results)
 {
     if (Arguments.LacksFeature(SvoFeatures.Validation))
     {
         return;
     }
     results.Add(await SvoSnippet.Embedded(nameof(Validation)).ParseAsync <MemberDeclarationSyntax>(Arguments));
 }
        public async Task <CompilationUnitSyntax> GenerateInitialAsync()
        {
            var root = await SvoSnippet.Embedded("Initial").ParseAsync <NamespaceDeclarationSyntax>(Arguments);

            var externs    = new SyntaxList <ExternAliasDirectiveSyntax>(Array.Empty <ExternAliasDirectiveSyntax>());
            var usings     = new SyntaxList <UsingDirectiveSyntax>(Array.Empty <UsingDirectiveSyntax>());
            var attributes = new SyntaxList <AttributeListSyntax>(Array.Empty <AttributeListSyntax>());

            var members = SyntaxFactory.SingletonList <MemberDeclarationSyntax>(root);

            return(SyntaxFactory.CompilationUnit(externs, usings, attributes, members)
                   .WithTrailingTrivia(SyntaxFactory.CarriageReturnLineFeed)
                   .NormalizeWhitespace());
        }
        private async Task Structure(List <MemberDeclarationSyntax> results)
        {
            var root = await SvoSnippet.Embedded(nameof(Structure)).ParseAsync <NamespaceDeclarationSyntax>(Arguments);

            results.Add(root);
        }