@@ -48,8 +48,8 @@ public struct DiffTheme: Equatable, Hashable {
4848
4949// MARK: - Built-in Themes
5050public extension DiffTheme {
51- /// GitHub's default diff colors
52- static let github = DiffTheme (
51+ /// Light theme (GitHub style)
52+ static let light = DiffTheme (
5353 addedBackground: Color ( red: 230 / 255 , green: 255 / 255 , blue: 237 / 255 ) ,
5454 addedText: Color ( red: 34 / 255 , green: 134 / 255 , blue: 58 / 255 ) ,
5555 removedBackground: Color ( red: 255 / 255 , green: 238 / 255 , blue: 240 / 255 ) ,
@@ -64,7 +64,23 @@ public extension DiffTheme {
6464 fileHeaderText: Color ( red: 36 / 255 , green: 41 / 255 , blue: 47 / 255 )
6565 )
6666
67- /// GitLab's default diff colors
67+ /// Dark theme
68+ static let dark = DiffTheme (
69+ addedBackground: Color ( red: 40 / 255 , green: 60 / 255 , blue: 40 / 255 ) ,
70+ addedText: Color ( red: 135 / 255 , green: 215 / 255 , blue: 95 / 255 ) ,
71+ removedBackground: Color ( red: 60 / 255 , green: 40 / 255 , blue: 40 / 255 ) ,
72+ removedText: Color ( red: 245 / 255 , green: 135 / 255 , blue: 145 / 255 ) ,
73+ contextBackground: Color ( red: 30 / 255 , green: 30 / 255 , blue: 30 / 255 ) ,
74+ contextText: Color ( red: 212 / 255 , green: 212 / 255 , blue: 212 / 255 ) ,
75+ lineNumberBackground: Color ( red: 38 / 255 , green: 38 / 255 , blue: 40 / 255 ) ,
76+ lineNumberText: Color ( red: 133 / 255 , green: 133 / 255 , blue: 133 / 255 ) ,
77+ headerBackground: Color ( red: 40 / 255 , green: 40 / 255 , blue: 60 / 255 ) ,
78+ headerText: Color ( red: 156 / 255 , green: 220 / 255 , blue: 254 / 255 ) ,
79+ fileHeaderBackground: Color ( red: 37 / 255 , green: 37 / 255 , blue: 38 / 255 ) ,
80+ fileHeaderText: Color ( red: 204 / 255 , green: 204 / 255 , blue: 204 / 255 )
81+ )
82+
83+ /// GitLab theme
6884 static let gitlab = DiffTheme (
6985 addedBackground: Color ( red: 221 / 255 , green: 244 / 255 , blue: 221 / 255 ) ,
7086 addedText: Color ( red: 24 / 255 , green: 128 / 255 , blue: 56 / 255 ) ,
@@ -80,67 +96,22 @@ public extension DiffTheme {
8096 fileHeaderText: Color ( red: 31 / 255 , green: 30 / 255 , blue: 36 / 255 )
8197 )
8298
83- /// VS Code light theme colors
84- static let vsCodeLight = DiffTheme (
85- addedBackground: Color ( red: 230 / 255 , green: 255 / 255 , blue: 237 / 255 ) ,
86- addedText: Color ( red: 0 / 255 , green: 102 / 255 , blue: 0 / 255 ) ,
87- removedBackground: Color ( red: 255 / 255 , green: 230 / 255 , blue: 230 / 255 ) ,
88- removedText: Color ( red: 153 / 255 , green: 0 / 255 , blue: 0 / 255 ) ,
89- contextBackground: Color . white,
90- contextText: Color . black,
91- lineNumberBackground: Color ( red: 245 / 255 , green: 245 / 255 , blue: 245 / 255 ) ,
92- lineNumberText: Color ( red: 110 / 255 , green: 110 / 255 , blue: 110 / 255 ) ,
93- headerBackground: Color ( red: 230 / 255 , green: 230 / 255 , blue: 255 / 255 ) ,
94- headerText: Color ( red: 0 / 255 , green: 0 / 255 , blue: 153 / 255 ) ,
95- fileHeaderBackground: Color ( red: 240 / 255 , green: 240 / 255 , blue: 240 / 255 ) ,
96- fileHeaderText: Color . black
97- )
99+ /// Default theme (alias for light)
100+ static let `default` = light
98101
99- /// VS Code dark theme colors
100- static let vsCodeDark = DiffTheme (
101- addedBackground: Color ( red: 40 / 255 , green: 60 / 255 , blue: 40 / 255 ) ,
102- addedText: Color ( red: 135 / 255 , green: 215 / 255 , blue: 95 / 255 ) ,
103- removedBackground: Color ( red: 60 / 255 , green: 40 / 255 , blue: 40 / 255 ) ,
104- removedText: Color ( red: 245 / 255 , green: 135 / 255 , blue: 145 / 255 ) ,
105- contextBackground: Color ( red: 30 / 255 , green: 30 / 255 , blue: 30 / 255 ) ,
106- contextText: Color ( red: 212 / 255 , green: 212 / 255 , blue: 212 / 255 ) ,
107- lineNumberBackground: Color ( red: 30 / 255 , green: 30 / 255 , blue: 30 / 255 ) ,
108- lineNumberText: Color ( red: 133 / 255 , green: 133 / 255 , blue: 133 / 255 ) ,
109- headerBackground: Color ( red: 40 / 255 , green: 40 / 255 , blue: 60 / 255 ) ,
110- headerText: Color ( red: 156 / 255 , green: 220 / 255 , blue: 254 / 255 ) ,
111- fileHeaderBackground: Color ( red: 37 / 255 , green: 37 / 255 , blue: 38 / 255 ) ,
112- fileHeaderText: Color ( red: 204 / 255 , green: 204 / 255 , blue: 204 / 255 )
113- )
102+ // Deprecated theme aliases for backward compatibility
103+ @available ( * , deprecated, renamed: " light " )
104+ static let github = light
114105
115- /// Xcode light theme colors
116- static let xcodeLight = DiffTheme (
117- addedBackground: Color ( red: 236 / 255 , green: 253 / 255 , blue: 240 / 255 ) ,
118- addedText: Color ( red: 28 / 255 , green: 70 / 255 , blue: 0 / 255 ) ,
119- removedBackground: Color ( red: 255 / 255 , green: 238 / 255 , blue: 240 / 255 ) ,
120- removedText: Color ( red: 196 / 255 , green: 26 / 255 , blue: 22 / 255 ) ,
121- contextBackground: Color . white,
122- contextText: Color . black,
123- lineNumberBackground: Color ( red: 242 / 255 , green: 242 / 255 , blue: 247 / 255 ) ,
124- lineNumberText: Color ( red: 142 / 255 , green: 142 / 255 , blue: 147 / 255 ) ,
125- headerBackground: Color ( red: 242 / 255 , green: 242 / 255 , blue: 247 / 255 ) ,
126- headerText: Color ( red: 59 / 255 , green: 131 / 255 , blue: 246 / 255 ) ,
127- fileHeaderBackground: Color ( red: 242 / 255 , green: 242 / 255 , blue: 247 / 255 ) ,
128- fileHeaderText: Color . black
129- )
106+ @available ( * , deprecated, message: " Use .light or .dark instead " )
107+ static let vsCodeLight = light
130108
131- /// Xcode dark theme colors
132- static let xcodeDark = DiffTheme (
133- addedBackground: Color ( red: 47 / 255 , green: 74 / 255 , blue: 58 / 255 ) ,
134- addedText: Color ( red: 145 / 255 , green: 220 / 255 , blue: 169 / 255 ) ,
135- removedBackground: Color ( red: 74 / 255 , green: 47 / 255 , blue: 47 / 255 ) ,
136- removedText: Color ( red: 255 / 255 , green: 179 / 255 , blue: 184 / 255 ) ,
137- contextBackground: Color ( red: 28 / 255 , green: 28 / 255 , blue: 30 / 255 ) ,
138- contextText: Color . white,
139- lineNumberBackground: Color ( red: 38 / 255 , green: 38 / 255 , blue: 40 / 255 ) ,
140- lineNumberText: Color ( red: 142 / 255 , green: 142 / 255 , blue: 147 / 255 ) ,
141- headerBackground: Color ( red: 44 / 255 , green: 44 / 255 , blue: 46 / 255 ) ,
142- headerText: Color ( red: 147 / 255 , green: 178 / 255 , blue: 253 / 255 ) ,
143- fileHeaderBackground: Color ( red: 44 / 255 , green: 44 / 255 , blue: 46 / 255 ) ,
144- fileHeaderText: Color . white
145- )
109+ @available ( * , deprecated, message: " Use .light or .dark instead " )
110+ static let vsCodeDark = dark
111+
112+ @available ( * , deprecated, message: " Use .light or .dark instead " )
113+ static let xcodeLight = light
114+
115+ @available ( * , deprecated, message: " Use .light or .dark instead " )
116+ static let xcodeDark = dark
146117}
0 commit comments