diff --git a/CodeEdit/Features/Welcome/Views/RecentProjectsListView.swift b/CodeEdit/Features/Welcome/Views/RecentProjectsListView.swift index 084b1231a3..0350a7fd33 100644 --- a/CodeEdit/Features/Welcome/Views/RecentProjectsListView.swift +++ b/CodeEdit/Features/Welcome/Views/RecentProjectsListView.swift @@ -6,6 +6,7 @@ // import SwiftUI +import CoreSpotlight struct RecentProjectsListView: View { @@ -25,6 +26,7 @@ struct RecentProjectsListView: View { let projectsURL = recentProjectPaths.map { URL(filePath: $0) } _selection = .init(initialValue: Set(projectsURL.prefix(1))) _recentProjects = .init(initialValue: projectsURL) + donateSearchableItems() } var listEmptyView: some View { @@ -118,4 +120,22 @@ struct RecentProjectsListView: View { let projectsURL = recentProjectPaths.map { URL(filePath: $0) } recentProjects = projectsURL } + + func donateSearchableItems() { + let searchableItems = recentProjects.map { entity in + let attributeSet = CSSearchableItemAttributeSet(contentType: .content) + attributeSet.title = entity.lastPathComponent + attributeSet.relatedUniqueIdentifier = entity.path() + return CSSearchableItem( + uniqueIdentifier: entity.path(), + domainIdentifier: "app.codeedit.CodeEdit.ProjectItem", + attributeSet: attributeSet + ) + } + CSSearchableIndex.default().indexSearchableItems(searchableItems) { error in + if let error = error { + print(error) + } + } + } }