Skip to content

Commit e0009d2

Browse files
authored
fix 'Open Quickly' fatal error (#1793)
* fix open quickly fatal error * create `String+escapedWhiteSpaces.swift` * create `Collection+subscript_safe.swift`
1 parent fd3917a commit e0009d2

5 files changed

Lines changed: 46 additions & 14 deletions

File tree

CodeEdit.xcodeproj/project.pbxproj

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,8 @@
325325
61A53A812B4449F00093BF8A /* WorkspaceDocument+Index.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61A53A802B4449F00093BF8A /* WorkspaceDocument+Index.swift */; };
326326
661EF7B82BEE215300C3E577 /* ImageFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 661EF7B72BEE215300C3E577 /* ImageFileView.swift */; };
327327
661EF7BD2BEE215300C3E577 /* LoadingFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 661EF7BC2BEE215300C3E577 /* LoadingFileView.swift */; };
328+
669A50512C380C1800304CD8 /* String+escapedWhiteSpaces.swift in Sources */ = {isa = PBXBuildFile; fileRef = 669A50502C380C1800304CD8 /* String+escapedWhiteSpaces.swift */; };
329+
669A50532C380C8E00304CD8 /* Collection+subscript_safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 669A50522C380C8E00304CD8 /* Collection+subscript_safe.swift */; };
328330
664935422C35A5BC00461C35 /* NSTableViewWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 664935412C35A5BC00461C35 /* NSTableViewWrapper.swift */; };
329331
6653EE552C34817900B82DE2 /* QuickSearchResultLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6653EE542C34817900B82DE2 /* QuickSearchResultLabel.swift */; };
330332
669BC4082BED306400D1197C /* AnyFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 669BC4072BED306400D1197C /* AnyFileView.swift */; };
@@ -946,6 +948,8 @@
946948
661EF7BC2BEE215300C3E577 /* LoadingFileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingFileView.swift; sourceTree = "<group>"; };
947949
664935412C35A5BC00461C35 /* NSTableViewWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSTableViewWrapper.swift; sourceTree = "<group>"; };
948950
6653EE542C34817900B82DE2 /* QuickSearchResultLabel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuickSearchResultLabel.swift; sourceTree = "<group>"; };
951+
669A50502C380C1800304CD8 /* String+escapedWhiteSpaces.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+escapedWhiteSpaces.swift"; sourceTree = "<group>"; };
952+
669A50522C380C8E00304CD8 /* Collection+subscript_safe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Collection+subscript_safe.swift"; sourceTree = "<group>"; };
949953
669BC4072BED306400D1197C /* AnyFileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyFileView.swift; sourceTree = "<group>"; };
950954
66AF6CE12BF17CC300D83C9D /* StatusBarViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusBarViewModel.swift; sourceTree = "<group>"; };
951955
66AF6CE32BF17F6800D83C9D /* StatusBarFileInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StatusBarFileInfoView.swift; sourceTree = "<group>"; };
@@ -2339,6 +2343,7 @@
23392343
58D01C87293167DC00C5B6B4 /* Extensions */ = {
23402344
isa = PBXGroup;
23412345
children = (
2346+
669A504F2C380BFD00304CD8 /* Collection */,
23422347
6C82D6C429C0129E00495C54 /* NSApplication */,
23432348
77A01E922BCA9C0400F0EA38 /* NSWindow */,
23442349
588847672992AAB800996D95 /* Array */,
@@ -2363,6 +2368,7 @@
23632368
58D01C8D293167DC00C5B6B4 /* String+RemoveOccurrences.swift */,
23642369
58D01C8C293167DC00C5B6B4 /* String+SHA256.swift */,
23652370
85745D622A38F8D900089AAB /* String+HighlightOccurrences.swift */,
2371+
669A50502C380C1800304CD8 /* String+escapedWhiteSpaces.swift */,
23662372
);
23672373
path = String;
23682374
sourceTree = "<group>";
@@ -2546,6 +2552,14 @@
25462552
path = Views;
25472553
sourceTree = "<group>";
25482554
};
2555+
669A504F2C380BFD00304CD8 /* Collection */ = {
2556+
isa = PBXGroup;
2557+
children = (
2558+
669A50522C380C8E00304CD8 /* Collection+subscript_safe.swift */,
2559+
);
2560+
path = Collection;
2561+
sourceTree = "<group>";
2562+
};
25492563
66AF6CE02BF17CB100D83C9D /* ViewModels */ = {
25502564
isa = PBXGroup;
25512565
children = (
@@ -3952,6 +3966,7 @@
39523966
B65B10F52B081A0C002852CF /* SourceControlAddRemoteView.swift in Sources */,
39533967
58D01C99293167DC00C5B6B4 /* String+MD5.swift in Sources */,
39543968
20EBB505280C329800F3A5DA /* CommitListItemView.swift in Sources */,
3969+
669A50512C380C1800304CD8 /* String+escapedWhiteSpaces.swift in Sources */,
39553970
5878DAB2291D627C00DD95A3 /* EditorPathBarView.swift in Sources */,
39563971
664935422C35A5BC00461C35 /* NSTableViewWrapper.swift in Sources */,
39573972
04BC1CDE2AD9B4B000A83EA5 /* EditorFileTabCloseButton.swift in Sources */,
@@ -3994,6 +4009,7 @@
39944009
587B9E8129301D8F00AC7927 /* PublicKey.swift in Sources */,
39954010
611191FE2B08CCD200D4459B /* SearchIndexer+File.swift in Sources */,
39964011
77A01E302BB4270F00F0EA38 /* ProjectCEWorkspaceSettingsView.swift in Sources */,
4012+
669A50532C380C8E00304CD8 /* Collection+subscript_safe.swift in Sources */,
39974013
77A01E2C2BB425B200F0EA38 /* CEWorkspaceSettingsData+TasksSettings.swift in Sources */,
39984014
5B241BF32B6DDBFF0016E616 /* IgnorePatternListItemView.swift in Sources */,
39994015
6CB52DC92AC8DC3E002E75B3 /* CEWorkspaceFileManager+FileManagement.swift in Sources */,

CodeEdit/Features/Git/Client/GitClient.swift

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,3 @@ class GitClient {
7676
return output
7777
}
7878
}
79-
80-
internal extension Collection {
81-
/// Returns the element at the specified index if it is within bounds, otherwise nil.
82-
subscript (safe index: Index) -> Element? {
83-
indices.contains(index) ? self[index] : nil
84-
}
85-
}
86-
87-
internal extension String {
88-
func escapedWhiteSpaces() -> String {
89-
self.replacingOccurrences(of: " ", with: "\\ ")
90-
}
91-
}

CodeEdit/Features/OpenQuickly/Views/NSTableViewWrapper.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ struct NSTableViewWrapper<Content: View, Item: Identifiable & Hashable>: NSViewR
132132

133133
func tableViewSelectionDidChange(_ notification: Notification) {
134134
if let view = notification.object as? NSTableView {
135-
let newSelection = parent.data[view.selectedRow]
135+
let newSelection = parent.data[safe: view.selectedRow]
136136
if newSelection != parent.selection {
137137
parent.selection = newSelection
138138
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
//
2+
// Collection+subscript_safe.swift
3+
// CodeEdit
4+
//
5+
// Created by Paul Ebose on 2024/07/05.
6+
//
7+
8+
import Foundation
9+
10+
extension Collection {
11+
/// Returns the element at the specified index if it is within bounds, otherwise nil.
12+
subscript (safe index: Index) -> Element? {
13+
indices.contains(index) ? self[index] : nil
14+
}
15+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
//
2+
// String+escapedWhiteSpaces.swift
3+
// CodeEdit
4+
//
5+
// Created by Paul Ebose on 2024/07/05.
6+
//
7+
8+
import Foundation
9+
10+
extension String {
11+
func escapedWhiteSpaces() -> String {
12+
self.replacingOccurrences(of: " ", with: "\\ ")
13+
}
14+
}

0 commit comments

Comments
 (0)