Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CodeEdit/Features/Editor/Views/CodeFileView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ struct CodeFileView: View {
var letterSpacing
@AppSettings(\.textEditing.bracketHighlight)
var bracketHighlight
@AppSettings(\.textEditing.useSystemCursor)
var useSystemCursor

@Environment(\.colorScheme)
private var colorScheme
Expand Down Expand Up @@ -121,6 +123,7 @@ struct CodeFileView: View {
isEditable: isEditable,
letterSpacing: letterSpacing,
bracketPairHighlight: bracketPairHighlight,
useSystemCursor: useSystemCursor,
undoManager: undoManager,
coordinators: textViewCoordinators
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ extension SettingsData {
/// The behavior of bracket pair highlights.
var bracketHighlight: BracketPairHighlight = BracketPairHighlight()

/// Use the system cursor for the source editor.
var useSystemCursor: Bool = true

/// Default initializer
init() {
self.populateCommands()
Expand Down Expand Up @@ -97,6 +100,11 @@ extension SettingsData {
BracketPairHighlight.self,
forKey: .bracketHighlight
) ?? BracketPairHighlight()
if #available(macOS 14, *) {
self.useSystemCursor = try container.decodeIfPresent(Bool.self, forKey: .useSystemCursor) ?? true
} else {
self.useSystemCursor = false
}

self.populateCommands()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ struct TextEditingSettingsView: View {
indentOption
defaultTabWidth
wrapLinesToEditorWidth
useSystemCursor
}
Section {
fontSelector
Expand Down Expand Up @@ -71,6 +72,14 @@ private extension TextEditingSettingsView {
Toggle("Wrap lines to editor width", isOn: $textEditing.wrapLinesToEditorWidth)
}

@ViewBuilder private var useSystemCursor: some View {
if #available(macOS 14, *) {
Toggle("Use System Cursor", isOn: $textEditing.useSystemCursor)
} else {
EmptyView()
}
}

@ViewBuilder private var lineHeight: some View {
Stepper(
"Line Height",
Expand Down