diff --git a/.github/workflows/test-macos.yml b/.github/workflows/test-macos.yml index 75f9ce0..7745653 100644 --- a/.github/workflows/test-macos.yml +++ b/.github/workflows/test-macos.yml @@ -16,4 +16,4 @@ jobs: - name: Checkout uses: actions/checkout@v3 - name: Test - run: swift test + run: cd "Example" && swift test diff --git a/Example/.gitignore b/Example/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/Example/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/Example/Package.swift b/Example/Package.swift new file mode 100644 index 0000000..8125f79 --- /dev/null +++ b/Example/Package.swift @@ -0,0 +1,52 @@ +// swift-tools-version: 5.9 + +import PackageDescription + +let package = Package( + name: "macro-toolkit-example", + products: [ + .library( + name: "Example", + targets: ["Example"] + ), + ], + dependencies: [ + // For basic functionality you can just depend on `swift-macro-toolkit` + // `swift-syntax` will be added as nested dependency. "SwiftSyntax", "SwiftDiagnostics", + // and "SwiftCompilerPlugin" targets will be importable + .package("../"), + + // However `swift-syntax` is needed for testing + // You may consider using https://github.com/pointfreeco/swift-macro-testing instead + .package( + url: "https://github.com/apple/swift-syntax.git", + exact: "509.0.0" + ), + ], + targets: [ + // Declares macros used by `swift-macro-toolkit` tests + .target( + name: "MacroToolkitExample", + dependencies: ["MacroToolkitExamplePlugin"] + ), + + // Implementations of macros tested by `swift-macro-toolkit` tests + .macro( + name: "MacroToolkitExamplePlugin", + dependencies: [ + .product(name: "MacroToolkit", package: "swift-macro-toolkit") + ] + ), + + .testTarget( + name: "MacroToolkitTests", + dependencies: [ + "MacroToolkitExample", + .product(name: "MacroToolkit", package: "swift-macro-toolkit") + .product(name: "SwiftSyntax", package: "swift-syntax"), + .product(name: "SwiftSyntaxMacros", package: "swift-syntax"), + .product(name: "SwiftSyntaxMacrosTestSupport", package: "swift-syntax"), + ] + ), + ] +) diff --git a/Sources/MacroToolkitExample/MacroToolkitExample.swift b/Example/Sources/MacroToolkitExample/MacroToolkitExample.swift similarity index 100% rename from Sources/MacroToolkitExample/MacroToolkitExample.swift rename to Example/Sources/MacroToolkitExample/MacroToolkitExample.swift diff --git a/Sources/MacroToolkitExamplePlugin/AddAsyncMacro.swift b/Example/Sources/MacroToolkitExamplePlugin/AddAsyncMacro.swift similarity index 100% rename from Sources/MacroToolkitExamplePlugin/AddAsyncMacro.swift rename to Example/Sources/MacroToolkitExamplePlugin/AddAsyncMacro.swift diff --git a/Sources/MacroToolkitExamplePlugin/AddBlockerMacro.swift b/Example/Sources/MacroToolkitExamplePlugin/AddBlockerMacro.swift similarity index 100% rename from Sources/MacroToolkitExamplePlugin/AddBlockerMacro.swift rename to Example/Sources/MacroToolkitExamplePlugin/AddBlockerMacro.swift diff --git a/Sources/MacroToolkitExamplePlugin/AddCompletionHandlerMacro.swift b/Example/Sources/MacroToolkitExamplePlugin/AddCompletionHandlerMacro.swift similarity index 100% rename from Sources/MacroToolkitExamplePlugin/AddCompletionHandlerMacro.swift rename to Example/Sources/MacroToolkitExamplePlugin/AddCompletionHandlerMacro.swift diff --git a/Sources/MacroToolkitExamplePlugin/CaseDetectionMacro.swift b/Example/Sources/MacroToolkitExamplePlugin/CaseDetectionMacro.swift similarity index 100% rename from Sources/MacroToolkitExamplePlugin/CaseDetectionMacro.swift rename to Example/Sources/MacroToolkitExamplePlugin/CaseDetectionMacro.swift diff --git a/Sources/MacroToolkitExamplePlugin/CodableKeyMacro.swift b/Example/Sources/MacroToolkitExamplePlugin/CodableKeyMacro.swift similarity index 100% rename from Sources/MacroToolkitExamplePlugin/CodableKeyMacro.swift rename to Example/Sources/MacroToolkitExamplePlugin/CodableKeyMacro.swift diff --git a/Sources/MacroToolkitExamplePlugin/CustomCodableMacro.swift b/Example/Sources/MacroToolkitExamplePlugin/CustomCodableMacro.swift similarity index 100% rename from Sources/MacroToolkitExamplePlugin/CustomCodableMacro.swift rename to Example/Sources/MacroToolkitExamplePlugin/CustomCodableMacro.swift diff --git a/Sources/MacroToolkitExamplePlugin/DictionaryStorageMacro.swift b/Example/Sources/MacroToolkitExamplePlugin/DictionaryStorageMacro.swift similarity index 100% rename from Sources/MacroToolkitExamplePlugin/DictionaryStorageMacro.swift rename to Example/Sources/MacroToolkitExamplePlugin/DictionaryStorageMacro.swift diff --git a/Sources/MacroToolkitExamplePlugin/MacroToolkitExamplePlugin.swift b/Example/Sources/MacroToolkitExamplePlugin/MacroToolkitExamplePlugin.swift similarity index 100% rename from Sources/MacroToolkitExamplePlugin/MacroToolkitExamplePlugin.swift rename to Example/Sources/MacroToolkitExamplePlugin/MacroToolkitExamplePlugin.swift diff --git a/Sources/MacroToolkitExamplePlugin/MetaEnumMacro.swift b/Example/Sources/MacroToolkitExamplePlugin/MetaEnumMacro.swift similarity index 100% rename from Sources/MacroToolkitExamplePlugin/MetaEnumMacro.swift rename to Example/Sources/MacroToolkitExamplePlugin/MetaEnumMacro.swift diff --git a/Sources/MacroToolkitExamplePlugin/OptionSetMacro.swift b/Example/Sources/MacroToolkitExamplePlugin/OptionSetMacro.swift similarity index 100% rename from Sources/MacroToolkitExamplePlugin/OptionSetMacro.swift rename to Example/Sources/MacroToolkitExamplePlugin/OptionSetMacro.swift diff --git a/Tests/MacroToolkitTests/MacroToolkitTests.swift b/Example/Tests/MacroToolkitExampleTests/MacroToolkitTests.swift similarity index 100% rename from Tests/MacroToolkitTests/MacroToolkitTests.swift rename to Example/Tests/MacroToolkitExampleTests/MacroToolkitTests.swift diff --git a/Package.resolved b/Package.resolved index e9b8f10..df8d329 100644 --- a/Package.resolved +++ b/Package.resolved @@ -5,8 +5,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/SwiftPackageIndex/SPIManifest.git", "state" : { - "revision" : "59b957c55c274ae08da9aaa36efcaac3fb7a326c", - "version" : "0.19.0" + "revision" : "5569d7aca29b7d7f4f793ba997bfaa72ca99fca7", + "version" : "0.12.0" } }, { diff --git a/Package.swift b/Package.swift index c9d90cc..489ef8a 100644 --- a/Package.swift +++ b/Package.swift @@ -10,6 +10,14 @@ let package = Package( .library( name: "MacroToolkit", targets: ["MacroToolkit"] + ), + .library( + name: "DiagnosticBuilder", + targets: ["DiagnosticBuilder"] + ), + .library( + name: "MacroToolkitTypes", + targets: ["MacroToolkitTypes"] ) ], dependencies: [ @@ -17,42 +25,41 @@ let package = Package( url: "https://github.com/apple/swift-syntax.git", exact: "509.0.0" ), - .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.3.0"), - .package(url: "https://github.com/SwiftPackageIndex/SPIManifest.git", from: "0.12.0"), + .package( + url: "https://github.com/apple/swift-docc-plugin", + from: "1.3.0" + ), + .package( + url: "https://github.com/SwiftPackageIndex/SPIManifest.git", + .upToNextMinor(from: "0.12.0") + ), ], targets: [ - // Implementations of macros tested by tests - .macro( - name: "MacroToolkitExamplePlugin", + .target( + name: "MacroToolkit", dependencies: [ - .product(name: "SwiftSyntax", package: "swift-syntax"), - .product(name: "SwiftSyntaxMacros", package: "swift-syntax"), - .product(name: "SwiftCompilerPlugin", package: "swift-syntax"), - "MacroToolkit", + .target(name: "DiagnosticBuilder"), + .target(name: "MacroToolkitTypes") ] ), - // Declares macros used by tests - .target(name: "MacroToolkitExample", dependencies: ["MacroToolkitExamplePlugin"]), - .target( - name: "MacroToolkit", + name: "DiagnosticBuilder", dependencies: [ .product(name: "SwiftSyntax", package: "swift-syntax"), - .product(name: "SwiftSyntaxMacros", package: "swift-syntax"), + .product(name: "SwiftDiagnostics", package: "swift-syntax"), .product(name: "SwiftCompilerPlugin", package: "swift-syntax"), ] ), - .testTarget( - name: "MacroToolkitTests", + .target( + name: "MacroToolkitTypes", dependencies: [ - "MacroToolkitExample", - "MacroToolkit", + .target(name: "DiagnosticBuilder"), .product(name: "SwiftSyntax", package: "swift-syntax"), .product(name: "SwiftSyntaxMacros", package: "swift-syntax"), - .product(name: "SwiftSyntaxMacrosTestSupport", package: "swift-syntax"), + .product(name: "SwiftCompilerPlugin", package: "swift-syntax"), ] - ), + ) ] ) diff --git a/Sources/MacroToolkit/Diagnostics.swift b/Sources/DiagnosticBuilder/DiagnosticBuilder.swift similarity index 72% rename from Sources/MacroToolkit/Diagnostics.swift rename to Sources/DiagnosticBuilder/DiagnosticBuilder.swift index 41234df..9cda529 100644 --- a/Sources/MacroToolkit/Diagnostics.swift +++ b/Sources/DiagnosticBuilder/DiagnosticBuilder.swift @@ -2,44 +2,6 @@ import Foundation import SwiftDiagnostics import SwiftSyntax -// Taken from: https://github.com/DougGregor/swift-macro-examples/blob/f61ac7cdca8dc3557e53f86e7e03df1353908d3e/MacroExamplesPlugin/Diagnostics.swift -/// A simple diagnostic with a message, id, and severity. -public struct SimpleDiagnosticMessage: DiagnosticMessage, Error { - /// The human-readable message. - public let message: String - /// The unique diagnostic id (should be the same for all diagnostics produced by the same codepath). - public let diagnosticID: MessageID - /// The diagnostic's severity. - public let severity: DiagnosticSeverity - - /// Creates a new diagnostic message. - public init(message: String, diagnosticID: MessageID, severity: DiagnosticSeverity) { - self.message = message - self.diagnosticID = diagnosticID - self.severity = severity - } -} - -extension SimpleDiagnosticMessage: FixItMessage { - /// The unique fix-it id (should be the same for all fix-its produced by the same codepath). - public var fixItID: MessageID { diagnosticID } -} - -/// A generic macro error. If you are making a widely used macro I'd encourage you -/// to instead provide more detailed diagnostics through the diagnostics API that -/// macros have access to. -public struct MacroError: LocalizedError { - let message: String - - public init(_ message: String) { - self.message = message - } - - public var errorDescription: String? { - message - } -} - /// A way to create rich diagnostics with no unnecessary boilerplate code. Only provide the /// important details and the rest will be given sensible defaults. public struct DiagnosticBuilder { diff --git a/Sources/DiagnosticBuilder/MacroError.swift b/Sources/DiagnosticBuilder/MacroError.swift new file mode 100644 index 0000000..e6eea24 --- /dev/null +++ b/Sources/DiagnosticBuilder/MacroError.swift @@ -0,0 +1,16 @@ +import Foundation + +/// A generic macro error. If you are making a widely used macro I'd encourage you +/// to instead provide more detailed diagnostics through the diagnostics API that +/// macros have access to. +public struct MacroError: LocalizedError { + let message: String + + public init(_ message: String) { + self.message = message + } + + public var errorDescription: String? { + message + } +} diff --git a/Sources/DiagnosticBuilder/SimpleDiagnosticMessage.swift b/Sources/DiagnosticBuilder/SimpleDiagnosticMessage.swift new file mode 100644 index 0000000..923411c --- /dev/null +++ b/Sources/DiagnosticBuilder/SimpleDiagnosticMessage.swift @@ -0,0 +1,24 @@ +import SwiftDiagnostics + +// Taken from: https://github.com/DougGregor/swift-macro-examples/blob/f61ac7cdca8dc3557e53f86e7e03df1353908d3e/MacroExamplesPlugin/Diagnostics.swift +/// A simple diagnostic with a message, id, and severity. +public struct SimpleDiagnosticMessage: DiagnosticMessage, Error { + /// The human-readable message. + public let message: String + /// The unique diagnostic id (should be the same for all diagnostics produced by the same codepath). + public let diagnosticID: MessageID + /// The diagnostic's severity. + public let severity: DiagnosticSeverity + + /// Creates a new diagnostic message. + public init(message: String, diagnosticID: MessageID, severity: DiagnosticSeverity) { + self.message = message + self.diagnosticID = diagnosticID + self.severity = severity + } +} + +extension SimpleDiagnosticMessage: FixItMessage { + /// The unique fix-it id (should be the same for all fix-its produced by the same codepath). + public var fixItID: MessageID { diagnosticID } +} diff --git a/Sources/MacroToolkit/Exports.swift b/Sources/MacroToolkit/Exports.swift new file mode 100644 index 0000000..9b80868 --- /dev/null +++ b/Sources/MacroToolkit/Exports.swift @@ -0,0 +1,2 @@ +@_exported import DiagnosticBuilder +@_exported import MacroToolkitTypes diff --git a/Sources/MacroToolkit/ArrayType.swift b/Sources/MacroToolkitTypes/ArrayType.swift similarity index 100% rename from Sources/MacroToolkit/ArrayType.swift rename to Sources/MacroToolkitTypes/ArrayType.swift diff --git a/Sources/MacroToolkit/Attribute.swift b/Sources/MacroToolkitTypes/Attribute.swift similarity index 100% rename from Sources/MacroToolkit/Attribute.swift rename to Sources/MacroToolkitTypes/Attribute.swift diff --git a/Sources/MacroToolkit/AttributeListElement.swift b/Sources/MacroToolkitTypes/AttributeListElement.swift similarity index 100% rename from Sources/MacroToolkit/AttributeListElement.swift rename to Sources/MacroToolkitTypes/AttributeListElement.swift diff --git a/Sources/MacroToolkit/BooleanLiteral.swift b/Sources/MacroToolkitTypes/BooleanLiteral.swift similarity index 100% rename from Sources/MacroToolkit/BooleanLiteral.swift rename to Sources/MacroToolkitTypes/BooleanLiteral.swift diff --git a/Sources/MacroToolkit/ClassRestrictionType.swift b/Sources/MacroToolkitTypes/ClassRestrictionType.swift similarity index 100% rename from Sources/MacroToolkit/ClassRestrictionType.swift rename to Sources/MacroToolkitTypes/ClassRestrictionType.swift diff --git a/Sources/MacroToolkit/CompositionType.swift b/Sources/MacroToolkitTypes/CompositionType.swift similarity index 100% rename from Sources/MacroToolkit/CompositionType.swift rename to Sources/MacroToolkitTypes/CompositionType.swift diff --git a/Sources/MacroToolkit/ConditionalCompilationBlock.swift b/Sources/MacroToolkitTypes/ConditionalCompilationBlock.swift similarity index 100% rename from Sources/MacroToolkit/ConditionalCompilationBlock.swift rename to Sources/MacroToolkitTypes/ConditionalCompilationBlock.swift diff --git a/Sources/MacroToolkit/Decl.swift b/Sources/MacroToolkitTypes/Decl.swift similarity index 100% rename from Sources/MacroToolkit/Decl.swift rename to Sources/MacroToolkitTypes/Decl.swift diff --git a/Sources/MacroToolkit/DeclGroup.swift b/Sources/MacroToolkitTypes/DeclGroup.swift similarity index 100% rename from Sources/MacroToolkit/DeclGroup.swift rename to Sources/MacroToolkitTypes/DeclGroup.swift diff --git a/Sources/MacroToolkit/Destructuring.swift b/Sources/MacroToolkitTypes/Destructuring.swift similarity index 100% rename from Sources/MacroToolkit/Destructuring.swift rename to Sources/MacroToolkitTypes/Destructuring.swift diff --git a/Sources/MacroToolkitTypes/Diagnostics.swift b/Sources/MacroToolkitTypes/Diagnostics.swift new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Sources/MacroToolkitTypes/Diagnostics.swift @@ -0,0 +1 @@ + diff --git a/Sources/MacroToolkit/DictionaryType.swift b/Sources/MacroToolkitTypes/DictionaryType.swift similarity index 100% rename from Sources/MacroToolkit/DictionaryType.swift rename to Sources/MacroToolkitTypes/DictionaryType.swift diff --git a/Sources/MacroToolkit/Enum.swift b/Sources/MacroToolkitTypes/Enum.swift similarity index 100% rename from Sources/MacroToolkit/Enum.swift rename to Sources/MacroToolkitTypes/Enum.swift diff --git a/Sources/MacroToolkit/EnumCase.swift b/Sources/MacroToolkitTypes/EnumCase.swift similarity index 100% rename from Sources/MacroToolkit/EnumCase.swift rename to Sources/MacroToolkitTypes/EnumCase.swift diff --git a/Sources/MacroToolkit/EnumCaseAssociatedValueParameter.swift b/Sources/MacroToolkitTypes/EnumCaseAssociatedValueParameter.swift similarity index 100% rename from Sources/MacroToolkit/EnumCaseAssociatedValueParameter.swift rename to Sources/MacroToolkitTypes/EnumCaseAssociatedValueParameter.swift diff --git a/Sources/MacroToolkit/EnumCaseValue.swift b/Sources/MacroToolkitTypes/EnumCaseValue.swift similarity index 100% rename from Sources/MacroToolkit/EnumCaseValue.swift rename to Sources/MacroToolkitTypes/EnumCaseValue.swift diff --git a/Sources/MacroToolkit/Expr.swift b/Sources/MacroToolkitTypes/Expr.swift similarity index 100% rename from Sources/MacroToolkit/Expr.swift rename to Sources/MacroToolkitTypes/Expr.swift diff --git a/Sources/MacroToolkit/ExprProtocol.swift b/Sources/MacroToolkitTypes/ExprProtocol.swift similarity index 100% rename from Sources/MacroToolkit/ExprProtocol.swift rename to Sources/MacroToolkitTypes/ExprProtocol.swift diff --git a/Sources/MacroToolkit/FloatLiteral.swift b/Sources/MacroToolkitTypes/FloatLiteral.swift similarity index 100% rename from Sources/MacroToolkit/FloatLiteral.swift rename to Sources/MacroToolkitTypes/FloatLiteral.swift diff --git a/Sources/MacroToolkit/Function.swift b/Sources/MacroToolkitTypes/Function.swift similarity index 100% rename from Sources/MacroToolkit/Function.swift rename to Sources/MacroToolkitTypes/Function.swift diff --git a/Sources/MacroToolkit/FunctionParameter.swift b/Sources/MacroToolkitTypes/FunctionParameter.swift similarity index 100% rename from Sources/MacroToolkit/FunctionParameter.swift rename to Sources/MacroToolkitTypes/FunctionParameter.swift diff --git a/Sources/MacroToolkit/FunctionType.swift b/Sources/MacroToolkitTypes/FunctionType.swift similarity index 100% rename from Sources/MacroToolkit/FunctionType.swift rename to Sources/MacroToolkitTypes/FunctionType.swift diff --git a/Sources/MacroToolkit/ImplicitlyUnwrappedOptionalType.swift b/Sources/MacroToolkitTypes/ImplicitlyUnwrappedOptionalType.swift similarity index 100% rename from Sources/MacroToolkit/ImplicitlyUnwrappedOptionalType.swift rename to Sources/MacroToolkitTypes/ImplicitlyUnwrappedOptionalType.swift diff --git a/Sources/MacroToolkit/IntegerLiteral.swift b/Sources/MacroToolkitTypes/IntegerLiteral.swift similarity index 100% rename from Sources/MacroToolkit/IntegerLiteral.swift rename to Sources/MacroToolkitTypes/IntegerLiteral.swift diff --git a/Sources/MacroToolkit/LiteralProtocol.swift b/Sources/MacroToolkitTypes/LiteralProtocol.swift similarity index 100% rename from Sources/MacroToolkit/LiteralProtocol.swift rename to Sources/MacroToolkitTypes/LiteralProtocol.swift diff --git a/Sources/MacroToolkit/MacroAttribute.swift b/Sources/MacroToolkitTypes/MacroAttribute.swift similarity index 100% rename from Sources/MacroToolkit/MacroAttribute.swift rename to Sources/MacroToolkitTypes/MacroAttribute.swift diff --git a/Sources/MacroToolkit/MemberType.swift b/Sources/MacroToolkitTypes/MemberType.swift similarity index 100% rename from Sources/MacroToolkit/MemberType.swift rename to Sources/MacroToolkitTypes/MemberType.swift diff --git a/Sources/MacroToolkit/MetatypeType.swift b/Sources/MacroToolkitTypes/MetatypeType.swift similarity index 100% rename from Sources/MacroToolkit/MetatypeType.swift rename to Sources/MacroToolkitTypes/MetatypeType.swift diff --git a/Sources/MacroToolkit/MissingType.swift b/Sources/MacroToolkitTypes/MissingType.swift similarity index 100% rename from Sources/MacroToolkit/MissingType.swift rename to Sources/MacroToolkitTypes/MissingType.swift diff --git a/Sources/MacroToolkit/NilLiteral.swift b/Sources/MacroToolkitTypes/NilLiteral.swift similarity index 100% rename from Sources/MacroToolkit/NilLiteral.swift rename to Sources/MacroToolkitTypes/NilLiteral.swift diff --git a/Sources/MacroToolkit/OptionalType.swift b/Sources/MacroToolkitTypes/OptionalType.swift similarity index 100% rename from Sources/MacroToolkit/OptionalType.swift rename to Sources/MacroToolkitTypes/OptionalType.swift diff --git a/Sources/MacroToolkit/PackExpansionType.swift b/Sources/MacroToolkitTypes/PackExpansionType.swift similarity index 100% rename from Sources/MacroToolkit/PackExpansionType.swift rename to Sources/MacroToolkitTypes/PackExpansionType.swift diff --git a/Sources/MacroToolkit/PackReferenceType.swift b/Sources/MacroToolkitTypes/PackReferenceType.swift similarity index 100% rename from Sources/MacroToolkit/PackReferenceType.swift rename to Sources/MacroToolkitTypes/PackReferenceType.swift diff --git a/Sources/MacroToolkit/RegexLiteral.swift b/Sources/MacroToolkitTypes/RegexLiteral.swift similarity index 100% rename from Sources/MacroToolkit/RegexLiteral.swift rename to Sources/MacroToolkitTypes/RegexLiteral.swift diff --git a/Sources/MacroToolkit/SimpleType.swift b/Sources/MacroToolkitTypes/SimpleType.swift similarity index 100% rename from Sources/MacroToolkit/SimpleType.swift rename to Sources/MacroToolkitTypes/SimpleType.swift diff --git a/Sources/MacroToolkit/SomeOrAnyType.swift b/Sources/MacroToolkitTypes/SomeOrAnyType.swift similarity index 100% rename from Sources/MacroToolkit/SomeOrAnyType.swift rename to Sources/MacroToolkitTypes/SomeOrAnyType.swift diff --git a/Sources/MacroToolkit/String+Extensions.swift b/Sources/MacroToolkitTypes/String+Extensions.swift similarity index 100% rename from Sources/MacroToolkit/String+Extensions.swift rename to Sources/MacroToolkitTypes/String+Extensions.swift diff --git a/Sources/MacroToolkit/StringLiteral.swift b/Sources/MacroToolkitTypes/StringLiteral.swift similarity index 100% rename from Sources/MacroToolkit/StringLiteral.swift rename to Sources/MacroToolkitTypes/StringLiteral.swift diff --git a/Sources/MacroToolkit/Struct.swift b/Sources/MacroToolkitTypes/Struct.swift similarity index 100% rename from Sources/MacroToolkit/Struct.swift rename to Sources/MacroToolkitTypes/Struct.swift diff --git a/Sources/MacroToolkit/SuppressedType.swift b/Sources/MacroToolkitTypes/SuppressedType.swift similarity index 100% rename from Sources/MacroToolkit/SuppressedType.swift rename to Sources/MacroToolkitTypes/SuppressedType.swift diff --git a/Sources/MacroToolkit/SwiftSyntax+Extensions.swift b/Sources/MacroToolkitTypes/SwiftSyntax+Extensions.swift similarity index 100% rename from Sources/MacroToolkit/SwiftSyntax+Extensions.swift rename to Sources/MacroToolkitTypes/SwiftSyntax+Extensions.swift diff --git a/Sources/MacroToolkit/TupleType.swift b/Sources/MacroToolkitTypes/TupleType.swift similarity index 100% rename from Sources/MacroToolkit/TupleType.swift rename to Sources/MacroToolkitTypes/TupleType.swift diff --git a/Sources/MacroToolkit/Type.swift b/Sources/MacroToolkitTypes/Type.swift similarity index 100% rename from Sources/MacroToolkit/Type.swift rename to Sources/MacroToolkitTypes/Type.swift diff --git a/Sources/MacroToolkit/TypeProtocol.swift b/Sources/MacroToolkitTypes/TypeProtocol.swift similarity index 100% rename from Sources/MacroToolkit/TypeProtocol.swift rename to Sources/MacroToolkitTypes/TypeProtocol.swift diff --git a/Sources/MacroToolkit/Variable.swift b/Sources/MacroToolkitTypes/Variable.swift similarity index 100% rename from Sources/MacroToolkit/Variable.swift rename to Sources/MacroToolkitTypes/Variable.swift diff --git a/Sources/MacroToolkit/VariableBinding.swift b/Sources/MacroToolkitTypes/VariableBinding.swift similarity index 100% rename from Sources/MacroToolkit/VariableBinding.swift rename to Sources/MacroToolkitTypes/VariableBinding.swift