ZIm/extensions
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
..
astro Extract Astro support into an extension (#9835) 2024-03-26 18:50:08 -04:00
clojure clojure: Add license file (#10127) 2024-04-03 12:04:14 -04:00
csharp File context for assistant panel (#9712) 2024-03-29 13:55:01 -07:00
dart Add language_server_workspace_configuration to extension API (#10212) 2024-04-05 17:04:07 -04:00
emmet Add support for using a language server with multiple languages (#10293) 2024-04-08 14:24:56 -04:00
erlang Extract Erlang support into an extension (#9974) 2024-03-29 18:03:38 -04:00
gleam Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
haskell Add label_for_symbol to extension API (#10179) 2024-04-04 15:38:38 -04:00
html Extract HTML support into an extension (#10130) 2024-04-03 12:42:36 -04:00
php Allow extensions to provide data for language_ids (#10053) 2024-04-01 17:01:11 -04:00
prisma Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
purescript Fix typo in PureScript extension's struct name (#9831) 2024-03-26 16:29:55 -04:00
svelte Add language_server_workspace_configuration to extension API (#10212) 2024-04-05 17:04:07 -04:00
toml Add new make-file-executable API for extensions (#10047) 2024-04-01 15:28:24 -04:00
uiua Update extension descriptions (#9939) 2024-03-28 17:14:55 -04:00
zig Add new make-file-executable API for extensions (#10047) 2024-04-01 15:28:24 -04:00
.gitignore Provide wasm extensions with APIs needed for using pre-installed LSP binaries (#9085) 2024-03-08 17:18:06 -05:00