Commit Graph
3952 Commits
Author SHA1 Message Date
Antonio Scandurra 7e55353de8 Show error code in diagnostic header 2022-01-25 15:23:58 +01:00
Antonio Scandurra ec0ca2a1b6 Display icon next to primary message 2022-01-25 15:15:03 +01:00
Antonio Scandurra e7ec016350 Restyle diagnostic headers 2022-01-25 12:23:24 +01:00
Max Brunsfeld b319bda70d Merge pull request #363 from zed-industries/remote-go-to-definition
Make go-to-definition work for guests
2022-01-24 17:25:57 -08:00
Max BrunsfeldandNathan Sobo 0cfb9ff1ae Add random delays in FakeFs
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-24 16:50:38 -08:00
Max BrunsfeldandNathan Sobo 2b8685c1a2 Insert random delays when sending and receiving websocket messages in tests
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-24 16:37:22 -08:00
Nathan SoboandMax Brunsfeld d241ab6370 Don't store operations for remote buffers we haven't yet opened
This used to be needed, but we think with our improvements to message ordering that we'll never miss operations that were applied after opening a remote buffer.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-24 17:33:46 -07:00
Nathan SoboandMax Brunsfeld afa33c958b Clear shared buffers when unsharing projects
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-24 17:24:07 -07:00
Nathan SoboandMax Brunsfeld 469ee554a0 Get most tests passing when respecting wake order for foreground tasks in Deterministic executor
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-24 17:13:56 -07:00
Antonio Scandurra b7314ef2aa WIP: Start restructuring executor 2022-01-24 18:49:20 +01:00
Antonio Scandurra 96b66dcce1 Fix race condition when opening a buffer and getting a definition to it 2022-01-24 18:47:55 +01:00
Antonio Scandurra 93125cbd16 Remove executor::Foreground::Test
All code paths have already transitioned to `Foreground::Deterministic`.
2022-01-24 16:14:30 +01:00
Antonio Scandurra dabab6e323 Verify simultaneously opening buffers via definition and open_buffer
This fails because we don't yet handle this scenario.
2022-01-24 15:08:04 +01:00
Antonio Scandurra a762f575f4 Add remote worktree to project before it is fully deserialized
This prevents a race condition where the host will send us messages and
responses about a worktree that we have seen but haven't yet finished loading.
2022-01-24 14:00:38 +01:00
Antonio Scandurra 245490f934 Implement Project::definition when the buffer is remote 2022-01-24 13:10:13 +01:00
Antonio Scandurra 528a4dd9b4 Fix regression causing guests to miss operations while opening a buffer 2022-01-24 11:28:46 +01:00
Antonio Scandurra 5403ab3fd2 Merge pull request #360 from zed-industries/improve-files
Improve remote file handling
2022-01-24 10:27:01 +01:00
Antonio Scandurra f859d444ff Don't show conflict indicator on remote buffer after a reload 2022-01-24 10:17:36 +01:00
Antonio Scandurra 4372fe1ed0 Maintain remote buffers via UpdateBufferFile messages sent by host 2022-01-24 09:32:40 +01:00
Nathan Sobo da13d028a3 Send File protos as part of Buffer protos
Use the File proto to build the File associated with the buffer rather than relying on the local entry.
2022-01-22 22:19:04 -07:00
Nathan Sobo 66fce5ec8e Introduce LocalFile trait
If you want to call `abs_path` or `load`, the file needs to be local. You call `as_local` which returns `Option<dyn LocalFile>` with those local-only methods. I think this makes it more explicit what works only locally vs everywhere.
2022-01-22 15:52:14 -07:00
Nathan Sobo ea9c5b0686 💄 2022-01-22 15:30:38 -07:00
Nathan Sobo 506ce8e032 Introduce LocalSnapshot
This allows us to remove the absolute path and scan-related state from the Snapshot. None of this data is relevant or valid on guests.
2022-01-22 15:19:14 -07:00
Nathan Sobo d192b6ebc7 Remove Worktree::abs_path
I'd like to only have methods related to absolute paths on local worktrees, because it's not really possible to implement them on remote worktrees since we don't know the full path being shared and wouldn't have anything to do with it anyway if we did.
2022-01-22 14:44:58 -07:00
Nathan Sobo e2a2073bdb Remove worktree_path from File struct 2022-01-22 14:29:36 -07:00
Nathan Sobo 2a6f06f18a Merge pull request #359 from zed-industries/defer
Fix panic in ProjectDiagnosticsEditor::open_excerpts by introducing new defer feature to GPUI
2022-01-22 13:44:29 -07:00
Nathan Sobo e61a5b172c Defer pane interaction when opening excerpts in diagnostics view
Activating a new item causes the current item to be deactivated. We're the current item, but we're on the stack, so we panic if we try to do this synchronously. If we use defer to wait until we're off the stack it works.
2022-01-22 13:23:08 -07:00
Nathan Sobo b755b2d602 Add ViewHandle::defer
It's like update, but happens after the current effect instead of synchronously. Also, it doesn't allow the callback to return a value because there would be nothing to do with it.
2022-01-22 13:21:59 -07:00
Nathan Sobo 8b04c5d3ac Add a ViewContext::defer
This takes a closure that will be enqueued as an effect to ensure there are no entities on the stack.
2022-01-22 13:14:25 -07:00
Nathan Sobo b1931fbf5d Merge pull request #358 from zed-industries/move-buffers-to-project
Move buffers to project
2022-01-22 12:52:26 -07:00
Nathan Sobo 83418204b6 Assign diagnostics on buffer even if it doesn't have a language
This shouldn't be necessary in practice but makes testing easier.
2022-01-22 09:54:25 -07:00
Nathan Sobo 8bf628c17b Update new buffers with existing diagnostics in Project – after assigning language 2022-01-22 08:46:37 -07:00
Antonio Scandurra 2773cab4ec Simplify opening buffers in the Project and assign language synchronously 2022-01-22 11:34:44 +01:00
Antonio Scandurra 31dfd01fda Make add_local_worktree private and use find_or_create_local_worktree
The former always adds a worktree, even if we have one already in the
project and that could be misused. The public API should always search
for a local worktree containing the requested path first so that the
project can uphold invariants about which worktrees it has.
2022-01-22 11:23:00 +01:00
Max BrunsfeldandNathan Sobo 622aff3be2 Get diagnostics crate's tests passing
Update diagnostics on project instead of on worktree

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-21 18:02:10 -08:00
Max BrunsfeldandNathan Sobo 2712cadaf6 Get integration tests passing
* Fix misuse of guest buffer's id as its remote id

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-21 17:44:24 -08:00
Max BrunsfeldandNathan Sobo f1fc0bde99 Flush effects after every spawned future completes
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-21 17:43:24 -08:00
Max Brunsfeld 34e42c0c5f Remove worktree_id from buffer-related RPC messages 2022-01-21 16:23:39 -08:00
Max Brunsfeld 03dc1e5aea Move main worktree structs adjacent to each other 2022-01-21 16:10:26 -08:00
Max BrunsfeldandNathan Sobo bd49a02c92 Move buffers from worktree to project
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-21 15:46:27 -08:00
Max Brunsfeld 7de26302ec Remove UserStore from Worktree 2022-01-21 12:37:44 -08:00
Max Brunsfeld 6751bd9d78 Change integration tests to open buffers via the project 2022-01-21 12:23:17 -08:00
Nathan SoboandMax Brunsfeld a578d71ea2 v0.13.0
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-21 11:26:32 -07:00
Nathan Sobo 9506f211c3 Merge pull request #354 from zed-industries/go-to-definition
Go to definition
2022-01-21 11:24:19 -07:00
Nathan SoboandMax Brunsfeld 3ecb7e81f1 Remove panic when guest attempts to go to definition
We'll implement this soon but want to merge something stable to main.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-21 11:24:05 -07:00
Nathan Sobo 19751e9200 Merge remote-tracking branch 'origin/main' into go-to-definition 2022-01-21 11:12:38 -07:00
Nathan Sobo a73671e57c Revert "Replace project_path with project_entry in workspace::{Item, ItemView}"
This reverts commit 9c9a09cccb.
2022-01-21 11:07:10 -07:00
Nathan SoboandAntonio Scandurra 1d72e8face Remove source_range from definition
We don't use it now, and plan on dealing with it in a dedicated way when we need mouse hover interactions.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-01-21 07:31:02 -07:00
Antonio ScandurraandNathan Sobo 4698d57ddd Add unit test for Project::definition
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-21 15:05:25 +01:00
Antonio ScandurraandNathan Sobo 64f5a45397 Hide weak worktrees in the file finder
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-21 14:39:35 +01:00