Skip to content

Commit e7561e3

Browse files
Added underscore to selection
1 parent b9c8c1f commit e7561e3

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//
2+
// CharacterSet.swift
3+
// CodeEditTextView
4+
//
5+
// Created by Abe Malla on 3/29/25.
6+
//
7+
8+
import Foundation
9+
10+
extension CharacterSet {
11+
static let codeIdentifierCharacters: CharacterSet = .alphanumerics
12+
.union(.init(charactersIn: "_"))
13+
}

Sources/CodeEditTextView/TextSelectionManager/SelectionManipulation/SelectionManipulation+Horizontal.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,11 @@ package extension TextSelectionManager {
109109

110110
if hasFoundValidWordChar && CharacterSet.punctuationCharacters
111111
.union(.whitespacesAndNewlines)
112+
.subtracting(CharacterSet.codeIdentifierCharacters)
112113
.isSuperset(of: CharacterSet(charactersIn: substring)) {
113114
stop.pointee = true
114115
return
115-
} else if CharacterSet.alphanumerics.isSuperset(of: CharacterSet(charactersIn: substring)) {
116+
} else if CharacterSet.codeIdentifierCharacters.isSuperset(of: CharacterSet(charactersIn: substring)) {
116117
hasFoundValidWordChar = true
117118
}
118119
rangeToDelete.length += substring.count

0 commit comments

Comments
 (0)