zed/assets/settings
Marshall Bowers 7c5bc3c26f
Add the ability for extensions to provide language settings (#10296)
This PR adds the ability for extensions to provide certain language
settings via the language `config.toml`.

These settings are then merged in with the rest of the settings when the
language is loaded from the extension.

The language settings that are available are:

- `tab_size`
- `hard_tabs`
- `soft_wrap`

Additionally, for bundled languages we moved these settings out of the
`settings/default.json` and into their respective `config.toml`s .

For languages currently provided by extensions, we are leaving the
values in the `settings/default.json` temporarily until all released
versions of Zed are able to load these settings from the extension.

---

Along the way we ended up refactoring the `Settings::load` method
slightly, introducing a new `SettingsSources` struct to better convey
where the settings are being loaded from.

This makes it easier to load settings from specific locations/sets of
locations in an explicit way.

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2024-04-08 19:17:12 -04:00
..
default.json Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
initial_local_settings.json Remove links to docs.zed.dev (#7187) 2024-01-31 22:26:15 -07:00
initial_tasks.json Small improvements of the task terminal spawn behavior (#9399) 2024-03-15 18:32:59 +02:00
initial_user_settings.json Update default ui font settings 2023-11-21 10:43:18 -05:00