2018-08-25 23:22:54 +03:00
|
|
|
/**
|
|
|
|
* Splash
|
|
|
|
* Copyright (c) John Sundell 2018
|
|
|
|
* MIT license - see LICENSE.md
|
|
|
|
*/
|
|
|
|
|
|
|
|
import Foundation
|
|
|
|
|
2018-08-26 00:59:22 +02:00
|
|
|
#if !os(Linux)
|
2018-08-25 23:22:54 +03:00
|
|
|
|
2018-08-26 00:59:22 +02:00
|
|
|
public extension Theme {
|
2018-08-25 23:24:10 +03:00
|
|
|
/// Create a theme matching the "Sundell's Colors" Xcode theme
|
|
|
|
static func sundellsColors(withFont font: Font) -> Theme {
|
|
|
|
return Theme(
|
|
|
|
font: font,
|
|
|
|
plainTextColor: Color(
|
|
|
|
red: 0.66,
|
|
|
|
green: 0.74,
|
|
|
|
blue: 0.74
|
|
|
|
),
|
|
|
|
tokenColors: [
|
2019-03-11 14:52:46 +01:00
|
|
|
.keyword: Color(red: 0.91, green: 0.2, blue: 0.54),
|
|
|
|
.string: Color(red: 0.98, green: 0.39, blue: 0.12),
|
|
|
|
.type: Color(red: 0.51, green: 0.51, blue: 0.79),
|
|
|
|
.call: Color(red: 0.2, green: 0.56, blue: 0.9),
|
|
|
|
.number: Color(red: 0.86, green: 0.44, blue: 0.34),
|
|
|
|
.comment: Color(red: 0.42, green: 0.54, blue: 0.58),
|
|
|
|
.property: Color(red: 0.13, green: 0.67, blue: 0.62),
|
|
|
|
.dotAccess: Color(red: 0.57, green: 0.7, blue: 0),
|
|
|
|
.preprocessing: Color(red: 0.71, green: 0.54, blue: 0)
|
2018-09-23 14:06:09 +02:00
|
|
|
],
|
|
|
|
backgroundColor: Color(
|
|
|
|
red: 0.098,
|
|
|
|
green: 0.098,
|
|
|
|
blue: 0.098
|
|
|
|
)
|
2018-08-25 23:24:10 +03:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2018-08-26 00:59:22 +02:00
|
|
|
/// Create a theme matching Xcode's "Midnight" theme
|
2018-08-25 23:22:54 +03:00
|
|
|
static func midnight(withFont font: Font) -> Theme {
|
|
|
|
return Theme(
|
|
|
|
font: font,
|
|
|
|
plainTextColor: Color(
|
2018-10-09 23:21:35 +02:00
|
|
|
red: 1,
|
|
|
|
green: 1,
|
|
|
|
blue: 1
|
2018-08-25 23:22:54 +03:00
|
|
|
),
|
|
|
|
tokenColors: [
|
2019-03-11 14:52:46 +01:00
|
|
|
.keyword: Color(red: 0.828, green: 0.095, blue: 0.583),
|
|
|
|
.string: Color(red: 1.0, green: 0.171, blue: 0.219),
|
|
|
|
.type: Color(red: 0.137, green: 1.0, blue: 0.512),
|
|
|
|
.call: Color(red: 0.137, green: 1.0, blue: 0.512),
|
|
|
|
.number: Color(red: 0.469, green: 0.426, blue: 1.00),
|
|
|
|
.comment: Color(red: 0.255, green: 0.801, blue: 0.27),
|
|
|
|
.property: Color(red: 0.431, green: 0.714, blue: 0.533),
|
|
|
|
.dotAccess: Color(red: 0.431, green: 0.714, blue: 0.533),
|
|
|
|
.preprocessing: Color(red: 0.896, green: 0.488, blue: 0.284)
|
2018-09-23 14:06:09 +02:00
|
|
|
],
|
|
|
|
backgroundColor: Color(
|
|
|
|
red: 0,
|
|
|
|
green: 0,
|
|
|
|
blue: 0
|
|
|
|
)
|
2018-08-25 23:22:54 +03:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2018-08-26 00:59:22 +02:00
|
|
|
/// Creating a theme matching the colors used for the WWDC 2017 sample code
|
2018-08-25 23:22:54 +03:00
|
|
|
static func wwdc17(withFont font: Font) -> Theme {
|
|
|
|
return Theme(
|
|
|
|
font: font,
|
|
|
|
plainTextColor: Color(
|
|
|
|
red: 0.84,
|
|
|
|
green: 0.84,
|
|
|
|
blue: 0.84
|
|
|
|
),
|
|
|
|
tokenColors: [
|
2019-03-11 14:52:46 +01:00
|
|
|
.keyword: Color(red: 0.992, green: 0.791, blue: 0.45),
|
|
|
|
.string: Color(red: 0.966, green: 0.517, blue: 0.29),
|
|
|
|
.type: Color(red: 0.431, green: 0.714, blue: 0.533),
|
|
|
|
.call: Color(red: 0.431, green: 0.714, blue: 0.533),
|
|
|
|
.number: Color(red: 0.559, green: 0.504, blue: 0.745),
|
|
|
|
.comment: Color(red: 0.484, green: 0.483, blue: 0.504),
|
|
|
|
.property: Color(red: 0.431, green: 0.714, blue: 0.533),
|
|
|
|
.dotAccess: Color(red: 0.431, green: 0.714, blue: 0.533),
|
|
|
|
.preprocessing: Color(red: 0.992, green: 0.791, blue: 0.45)
|
2018-09-23 14:06:09 +02:00
|
|
|
],
|
|
|
|
backgroundColor: Color(
|
2018-10-09 23:21:35 +02:00
|
|
|
red: 0.18,
|
|
|
|
green: 0.19,
|
|
|
|
blue: 0.2
|
2018-09-23 14:06:09 +02:00
|
|
|
)
|
2018-08-25 23:22:54 +03:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2018-08-26 00:59:22 +02:00
|
|
|
/// Creating a theme matching the colors used for the WWDC 2018 sample code
|
2018-08-25 23:22:54 +03:00
|
|
|
static func wwdc18(withFont font: Font) -> Theme {
|
|
|
|
return Theme(
|
|
|
|
font: font,
|
|
|
|
plainTextColor: Color(
|
2018-10-09 23:21:35 +02:00
|
|
|
red: 1,
|
|
|
|
green: 1,
|
|
|
|
blue: 1
|
2018-08-25 23:22:54 +03:00
|
|
|
),
|
|
|
|
tokenColors: [
|
2019-03-11 14:52:46 +01:00
|
|
|
.keyword: Color(red: 0.948, green: 0.140, blue: 0.547),
|
|
|
|
.string: Color(red: 0.988, green: 0.273, blue: 0.317),
|
|
|
|
.type: Color(red: 0.584, green: 0.898, blue: 0.361),
|
|
|
|
.call: Color(red: 0.584, green: 0.898, blue: 0.361),
|
|
|
|
.number: Color(red: 0.587, green: 0.517, blue: 0.974),
|
|
|
|
.comment: Color(red: 0.424, green: 0.475, blue: 0.529),
|
|
|
|
.property: Color(red: 0.584, green: 0.898, blue: 0.361),
|
|
|
|
.dotAccess: Color(red: 0.584, green: 0.898, blue: 0.361),
|
|
|
|
.preprocessing: Color(red: 0.952, green: 0.526, blue: 0.229)
|
2018-09-23 14:06:09 +02:00
|
|
|
],
|
|
|
|
backgroundColor: Color(
|
|
|
|
red: 0.163,
|
|
|
|
green: 0.163,
|
|
|
|
blue: 0.182
|
|
|
|
)
|
2018-08-25 23:22:54 +03:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2018-08-26 00:59:22 +02:00
|
|
|
/// Create a theme matching Xcode's "Sunset" theme
|
2018-08-25 23:22:54 +03:00
|
|
|
static func sunset(withFont font: Font) -> Theme {
|
|
|
|
return Theme(
|
|
|
|
font: font,
|
|
|
|
plainTextColor: Color(
|
2018-10-09 23:21:35 +02:00
|
|
|
red: 0,
|
|
|
|
green: 0,
|
|
|
|
blue: 0
|
2018-08-25 23:22:54 +03:00
|
|
|
),
|
|
|
|
tokenColors: [
|
2019-03-11 14:52:46 +01:00
|
|
|
.keyword: Color(red: 0.161, green: 0.259, blue: 0.467),
|
|
|
|
.string: Color(red: 0.875, green: 0.027, blue: 0.0),
|
|
|
|
.type: Color(red: 0.706, green: 0.27, blue: 0.0),
|
|
|
|
.call: Color(red: 0.278, green: 0.415, blue: 0.593),
|
|
|
|
.number: Color(red: 0.161, green: 0.259, blue: 0.467),
|
|
|
|
.comment: Color(red: 0.765, green: 0.455, blue: 0.11),
|
|
|
|
.property: Color(red: 0.278, green: 0.415, blue: 0.593),
|
|
|
|
.dotAccess: Color(red: 0.278, green: 0.415, blue: 0.593),
|
|
|
|
.preprocessing: Color(red: 0.392, green: 0.391, blue: 0.52)
|
2018-09-23 14:06:09 +02:00
|
|
|
],
|
|
|
|
backgroundColor: Color(
|
2018-10-09 23:21:35 +02:00
|
|
|
red: 1,
|
|
|
|
green: 0.99,
|
|
|
|
blue: 0.9
|
2018-09-23 14:06:09 +02:00
|
|
|
)
|
2018-08-25 23:22:54 +03:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2018-08-26 00:59:22 +02:00
|
|
|
/// Create a theme matching Xcode's "Presentation" theme
|
2018-08-25 23:22:54 +03:00
|
|
|
static func presentation(withFont font: Font) -> Theme {
|
|
|
|
return Theme(
|
|
|
|
font: font,
|
|
|
|
plainTextColor: Color(
|
2018-10-09 23:21:35 +02:00
|
|
|
red: 0,
|
|
|
|
green: 0,
|
|
|
|
blue: 0
|
2018-08-25 23:22:54 +03:00
|
|
|
),
|
|
|
|
tokenColors: [
|
2019-03-11 14:52:46 +01:00
|
|
|
.keyword: Color(red: 0.706, green: 0.0, blue: 0.384),
|
|
|
|
.string: Color(red: 0.729, green: 0.0, blue: 0.067),
|
|
|
|
.type: Color(red: 0.267, green: 0.537, blue: 0.576),
|
|
|
|
.call: Color(red: 0.267, green: 0.537, blue: 0.576),
|
|
|
|
.number: Color(red: 0.0, green: 0.043, blue: 1.0),
|
|
|
|
.comment: Color(red: 0.336, green: 0.376, blue: 0.42),
|
|
|
|
.property: Color(red: 0.267, green: 0.537, blue: 0.576),
|
|
|
|
.dotAccess: Color(red: 0.267, green: 0.537, blue: 0.576),
|
|
|
|
.preprocessing: Color(red: 0.431, green: 0.125, blue: 0.051)
|
2018-09-23 14:06:09 +02:00
|
|
|
],
|
|
|
|
backgroundColor: Color(
|
2018-10-09 23:21:35 +02:00
|
|
|
red: 1,
|
|
|
|
green: 1,
|
|
|
|
blue: 1
|
2018-09-23 14:06:09 +02:00
|
|
|
)
|
2018-08-25 23:22:54 +03:00
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
2018-08-26 00:59:22 +02:00
|
|
|
|
|
|
|
#endif
|