Skip to content

Conversation

@Wouter01
Copy link
Member

@Wouter01 Wouter01 commented Jun 20, 2023

Description

Rewrite of the file handling system.

The current file handling system starts to get slow for larger projects. This is noticeable to the user by the slow startup times of codeedit, slower file moving in larger projects, etc. A new file handling system is added which is more performant. It also makes more use of the capabilities of NSDocument, simplyfying things.

Related Issues

Checklist

  • I read and understood the contributing guide as well as the code of conduct
  • The issues this PR addresses are related to each other
  • My changes generate no new warnings
  • My code builds and runs on my machine
  • My changes are all related to the related issue above
  • I documented my code

Screenshots

Wouter01 added 10 commits June 19, 2023 14:48
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
@Wouter01 Wouter01 changed the title Filemanager actor Improved File Handling System Jun 20, 2023
@Rachmaye
Copy link

Wowzer

Wouter01 added 7 commits June 20, 2023 12:54
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
import AppKit
import SwiftUI

protocol Resource: AnyObject, Identifiable {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wondering on whether the term Resource is too arbitrary

Copy link
Member Author

@Wouter01 Wouter01 Jun 20, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to suggest better names :) I chose this because it's used a lot throughout the codebase and is memorizable (compared to, for example, CEWorkspaceFile)

Copy link
Member Author

@Wouter01 Wouter01 Jun 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apple's docs also refer to filesystem items as resources

Wouter01 added 10 commits June 21, 2023 03:19
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>

# Conflicts:
#	CodeEdit/Features/InspectorSidebar/InspectorSidebarView.swift
#	CodeEdit/Features/NavigatorSidebar/OutlineView/FileSystemTableViewCell.swift
#	CodeEdit/Features/NavigatorSidebar/ProjectNavigator/OutlineView/ProjectNavigatorTableViewCell.swift
#	CodeEdit/Features/NavigatorSidebar/ProjectNavigator/OutlineView/ProjectNavigatorViewController+OutlineTableViewCellDelegate.swift
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>

# Conflicts:
#	CodeEdit/Features/Documents/Views/WorkspaceCodeFileView.swift
#	CodeEdit/Features/InspectorSidebar/Views/FileInspectorView.swift
#	CodeEdit/Features/NavigatorSidebar/ProjectNavigator/OutlineView/ProjectNavigatorViewController.swift
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Wouter01 added 8 commits June 25, 2023 03:03
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
Signed-off-by: Wouter01 <wouterhennen@gmail.com>
@austincondiff
Copy link
Collaborator

What is the status of this PR?

@Wouter01
Copy link
Member Author

What is the status of this PR?

It's 80% done, but I currently don't have the time to resume working on it

@austincondiff
Copy link
Collaborator

austincondiff commented Aug 16, 2023

So close! That is okay, I totally understand. Do you have any idea when you might get the time in the future? Depending, it may be best to close this for the time being and reopen when that time comes. What do you think?

@Wouter01
Copy link
Member Author

So close! That is okay, I totally understand. Do you have any idea when you might get the time in the future? Depending, it may be best to close this for the time being and reopen when that time comes. What do you think?

Maybe in September, but I can't promise anything 😅. It's fine for me to close this PR for now, but it's probably best that a linked issue is created so the work doesn't get lost. Also, branches are removed from time to time, so I'm hoping this one doesn't get deleted. I have a local copy though

@austincondiff
Copy link
Collaborator

In that case, we can keep this PR open. It may help to keep it updated from time to time though so you don't end up with major conflicts down the road.

@thecoolwinter
Copy link
Collaborator

Closing this as discussed with @Wouter01. This will be implemented but the current fork is too far behind CE to be merged without a lot of pain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants