Skip to content

Commit

Permalink
Update project description, update format to automatically remove Col…
Browse files Browse the repository at this point in the history
…or keyword from variable names (#18)
  • Loading branch information
jjotaum authored Aug 10, 2024
1 parent d696be7 commit 7cbf9d6
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 15 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down
2 changes: 1 addition & 1 deletion Sources/Chroma/App/Framework.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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)}"
}
Expand Down
20 changes: 10 additions & 10 deletions Tests/ChromaTests/FileGeneratorTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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)}"
]
}
}
Expand Down
6 changes: 3 additions & 3 deletions Tests/ChromaTests/FrameworkTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [
Expand Down

0 comments on commit 7cbf9d6

Please sign in to comment.