Antonio Scandurra
6994f91b65
Merge pull request #59 from zed-industries/more-resilient-fs-events
...
Use `flush_fs_events` more after performing synchronous fs mutations
2021-05-13 10:42:58 +02:00
Antonio Scandurra
1e11afd43e
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
a27ba01aed
Merge pull request #54 from zed-industries/file-changed-on-disk
...
Handle buffers' files changing on disk from outside of Zed
2021-05-12 20:19:39 -07:00
Max Brunsfeld and Antonio Scandurra
368d8723ab
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
9e54aa6471
Merge branch 'master' into file-changed-on-disk
2021-05-12 20:08:09 -07:00
Max Brunsfeld
ba6bcd9a33
Merge pull request #57 from zed-industries/dropped-entities
...
Fix panic when an entity's ref count is decremented to 0 and then is incremented again
2021-05-12 20:03:24 -07:00
Max Brunsfeld
97cc639825
Remove dropped entities even if there are no effects to flush
2021-05-12 19:45:45 -07:00
Nathan Sobo
018d30cc00
Don't remove entities whose ref count has become positive again
2021-05-12 19:29:17 -06:00
Nathan Sobo
d9392243f9
Remove dropped entities after every effect
2021-05-12 19:28:48 -06:00
Max Brunsfeld
a053c3b5a0
Allow a longer timeout in buffer conflict test
2021-05-12 16:20:22 -07:00
Max Brunsfeld
3226435fc5
Merge branch 'master' into file-changed-on-disk
2021-05-12 16:20:03 -07:00
Max Brunsfeld
4a6919960e
Merge pull request #56 from zed-industries/async-ctx
...
Simplify spawning and asynchronous code
2021-05-12 15:35:07 -07:00
Max Brunsfeld
4d075c38e0
Remove commented-out tests for spawn and spawn_stream
2021-05-12 15:27:58 -07:00
Nathan Sobo
a792e53401
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
f39e101ae2
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
Max Brunsfeld
1eafa99c62
Merge pull request #55 from zed-industries/test-macros
...
Introduce a `gpui::test` macro for less ceremony when writing tests
2021-05-12 10:19:46 -07:00
Antonio Scandurra and Max Brunsfeld
78f4e93215
Use gpui::test for tests in gpui
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-05-12 18:21:32 +02:00
Antonio Scandurra and Max Brunsfeld
d6002dcc81
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
630049eb8d
Use gpui::test macro for synchronous tests in zed
2021-05-12 17:18:23 +02:00
Antonio Scandurra
ba47eafe25
Introduce a gpui::test macro
2021-05-12 17:05:03 +02:00
Antonio Scandurra
ed49b0ea34
Test prompting when saving while there's a conflict
2021-05-12 15:21:50 +02:00
Antonio Scandurra
6da1aa4dc7
Update mtime and is_deleted when saving/loading a file
2021-05-12 14:34:56 +02:00
Antonio Scandurra
236ffaa1ad
Make MutableAppContext::prompt private
...
...as we're supposed to call this method only via ViewContext.
2021-05-12 11:57:05 +02:00
Antonio Scandurra
aa68b290c4
Display prompt when trying to save a conflicting file
2021-05-12 11:54:48 +02:00
Max Brunsfeld
31242dc757
Use a different tab icon color for buffers with conflicts
2021-05-11 16:59:31 -07:00
Max Brunsfeld
6e72836a3d
Add basic handling for buffer's files changing on disk
2021-05-11 16:18:29 -07:00
Max Brunsfeld
2daa7eadf0
Add failing test for buffer detecting on-disk changes
2021-05-11 11:38:10 -07:00
Antonio Scandurra and Nathan Sobo
f29a2003eb
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
8de74d3f4a
Add a basic tab keybinding
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 17:10:37 +02:00
Antonio Scandurra
c821419a98
Merge pull request #48 from zed-industries/file-deletion
...
Fix management of buffers' dirty state
2021-05-11 17:00:44 +02:00
Antonio Scandurra and Nathan Sobo
5a1e9adb6d
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
eb7fc67c42
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
2d56da5259
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
7e18d30ac0
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
d2965909dd
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
f2e9bb741a
Merge pull request #51 from zed-industries/add-cursors-and-cancel-selections
...
Implement `add_selection_above`, `add_selection_below` and `cancel`
2021-05-11 13:02:37 +02:00
Antonio Scandurra
35f3fadbd7
💄
2021-05-11 12:43:24 +02:00
Antonio Scandurra
a05eb7431d
Bind add_selection_{above,below} to cmd-alt-{up,down}
2021-05-11 12:37:30 +02:00
Antonio Scandurra
f31e25988d
Add test for add_selection_above and add_selection_below
2021-05-11 12:35:27 +02:00
Antonio Scandurra
3c064f11b9
Add test for BufferView::cancel
2021-05-11 12:35:27 +02:00
Antonio Scandurra
f90af79a65
Split multi-line selection when starting a new columnar selection
2021-05-11 12:35:27 +02:00
Antonio Scandurra and Nathan Sobo
f96f46f452
Keep only one selection when starting to add selections above/below
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 12:35:27 +02:00
Antonio Scandurra and Nathan Sobo
cc887eba7f
Rename add_cursor_{above,below} to add_selection_{above, below}
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 12:35:27 +02:00
Antonio Scandurra and Nathan Sobo
8d5542de57
Support undo of adding cursor above by adding cursor below and viceversa
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 12:35:27 +02:00
Antonio Scandurra and Nathan Sobo
3abf986823
Empty last selection on cancel
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-11 12:35:27 +02:00
Antonio Scandurra
9ba791a255
Implement cancel for buffer
2021-05-11 12:35:27 +02:00
Antonio Scandurra
53e62a0fa0
Implement add_cursor_above and add_cursor_below for buffer
2021-05-11 12:35:27 +02:00
Max Brunsfeld
a47ab53ee3
Merge pull request #47 from zed-industries/macos-10-compat
...
Ensure that the bundle runs on macOS versions < 11.0
2021-05-10 14:10:33 -07:00
Max Brunsfeld
e099025466
Ensure that the bundle runs on macOS versions < 11.0
2021-05-10 14:14:04 -06:00
Nathan Sobo
0ea30dca56
Merge pull request #40 from zed-industries/close-window
...
Correctly handle closing windows and removing entities
2021-05-08 09:06:54 -06:00