diff --git a/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift b/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift index 833996be6..076bea2e2 100644 --- a/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift +++ b/Sources/CodeEditTextView/EmphasisManager/EmphasisManager.swift @@ -233,11 +233,11 @@ public final class EmphasisManager { layer.fillColor = nil layer.opacity = emphasis.flash ? 0.0 : 1.0 layer.zPosition = 1 - case .outline(let color): + case let .outline(color, shouldFill): layer.cornerRadius = 2.5 layer.borderColor = color.cgColor layer.borderWidth = 0.5 - layer.fillColor = nil + layer.fillColor = shouldFill ? color.cgColor : nil layer.opacity = emphasis.flash ? 0.0 : 1.0 layer.zPosition = 1 } diff --git a/Sources/CodeEditTextView/EmphasisManager/EmphasisStyle.swift b/Sources/CodeEditTextView/EmphasisManager/EmphasisStyle.swift index 53fe1f29c..66b32a862 100644 --- a/Sources/CodeEditTextView/EmphasisManager/EmphasisStyle.swift +++ b/Sources/CodeEditTextView/EmphasisManager/EmphasisStyle.swift @@ -14,7 +14,7 @@ public enum EmphasisStyle: Equatable { /// Underline emphasis with a line color case underline(color: NSColor) /// Outline emphasis with a border color - case outline(color: NSColor) + case outline(color: NSColor, fill: Bool = false) public static func == (lhs: EmphasisStyle, rhs: EmphasisStyle) -> Bool { switch (lhs, rhs) { @@ -22,8 +22,8 @@ public enum EmphasisStyle: Equatable { return true case (.underline(let lhsColor), .underline(let rhsColor)): return lhsColor == rhsColor - case (.outline(let lhsColor), .outline(let rhsColor)): - return lhsColor == rhsColor + case let (.outline(lhsColor, lhsFill), .outline(rhsColor, rhsFill)): + return lhsColor == rhsColor && lhsFill == rhsFill default: return false } diff --git a/Sources/CodeEditTextView/TextView/TextView.swift b/Sources/CodeEditTextView/TextView/TextView.swift index f7537fb99..14ed3914e 100644 --- a/Sources/CodeEditTextView/TextView/TextView.swift +++ b/Sources/CodeEditTextView/TextView/TextView.swift @@ -33,7 +33,7 @@ import TextStory /// [`NSTextInputClient`](https://developer.apple.com/documentation/appkit/nstextinputclient) to work well with system /// text interactions such as inserting text and marked text. /// -public class TextView: NSView, NSTextContent { +open class TextView: NSView, NSTextContent { // MARK: - Statics /// The default typing attributes: @@ -356,7 +356,7 @@ public class TextView: NSView, NSTextContent { setUpDragGesture() } - required init?(coder: NSCoder) { + required public init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") }