Antonio Scandurra
e48973f75a
Start on a SumTree-based Rope implementation
2021-05-14 11:33:39 +02:00
Max Brunsfeld and Nathan Sobo
9aeb35bfab
Get tests passing using a slow rightmost_point impl
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-13 11:54:29 -07:00
d8f7b35dca
Fix concurrent editing in buffer after using ropes
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-13 19:59:01 +02:00
Antonio Scandurra and Max Brunsfeld
39c56b75ed
Get local buffer usage working with ropes
...
Randomized tests for remote edits are still not passing.
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-05-13 19:48:55 +02:00
Antonio Scandurra and Max Brunsfeld
7b98fb33dd
WIP: Get the type checker passing...
...
...but not the borrow checker!
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-05-13 19:24:03 +02:00
Antonio Scandurra and Nathan Sobo
0e9441e5cd
WIP
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-13 18:35:48 +02:00
Antonio Scandurra
37f0ba9586
Increase timeout for fs-dependent conditions
2021-05-13 11:38:39 +02:00
Antonio Scandurra
4884a05a73
Change buffer atomically when reloading from disk
2021-05-13 11:26:11 +02:00
Antonio Scandurra
19f51bc480
Rely more on conditions for state derived after worktree changes
2021-05-13 11:25:29 +02:00
Antonio Scandurra
eea9cb47fd
Use flush_fs_events more after performing synchronous fs mutations
...
I am not sure I have caught all the examples of this, but in general
I think we always want to perform a `flush_fs_events` as opposed to
`next_scan_complete` when doing synchronous I/O. Indeed, the file
system may inform us about the events caused by the just-performed
I/O over multiple batches, and `next_scan_complete` may return
before seeing all of them.
Note that this also removes a few assertions which were ensuring
that, on start, a worktree's file handle wouldn't know its deleted
status, even if the file didn't exist for sure on disk. However,
now that `file` is an async API, it's possible that by the time the
`FileHandle` is resolved, `Worktree` has already completed scanning.
We test a similar behavior further along in the test where those
assertions were removed, so it felt okay to proceed without them.
2021-05-13 10:25:16 +02:00
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
c757b3f46e
Allow a longer timeout in buffer conflict test
2021-05-12 16:20:22 -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
1c2b381f74
Use gpui::test macro for synchronous tests in zed
2021-05-12 17:18:23 +02:00
Max Brunsfeld
c54a49e5d1
Use a different tab icon color for buffers with conflicts
2021-05-11 16:59:31 -07:00
Max Brunsfeld
040189db3c
Add basic handling for buffer's files changing on disk
2021-05-11 16:18:29 -07:00
Max Brunsfeld
d5218fbac5
Add failing test for buffer detecting on-disk changes
2021-05-11 11:38:10 -07:00
Antonio Scandurra and Nathan Sobo
d8eed53f13
Emit Dirtied event when a clean buffer's file is deleted
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 16:32:52 +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
Antonio Scandurra
143c50f321
Implement cancel for buffer
2021-05-11 12:35:27 +02:00
Antonio Scandurra
0baff0c61d
Implement add_cursor_above and add_cursor_below for buffer
2021-05-11 12:35:27 +02:00
Max Brunsfeld
e32b6bc8f8
Merge branch 'master' into new-file
2021-05-07 10:10:20 -07:00
Max Brunsfeld
e6323f0d02
Fix handling of new files with new buffer/file structure
2021-05-06 21:06: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
Max Brunsfeld
490fb485fd
Merge branch 'master' into new-file
2021-05-06 09:19:16 -07: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
47d03498f4
Wait to update bufferview's file handle until save has completed
2021-05-05 11:05:50 -07:00
Antonio Scandurra
10aef856e3
Merge branch 'master' into move-lines-folds
2021-05-05 09:58:34 +02:00
Antonio Scandurra and Nathan Sobo
05ab1bdddf
Synchronize FoldMap with buffer's contents lazily
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-04 18:27:56 +02:00
Nathan Sobo and Max Brunsfeld
b801628230
Clean up
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-05-03 16:33:13 -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
88b88a8067
Start work on opening files
2021-04-28 17:46:27 -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
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
Nathan Sobo and Max Brunsfeld
c9d7249305
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-04-23 11:37:23 -06:00
Nathan Sobo
358fad8242
Replace the old worktree with the new one
2021-04-15 21:02:30 -06:00
Nathan Sobo
db8cce9aa9
Merge branch 'master' into rescan
2021-04-14 22:26:09 -06:00
Nathan Sobo and Antonio Scandurra
cbc1d83067
Get worktree out of the way so we can try again
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-04-14 11:09:06 -06:00
Antonio Scandurra and Nathan Sobo
f4538e9eb5
Generalize pasting when number of selections doesn't match clipboard's
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-04-14 19:02:44 +02:00
Antonio Scandurra
40980edffe
Merge branch 'master' into copy-paste
2021-04-14 12:05:52 +02:00
Nathan Sobo
24cdfd2471
Identify Worktree entries by their inode
...
This will allow us to re-parent elements when re-scanning when the file system changes.
2021-04-13 20:09:41 -06:00
Nathan Sobo and Brooks Swinnerton
0a2d2aa684
Replace app/app_mut on contexts with AsRef/AsMut impls
...
Co-Authored-By: Brooks Swinnerton <934497+bswinnerton@users.noreply.github.com >
2021-04-13 20:07:25 -06:00