diff --git a/InterfaceGenerator/src/InterfaceGeneratorConstants.cs b/InterfaceGenerator/src/InterfaceGeneratorConstants.cs index e1777b6..02a31cd 100644 --- a/InterfaceGenerator/src/InterfaceGeneratorConstants.cs +++ b/InterfaceGenerator/src/InterfaceGeneratorConstants.cs @@ -38,14 +38,15 @@ public static class Constants """; public const string GenerateInterfaceAtributeDeclaration = $$$""" - {{{Header}}} + {{{Header +}}} - [AttributeUsage(AttributeTargets.Interface | AttributeTargets.Class | AttributeTargets.Struct)] - public sealed class {{{GenerateInterfaceAttributeName}}}(Type? type = default, string? interfaceName, string? @namespace) : Attribute - { - public type Type { get; } = type; - public string InterfaceName { get; } = interfaceName; - public string Namespace { get; } = @namespace; + [AttributeUsage(AttributeTargets.Interface | AttributeTargets.Class | AttributeTargets.Struct)] +public sealed class {{ { GenerateInterfaceAttributeName} }}(Type ? type = default, string? interfaceName, string? @namespace) : Attribute +{ + public type Type { get; } = type; +public string InterfaceName { get; } = interfaceName; +public string Namespace { get; } = @namespace; } """; @@ -63,60 +64,62 @@ public sealed class {{{GenerateInterfaceAttributeName}}}(Type? type = default, s namespace {{ namespace }} { - public partial interface {{ interface_name }} - { - {{ members }} - } + public partial interface {{ interface_name +}} + { + { { members } } +} } """; public static readonly Scriban.Template InterfaceDeclarationTemplate = Scriban.Template.Parse( InterfaceDeclaration - ); - - public const string MethodDeclaration = "{{ full_definition }};"; - - public static readonly Scriban.Template MethodDeclarationTemplate = Scriban.Template.Parse( - MethodDeclaration - ); - - public const string MethodParameter = """ - {{ type }} {{ name }} - """; + ); + +public const string MethodDeclaration = "{{ full_definition }};"; + +public static readonly Scriban.Template MethodDeclarationTemplate = Scriban.Template.Parse( + MethodDeclaration +); + +public const string MethodParameter = """ + { { type } } +{ { name } } +"""; public static readonly Scriban.Template MethodParameterTemplate = Scriban.Template.Parse( MethodParameter + ); + +public const string PropertyDeclaration = + "{{ type }} {{ if is_indexed }}this[ {{ indexers }}] {{ else }} {{ name }} {{ end }} { {{ if is_gettable }} get; {{ end }} {{ if is_settable }} set; {{ end }} }"; + +public static readonly Scriban.Template PropertyDeclarationTemplate = Scriban.Template.Parse( + PropertyDeclaration +); + +public static readonly SymbolDisplayFormat SymbolDisplayFormat = + new( + globalNamespaceStyle: SymbolDisplayGlobalNamespaceStyle.Included, + typeQualificationStyle: SymbolDisplayTypeQualificationStyle.NameAndContainingTypesAndNamespaces, + genericsOptions: SymbolDisplayGenericsOptions.IncludeTypeParameters + | SymbolDisplayGenericsOptions.IncludeTypeConstraints, + memberOptions: SymbolDisplayMemberOptions.IncludeParameters + | SymbolDisplayMemberOptions.IncludeType + | SymbolDisplayMemberOptions.IncludeModifiers + | SymbolDisplayMemberOptions.IncludeConstantValue, + delegateStyle: SymbolDisplayDelegateStyle.NameAndSignature, + extensionMethodStyle: SymbolDisplayExtensionMethodStyle.Default, + parameterOptions: SymbolDisplayParameterOptions.IncludeType + | SymbolDisplayParameterOptions.IncludeName + | SymbolDisplayParameterOptions.IncludeDefaultValue, + propertyStyle: SymbolDisplayPropertyStyle.ShowReadWriteDescriptor, + kindOptions: SymbolDisplayKindOptions.None, + miscellaneousOptions: SymbolDisplayMiscellaneousOptions.UseSpecialTypes + | SymbolDisplayMiscellaneousOptions.EscapeKeywordIdentifiers + | SymbolDisplayMiscellaneousOptions.AllowDefaultLiteral ); - public const string PropertyDeclaration = - "{{ type }} {{ if is_indexed }}this[ {{ indexers }}] {{ else }} {{ name }} {{ end }} { {{ if is_gettable }} get; {{ end }} {{ if is_settable }} set; {{ end }} }"; - - public static readonly Scriban.Template PropertyDeclarationTemplate = Scriban.Template.Parse( - PropertyDeclaration - ); - - public static readonly SymbolDisplayFormat SymbolDisplayFormat = - new( - globalNamespaceStyle: SymbolDisplayGlobalNamespaceStyle.Included, - typeQualificationStyle: SymbolDisplayTypeQualificationStyle.NameAndContainingTypesAndNamespaces, - genericsOptions: SymbolDisplayGenericsOptions.IncludeTypeParameters - | SymbolDisplayGenericsOptions.IncludeTypeConstraints, - memberOptions: SymbolDisplayMemberOptions.IncludeParameters - | SymbolDisplayMemberOptions.IncludeType - | SymbolDisplayMemberOptions.IncludeModifiers - | SymbolDisplayMemberOptions.IncludeConstantValue, - delegateStyle: SymbolDisplayDelegateStyle.NameAndSignature, - extensionMethodStyle: SymbolDisplayExtensionMethodStyle.Default, - parameterOptions: SymbolDisplayParameterOptions.IncludeType - | SymbolDisplayParameterOptions.IncludeName - | SymbolDisplayParameterOptions.IncludeDefaultValue, - propertyStyle: SymbolDisplayPropertyStyle.ShowReadWriteDescriptor, - kindOptions: SymbolDisplayKindOptions.None, - miscellaneousOptions: SymbolDisplayMiscellaneousOptions.UseSpecialTypes - | SymbolDisplayMiscellaneousOptions.EscapeKeywordIdentifiers - | SymbolDisplayMiscellaneousOptions.AllowDefaultLiteral - ); - // new( // SymbolDisplayGlobalNamespaceStyle.Included, // SymbolDisplayTypeQualificationStyle.NameAndContainingTypesAndNamespaces,