Max Brunsfeld and Antonio Scandurra
520cbfb955
Read file's mtime in background when getting a FileHandle
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-05-12 20:13:56 -07:00
Max Brunsfeld
4910bc50c6
Merge branch 'master' into file-changed-on-disk
2021-05-12 16:20:03 -07:00
Nathan Sobo
a3be5595dd
Pass a handle to the current view model when spawning
...
Most of the time, we'll want a way to get a reference back to the current view or model, so this facilitates that common case.
2021-05-12 15:28:59 -06:00
Nathan Sobo and Max Brunsfeld
fa6bd1f926
Introduce AsyncAppContext and simplify spawning
...
Now when you call spawn in various context, you pass an FnOnce that is called with an AsyncAppContext and returns a static future. This allows you to write async code similar to how our tests work, borrowing the guts of the AsyncAppContext when needed to interact, but using normal async await semantics instead of callbacks.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-05-12 15:16:49 -06:00
Antonio Scandurra and Max Brunsfeld
ab04d71508
Use gpui::test in async tests in zed
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-05-12 18:20:49 +02:00
Antonio Scandurra
ac2168f1bd
Update mtime and is_deleted when saving/loading a file
2021-05-12 14:34:56 +02:00
Max Brunsfeld
040189db3c
Add basic handling for buffer's files changing on disk
2021-05-11 16:18:29 -07:00
Antonio Scandurra and Nathan Sobo
de6376ca80
Mark FileHandle as not deleted right after saving it
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 17:26:26 +02:00
Antonio Scandurra and Nathan Sobo
45b41465e1
Don't consider scan as being complete until its state is Idle
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 16:54:01 +02:00
Antonio Scandurra and Nathan Sobo
d8f7054f28
Fix saving files in single-file worktrees
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 16:46:22 +02:00
Antonio Scandurra and Nathan Sobo
02bd9c8420
Make sure next_scan_complete resolves
...
Sometimes the scan state could change so quickly that the consumer
wouldn't notice that it ever went to a scanning state before going back
to an idle state, hence never resolving.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 16:06:12 +02:00
Max Brunsfeld and Nathan Sobo
ff5561d402
Fix management of buffers' dirty state
...
* Don't consider files deleted if they just haven't been scanned yet.
* Consider a buffer dirty if its file has been deleted.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 15:37:01 +02:00
Max Brunsfeld
e32b6bc8f8
Merge branch 'master' into new-file
2021-05-07 10:10:20 -07:00
Antonio Scandurra and Nathan Sobo
e8179f7e3e
Always provide a context to sum tree's methods
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-06 19:29:38 +02:00
Antonio Scandurra
652fc9e4ec
Remove add_summary_with_ctx and always require a ctx in add_summary
2021-05-06 16:57:47 +02:00
Antonio Scandurra
901525bf77
Implement FoldMap's folds using a SumTree
...
This required passing a `Context` object to `Summary` and introducing a
new `SeekDimension` trait that allows comparing two dimensions and pass
an additional context object.
2021-05-06 16:20:23 +02:00
Antonio Scandurra
7fb7a6adfc
Add a Summary trait in preparation of passing a context struct
2021-05-06 09:32:14 +02:00
Max Brunsfeld
bf28aba1a7
Restore Buffer::file field and workspace::Item trait
2021-05-05 18:08:18 -07:00
Max Brunsfeld
78a5d0a378
Maintain workspace buffers state after saving untitled buffer
2021-05-05 13:12:51 -07:00
Max Brunsfeld
5fd084ec09
Start work on creating and saving new files
2021-05-04 19:04:11 -07:00
Nathan Sobo and Max Brunsfeld
ed28bd3f95
Combine Workspace and WorkspaceView
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-05-03 20:15:55 -06:00
Nathan Sobo and Max Brunsfeld
afb623b6b5
Make Workspace::open_entry2, which returns a dyn ItemViewHandle
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-05-03 16:25:18 -06:00
Max Brunsfeld
8cffa8bdb2
Move file handle from buffer to buffer view
2021-04-29 17:47:06 -07:00
Max Brunsfeld
b126938af7
In file finder, handle single-file worktrees & multiple matches w/ same rel path
2021-04-29 12:44:51 -07:00
Max Brunsfeld
88b88a8067
Start work on opening files
2021-04-28 17:46:27 -07:00
Nathan Sobo
e423a49984
Traverse symlinks when populating directories
2021-04-28 14:16:54 -06:00
Max Brunsfeld and Antonio Scandurra
21cfb75a73
Flush redundant fs events in worktree test
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-04-28 12:42:39 -07:00
Max Brunsfeld and Nathan Sobo
55fcc586bc
Cancel outstanding fuzzy-matching calls before starting a new one
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-26 16:14:43 -07:00
Max Brunsfeld
733dc15c32
Ignore .git directories
2021-04-26 15:46:06 -07:00
Max Brunsfeld
e7c594262f
Fix handling of uppercase characters in fuzzy finding
2021-04-26 15:04:26 -07:00
Nathan Sobo
870925e2ac
Rerender tabs when buffers' file handles change
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-26 14:16:35 -07:00
Max Brunsfeld and Nathan Sobo
9753e67410
Update filehandle paths when renames occur
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-26 12:56:13 -07:00
6535304da8
WIP: Start on updating file handles
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-26 20:10:15 +02:00
Antonio Scandurra
111d98d6c1
Keep ignore status up-to-date as events are processed
2021-04-26 17:55:18 +02:00
Nathan Sobo
f770a70929
WIP: Maintain an IgnoreStack while scanning
...
All ignore files associated with ancestors of the directory currently being scanned are included in the stack. This allows us to compute ignore status for each entry as we initially scan it. If we encounter an ignored directory, we replace the stack with an "ignore all" variant that simply ignores every descendant of the ignored directory.
This is incomplete. We still need to construct an ignore stack in an appropriate state when rescanning subtrees in response to events. It also doesn't deal with individual ignore files being added, removed, or changed. I think we could potentially use the ignore stack while reconstructing the tree for this purpose.
2021-04-24 23:59:03 -06:00
Antonio Scandurra
9cd1d5e607
Avoid cloning entry in Snapshot::entry_for_path
2021-04-24 10:14:17 +02:00
Max Brunsfeld and Nathan Sobo
6a7308b87a
Avoid storing redundant copies of file paths
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-23 21:17:26 -07:00
Max Brunsfeld and Nathan Sobo
054203d21c
Fix fuzzy matching after removing root dirname from stored paths
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-23 15:22:47 -07:00
Nathan Sobo and Max Brunsfeld
dced9469f5
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-23 12:47:23 -06:00
Nathan Sobo and Max Brunsfeld
c9d7249305
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-23 11:37:23 -06:00
Antonio Scandurra and Nathan Sobo
ec2e1c3045
Rename PathSearch::Sibling to PathSearch::Successor
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-23 17:15:04 +02:00
Antonio Scandurra
8f2fc079fd
Restructure Worktree to index entries by path
2021-04-23 15:25:59 +02:00
Max Brunsfeld and Nathan Sobo
ae5f02d2e9
Use getmntinfo(3) to list mounted volumes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-22 15:41:03 -07:00
Max Brunsfeld and Nathan Sobo
b37b047400
Start work on excluding separate mount dirs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-22 14:11:46 -07:00
Max Brunsfeld and Nathan Sobo
3e44a0adae
Avoid redundant clearing of descendants when scanning dirs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-22 10:30:47 -07:00
b2e7a2c42a
Log when there's an error while scanning a directory
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-22 19:15:37 +02:00
99f51c0d85
Simulate .gitignores in the randomized test
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-22 18:57:46 +02:00
928ce0eec8
Clear descendants of existing children when scanning a directory
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-22 18:42:11 +02:00
Antonio Scandurra
9723e46af4
Replace linear scan of entries with a custom FileIter
2021-04-22 17:29:36 +02:00
Antonio Scandurra
c429a937be
Remove is_ignored from PathEntry and lean more on the tree instead
2021-04-22 16:49:11 +02:00