ZIm/crates/project/src
Max Brunsfeld a2115e7242
Restructure git diff state management to allow viewing buffers with different diff bases (#21258)
This is a pure refactor of our Git diff state management. Buffers are no
longer are associated with one single diff (the unstaged changes).
Instead, there is an explicit project API for retrieving a buffer's
unstaged changes, and the `Editor` view layer is responsible for
choosing what diff to associate with a buffer.

The reason for this change is that we'll soon want to add multiple "git
diff views" to Zed, one of which will show the *uncommitted* changes for
a buffer. But that view will need to co-exist with other views of the
same buffer, which may want to show the unstaged changes.

### Todo

* [x] Get git gutter and git hunks working with new structure
* [x] Update editor tests to use new APIs
* [x] Update buffer tests
* [x] Restructure remoting/collab protocol
* [x] Update assertions about staged text in
`random_project_collaboration_tests`
* [x] Move buffer tests for git diff management to a new spot, using the
new APIs

Release Notes:

- N/A

---------

Co-authored-by: Richard <richard@zed.dev>
Co-authored-by: Cole <cole@zed.dev>
Co-authored-by: Conrad <conrad@zed.dev>
2024-12-04 15:02:33 -08:00
..
lsp_command use ssh lsp store (#17655) 2024-09-10 15:51:01 -04:00
buffer_store.rs Restructure git diff state management to allow viewing buffers with different diff bases (#21258) 2024-12-04 15:02:33 -08:00
color_extractor.rs Show color swatches for LSP completions (#18665) 2024-10-03 14:38:17 -04:00
connection_manager.rs chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
debounced_delay.rs chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
direnv.rs Environment loading fixes (#19144) 2024-10-16 12:14:40 +02:00
environment.rs environment: Log stderr too if command fails to run (#20659) 2024-11-14 14:44:32 +01:00
image_store.rs Fix item closing overly triggering save dialogues (#21374) 2024-12-01 01:48:31 +02:00
lsp_command.rs Properly use lsp::CompletionList defaults (#21202) 2024-11-26 12:23:38 +02:00
lsp_ext_command.rs lsp: Retrieve links to documentation for the given symbol (#19233) 2024-11-16 20:23:49 +02:00
lsp_store.rs Regenerate completion labels on resolve (#21521) 2024-12-04 23:37:24 +02:00
prettier_store.rs language servers: Fix wrong language server name (#20428) 2024-11-11 10:18:38 +01:00
project.rs Restructure git diff state management to allow viewing buffers with different diff bases (#21258) 2024-12-04 15:02:33 -08:00
project_settings.rs language servers: Fix wrong language server name (#20428) 2024-11-11 10:18:38 +01:00
project_tests.rs Restructure git diff state management to allow viewing buffers with different diff bases (#21258) 2024-12-04 15:02:33 -08:00
search.rs search: Treat non-word char as whole-char when searching (#19152) 2024-11-28 11:06:48 +02:00
search_history.rs project search: Persist search history across session (#9932) 2024-04-02 11:13:18 +02:00
task_inventory.rs tasks: Add ability to query active toolchains for languages (#20667) 2024-11-14 14:37:37 +01:00
task_store.rs tasks: Add ability to query active toolchains for languages (#20667) 2024-11-14 14:37:37 +01:00
terminals.rs Enable toolchain venv in new terminals (#21388) 2024-12-03 16:24:30 +01:00
toolchain_store.rs toolchains: Run listing tasks on background thread (#21414) 2024-12-02 21:03:31 +01:00
worktree_store.rs Better absolute path handling (#19727) 2024-11-27 20:22:58 +02:00
yarn.rs chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00