zed/crates/proto
Kirill Bulatov 778dedec6c
Prepare to sync other kinds of settings (#18616)
This PR does not change how things work for settings, but lays the
ground work for the future functionality.
After this change, Zed is prepared to sync more than just
`settings.json` files from local worktree and user config.

* ssh tasks

Part of this work is to streamline the task sync mechanism.
Instead of having an extra set of requests to fetch the task contents
from the server (as remote-via-collab does now and does not cover all
sync cases), we want to reuse the existing mechanism for synchronizing
user and local settings.

* editorconfig

Part of the task is to sync .editorconfig file changes to everyone which
involves sending and storing those configs.


Both ssh (and remove-over-collab) .zed/tasks.json and .editorconfig
files behave similar to .zed/settings.json local files: they belong to a
certain path in a certain worktree; may update over time, changing Zed's
functionality; can be merged hierarchically.
Settings sync follows the same "config file changed -> send to watchers
-> parse and merge locally and on watchers" path that's needed for both
new kinds of files, ergo the messaging layer is extended to send more
types of settings for future watch & parse and merge impls to follow.

Release Notes:

- N/A
2024-10-02 22:00:40 +03:00
..
proto Prepare to sync other kinds of settings (#18616) 2024-10-02 22:00:40 +03:00
src Remove old project search code path, bump min-supported zed version for collaboration (#18404) 2024-09-26 12:10:39 -07:00
build.rs Allow rpc_url to be assigned on Client with test-support feature (#13430) 2024-07-10 13:36:22 -06:00
Cargo.toml Move ProtoClient to RPC crate, behind feature flag disabled in collab (#17908) 2024-09-16 14:50:30 -07:00
LICENSE-GPL Add missing LICENSE file to proto crate (#12863) 2024-06-10 15:35:37 -04:00