From 7cbf9d6d00b231fe1584ba8a2add9cde9ee32352 Mon Sep 17 00:00:00 2001 From: Jota Uribe Date: Sat, 10 Aug 2024 15:54:04 -0500 Subject: [PATCH] Update project description, update format to automatically remove Color keyword from variable names (#18) --- README.md | 2 +- Sources/Chroma/App/Framework.swift | 2 +- Tests/ChromaTests/FileGeneratorTests.swift | 20 ++++++++++---------- Tests/ChromaTests/FrameworkTests.swift | 6 +++--- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index ea83670..8ec0276 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Chroma +Xcode Assets Macros alternative CLI to automatically generate static properties corresponding to color assets on SwiftUI, UIKit or AppKIt projects. -A command line tool to generate .swift extensions or structs files from .xcassets on your UIKit, AppKIt or SwiftUI projects. ### Usage diff --git a/Sources/Chroma/App/Framework.swift b/Sources/Chroma/App/Framework.swift index 7369a97..16bb763 100644 --- a/Sources/Chroma/App/Framework.swift +++ b/Sources/Chroma/App/Framework.swift @@ -60,7 +60,7 @@ extension Framework { } func colorVariable(name: String) -> String? { - let formattedName = name.camelCased().removing(.punctuationCharacters.union(.symbols)) + let formattedName = name.camelCased().removing(.punctuationCharacters.union(.symbols)).replacingOccurrences(of: "Color", with: "") guard !systemReservedVariableNames.contains(formattedName) else { return nil } return " static var \(formattedName): \(variableType) { return \(variableType)(\(parameterName)\"\(name)\") \(defaultValue)}" } diff --git a/Tests/ChromaTests/FileGeneratorTests.swift b/Tests/ChromaTests/FileGeneratorTests.swift index 0c779ae..14445f5 100644 --- a/Tests/ChromaTests/FileGeneratorTests.swift +++ b/Tests/ChromaTests/FileGeneratorTests.swift @@ -160,21 +160,21 @@ extension FileGeneratorTests { switch assetType { case .regular: return [ - " static var exampleColor1: \(variableType) { return \(variableType)(\(framework.parameterName)\"Example Color 1\") \(defaultValue)}", - " static var exampleColor2: \(variableType) { return \(variableType)(\(framework.parameterName)\"exampleColor2\") \(defaultValue)}", - " static var exampleColor3: \(variableType) { return \(variableType)(\(framework.parameterName)\"ExampleColor3\") \(defaultValue)}", - " static var exampleColor4: \(variableType) { return \(variableType)(\(framework.parameterName)\"ExampleColor4-\") \(defaultValue)}" + " static var example1: \(variableType) { return \(variableType)(\(framework.parameterName)\"Example Color 1\") \(defaultValue)}", + " static var example2: \(variableType) { return \(variableType)(\(framework.parameterName)\"exampleColor2\") \(defaultValue)}", + " static var example3: \(variableType) { return \(variableType)(\(framework.parameterName)\"ExampleColor3\") \(defaultValue)}", + " static var example4: \(variableType) { return \(variableType)(\(framework.parameterName)\"ExampleColor4-\") \(defaultValue)}" ] case .withFolders: return [ - " static var rootExampleColor: \(variableType) { return \(variableType)(\(framework.parameterName)\"Root Example Color\") \(defaultValue)}", + " static var rootExample: \(variableType) { return \(variableType)(\(framework.parameterName)\"Root Example Color\") \(defaultValue)}", " // MARK: - Example 1", - " static var exampleColor1: \(variableType) { return \(variableType)(\(framework.parameterName)\"Example Color 1\") \(defaultValue)}", - " static var exampleColor2: \(variableType) { return \(variableType)(\(framework.parameterName)\"exampleColor2\") \(defaultValue)}", - " static var exampleColor3: \(variableType) { return \(variableType)(\(framework.parameterName)\"ExampleColor3\") \(defaultValue)}", - " static var exampleColor4: \(variableType) { return \(variableType)(\(framework.parameterName)\"ExampleColor4-\") \(defaultValue)}", + " static var example1: \(variableType) { return \(variableType)(\(framework.parameterName)\"Example Color 1\") \(defaultValue)}", + " static var example2: \(variableType) { return \(variableType)(\(framework.parameterName)\"exampleColor2\") \(defaultValue)}", + " static var example3: \(variableType) { return \(variableType)(\(framework.parameterName)\"ExampleColor3\") \(defaultValue)}", + " static var example4: \(variableType) { return \(variableType)(\(framework.parameterName)\"ExampleColor4-\") \(defaultValue)}", " // MARK: - SubFolder", - " static var subFolderExampleColor: \(variableType) { return \(variableType)(\(framework.parameterName)\"SubFolder Example Color\") \(defaultValue)}" + " static var subFolderExample: \(variableType) { return \(variableType)(\(framework.parameterName)\"SubFolder Example Color\") \(defaultValue)}" ] } } diff --git a/Tests/ChromaTests/FrameworkTests.swift b/Tests/ChromaTests/FrameworkTests.swift index ef831cb..1d121b5 100644 --- a/Tests/ChromaTests/FrameworkTests.swift +++ b/Tests/ChromaTests/FrameworkTests.swift @@ -25,11 +25,11 @@ final class FrameworkTests: XCTestCase { func test_colorVariable_outputValues() throws { let variableName = "ExampleColor1" var platform: Framework = .AppKit - XCTAssertEqual(platform.colorVariable(name: variableName), " static var exampleColor1: NSColor { return NSColor(named: \"ExampleColor1\") ?? .clear }") + XCTAssertEqual(platform.colorVariable(name: variableName), " static var example1: NSColor { return NSColor(named: \"ExampleColor1\") ?? .clear }") platform = .SwiftUI - XCTAssertEqual(platform.colorVariable(name: variableName), " static var exampleColor1: Color { return Color(\"ExampleColor1\") }") + XCTAssertEqual(platform.colorVariable(name: variableName), " static var example1: Color { return Color(\"ExampleColor1\") }") platform = .UIKit - XCTAssertEqual(platform.colorVariable(name: variableName), " static var exampleColor1: UIColor { return UIColor(named: \"ExampleColor1\") ?? .clear }") + XCTAssertEqual(platform.colorVariable(name: variableName), " static var example1: UIColor { return UIColor(named: \"ExampleColor1\") ?? .clear }") } static var allTests = [