@@ -57,13 +57,24 @@ struct Theme {
57
57
let shadow : NSColor ?
58
58
}
59
59
60
+ extension Theme {
61
+ static var defaultFindHighlightColor : NSColor {
62
+ if #available( OSX 10 . 13 , * ) {
63
+ return NSColor . findHighlightColor
64
+ }
65
+ else {
66
+ return NSColor ( calibratedRed: 1.0 , green: 1.0 , blue: 0.0 , alpha: 1.0 )
67
+ }
68
+ }
69
+ }
70
+
60
71
extension Theme {
61
72
static func defaultTheme( ) -> Theme {
62
73
return Theme ( foreground: . black,
63
74
background: . white,
64
75
caret: . black,
65
76
lineHighlight: nil ,
66
- findHighlights: [ NSColor ( deviceWhite : 0.8 , alpha : 0.4 ) ] ,
77
+ findHighlights: [ Theme . defaultFindHighlightColor ] ,
67
78
findHighlightForeground: nil ,
68
79
gutter: NSColor ( deviceWhite: 0.9 , alpha: 1.0 ) ,
69
80
gutterForeground: NSColor ( deviceWhite: 0.5 , alpha: 1.0 ) ,
@@ -82,7 +93,8 @@ extension Theme {
82
93
let caret = NSColor ( jsonRgbaColor: json [ " caret " ] as? [ String : Any ] ?? [ : ] )
83
94
let line_highlight = NSColor ( jsonRgbaColor: json [ " line_highlight " ] as? [ String : Any ] ?? [ : ] )
84
95
85
- let find_highlight : NSColor ? = NSColor ( jsonRgbaColor: json [ " find_highlight " ] as? [ String : Any ] ?? [ : ] )
96
+ // Use default find highlight color instead of theme's find_highlight value
97
+ let find_highlight : NSColor ? = Theme . defaultFindHighlightColor
86
98
let find_highlight_foreground = NSColor ( jsonRgbaColor: json [ " find_highlight_foreground " ] as? [ String : Any ] ?? [ : ] )
87
99
let gutter = NSColor ( jsonRgbaColor: json [ " gutter " ] as? [ String : Any ] ?? [ : ] )
88
100
let gutter_foreground = NSColor ( jsonRgbaColor: json [ " gutter_foreground " ] as? [ String : Any ] ?? [ : ] )
@@ -100,7 +112,7 @@ extension Theme {
100
112
background: background ?? defaults. background,
101
113
caret: caret ?? defaults. caret,
102
114
lineHighlight: line_highlight ?? defaults. lineHighlight,
103
- findHighlights: Theme . generateHighlightColors ( findHighlight: find_highlight ?? defaults . findHighlights ? . first! ) ,
115
+ findHighlights: Theme . generateHighlightColors ( findHighlight: find_highlight) ,
104
116
findHighlightForeground: find_highlight_foreground ?? defaults. findHighlightForeground,
105
117
gutter: gutter ?? ( background ?? defaults. gutter) ,
106
118
gutterForeground: gutter_foreground ?? defaults. gutterForeground,
@@ -123,7 +135,7 @@ extension Theme {
123
135
// Leave room for default highlight and selection colors
124
136
let customHighlights = Style . N_RESERVED_STYLES - 2
125
137
return [ defaultHighlight] + ( 0 ..< customHighlights) . map ( {
126
- return NSColor ( hue: CGFloat ( ( 1.0 / Double( customHighlights) ) * Double( $0) ) , saturation: 1 , brightness: brightness, alpha: alpha)
138
+ return NSColor ( hue: CGFloat ( ( 1.0 / Double( customHighlights) ) * Double( $0) ) + hue , saturation: 1 , brightness: brightness, alpha: alpha)
127
139
} )
128
140
} )
129
141
}
0 commit comments