Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare to sync other kinds of settings #18616

Merged
merged 1 commit into from
Oct 2, 2024
Merged

Conversation

SomeoneToIgnore
Copy link
Contributor

@SomeoneToIgnore SomeoneToIgnore commented Oct 2, 2024

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

@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label Oct 2, 2024

This comment has been minimized.

@SomeoneToIgnore SomeoneToIgnore merged commit 778dede into main Oct 2, 2024
10 checks passed
@SomeoneToIgnore SomeoneToIgnore deleted the kb/more-workspace-sync branch October 2, 2024 19:00
schpet added a commit to schpet/zed that referenced this pull request Oct 3, 2024
* upstream/main: (76 commits)
  Remove a debug dev config line (zed-industries#18689)
  Update Rust crate thiserror to v1.0.64 (zed-industries#18677)
  Add command palette action name to outline panel docs (zed-industries#18678)
  Add basic outline panel docs (zed-industries#18674)
  ssh: Add session state indicator to title bar (zed-industries#18645)
  Update Rust crate clap to v4.5.19 (zed-industries#18660)
  Sort dependencies in `Cargo.toml` files (zed-industries#18657)
  collab: Revert changes to Clickhouse event rows (zed-industries#18654)
  Replace isahc with async ureq (zed-industries#18414)
  Update cloudflare/wrangler-action digest to 168bc28 (zed-industries#18651)
  Prepare to sync other kinds of settings (zed-industries#18616)
  editor: Ensure proposed changes editor is syntax-highlighted when opened (zed-industries#18648)
  language: Update buffer doc comments (zed-industries#18646)
  Revert "Fix blurry cursor on Wayland at a scale other than 100%" (zed-industries#18642)
  Tweak warning diagnostic toggle (zed-industries#18637)
  Adjust spacing and sizing of buffer search bar icon buttons (zed-industries#18638)
  docs: Add missing UI font settings to "Configuring Zed" (zed-industries#18267)
  Use `const` over `static` for string literals (zed-industries#18635)
  docs: Add FIPS mode error to Linux troubleshooting (zed-industries#18407)
  v0.157.x dev
  ...
noaccOS pushed a commit to noaccOS/zed that referenced this pull request Oct 19, 2024
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-signed The user has signed the Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant