Commit Graph
39175 Commits
Author SHA1 Message Date
Nathan Sobo 00985420cb 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 ae9fae29f1 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 54b913ae1a 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 75cbf5a4c3 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 4f5c74ae73 Update new buffers with existing diagnostics in Project – after assigning language 2022-01-22 08:46:37 -07:00
Antonio Scandurra 59162ef9fb Simplify opening buffers in the Project and assign language synchronously 2022-01-22 11:34:44 +01:00
Antonio Scandurra 41100c4439 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 9d088c0b76 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 5528a3043f 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 ab44402642 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 f0e920274e Remove worktree_id from buffer-related RPC messages 2022-01-21 16:23:39 -08:00
Max Brunsfeld a40c2d866c Move main worktree structs adjacent to each other 2022-01-21 16:10:26 -08:00
Max BrunsfeldandNathan Sobo 8d9db1f304 Move buffers from worktree to project
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-21 15:46:27 -08:00
Max Brunsfeld c34e77f670 Remove UserStore from Worktree 2022-01-21 12:37:44 -08:00
Max Brunsfeld d019b10349 Change integration tests to open buffers via the project 2022-01-21 12:23:17 -08:00
Nathan SoboandMax Brunsfeld 2758bd9d36 v0.13.0
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-21 11:26:32 -07:00
Nathan Sobo 2c3d6755fa Merge pull request #354 from zed-industries/go-to-definition
Go to definition
2022-01-21 11:24:19 -07:00
Nathan SoboandMax Brunsfeld be95502ba3 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 e9e76ee3ed Merge remote-tracking branch 'origin/main' into go-to-definition 2022-01-21 11:12:38 -07:00
Nathan Sobo 5e45a8f1aa Revert "Replace project_path with project_entry in workspace::{Item, ItemView}"
This reverts commit c5fe187527.
2022-01-21 11:07:10 -07:00
Nathan SoboandAntonio Scandurra b053a7103b 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 4b656d7d91 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 1548886a29 Hide weak worktrees in the file finder
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-21 14:39:35 +01:00
Antonio ScandurraandNathan Sobo e2badda58f Remove weak handles when worktree gets dropped
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-21 14:34:14 +01:00
Antonio ScandurraandNathan Sobo 620b6bd990 Allow observing the release of entities
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-21 14:34:14 +01:00
Antonio Scandurra ba96ca0b1b Remove weak worktrees from project when nobody references them
Also, avoid showing them in the project panel as well as in the
contacts panel.
2022-01-21 14:34:14 +01:00
Antonio Scandurra 6042bf0744 Unregister worktree when its last handle to it gets released 2022-01-21 14:34:14 +01:00
Nathan Sobo a58caa2eb9 Disable the nav history when selecting a definition in a different buffer
When jumping between different buffers, we don't care about the cursor's previous location. When navigating backward, we want to jump directly to the site of the jump.
2022-01-20 21:33:16 -07:00
Nathan Sobo 5963952347 Merge pull request #355 from zed-industries/activate-existing-windows
Move window to the foreground when opening a path in an existing workspace
2022-01-20 21:14:56 -07:00
Nathan Sobo 8daf3ad771 When opening a path in an existing window, move it to the foreground 2022-01-20 20:45:30 -07:00
a8684fe004 Make navigation history work with project diagnostics
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-01-20 18:21:48 +01:00
Antonio Scandurra 3c1b7e26c9 WIP 2022-01-20 18:11:37 +01:00
Antonio ScandurraandNathan Sobo 5229abd541 Center selections when going to definition
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-20 17:33:07 +01:00
Antonio ScandurraandNathan Sobo ade37e946c Make "go to definition" work in project diagnostics
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-20 17:30:30 +01:00
Antonio ScandurraandNathan Sobo 88cc335db3 Change GoToDefinition binding to F12
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-20 15:43:02 +01:00
Antonio Scandurra 390bf8adb7 🎨 2022-01-20 15:26:10 +01:00
Antonio Scandurra b7b59c94fa WIP: Start on a GoToDefinition action for the editor 2022-01-20 12:26:04 +01:00
Antonio Scandurra 911d6f708c Start on Project::definition that only works locally (for now) 2022-01-20 12:11:41 +01:00
Antonio Scandurra 9e52506098 Advertise link capability in LSP 2022-01-20 12:10:01 +01:00
Antonio Scandurra 95f2e7b36c Omit worktree id when emitting Event::DiskBasedDiagnosticsUpdated
Sometimes we will have more than one worktree associated with the same
language server and in that case it's unclear which worktree id we should
report an event for.
2022-01-20 10:13:27 +01:00
Antonio Scandurra ef78225a5d Return a Task<Result<()>> in {ItemView,Buffer,MultiBuffer}::save 2022-01-20 09:58:24 +01:00
Antonio Scandurra 897e0b4a7a Return a task from Workspace::save_active_item
This required changing our approach to OS prompts and this commit greatly
simplifies that. We now avoid passing a callback and return a simple future
instead. This lets callers spawn tasks to handle those futures.
2022-01-20 09:51:29 +01:00
Max Brunsfeld 7d9d20a661 Get tests passing, centralize more diagnostic logic in Project 2022-01-19 16:32:55 -08:00
Max Brunsfeld 09719a0bfc Always open buffers via the project 2022-01-19 14:48:54 -08:00
Max Brunsfeld 575def57db Move logic for starting language servers to the project 2022-01-19 14:05:06 -08:00
Antonio Scandurra 7ad9b2b0d7 WIP 2022-01-19 19:28:41 +01:00
Antonio Scandurra 87e844a6f0 Remove unused languages field from LocalWorktree 2022-01-19 18:46:17 +01:00
Antonio ScandurraandMax Brunsfeld 841827f873 Route save_as via the Project
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-01-19 18:44:48 +01:00
Antonio Scandurra a2822f54bb Remove unused languages field on LocalWorktree 2022-01-19 17:27:00 +01:00
Antonio Scandurra c5fe187527 Replace project_path with project_entry in workspace::{Item, ItemView} 2022-01-19 15:56:04 +01:00