mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-23 21:05:08 +00:00
## Context This PR introduces a `base` field for settings profiles to allow profiles to either overlay `user` settings or to overlay `default`, which is simply zed's defaults (user settings are skipped). I'm not entirely sure I love `default` because it's a bit confusing (there's a setting called `default` but the default is `user`). Another idea I had was `factory` (`user` (default) or `factory`) - curious to hear from the reviewers. This will be useful for those of us who need to quickly flip to a default state, or a default state with some customizations on top. Additionally, from what I can tell, VS Code's profile system is more in line with what this PR is offering in Zed - profiles overlay the default settings, not the user's customization layer. So this will be familiar for those users. I've had no issue with the migrator, code is pretty simple there, but would love for @smitbarmase to review the migration to make sure I'm not missing something. ## Self-Review Checklist <!-- Check before requesting review: --> - [X] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [ ] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [X] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - Improved the flexibility of settings profiles by offering a way for profiles to lay atop of zed defaults, skipping user settings all together. Settings Profiles now take the following form. ```json5 "Your Profile": { "base": "user" // or "default" "settings": { // ... }, }, ``` |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| LICENSE-GPL | ||