# Split settings content into its own crate \(\#46845\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/a2728e39a84c0ea680c0ac4540e57fde740ffa69)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: a2728e39a84c0ea680c0ac4540e57fde740ffa69

Requested commit: a2728e39a84c0ea680c0ac4540e57fde740ffa69

Commit: a2728e39a84c0ea680c0ac4540e57fde740ffa69

Tree: f324133426b2c4fa614e387b960e5d8059980280

Author: Ben Kunkle

Committer: GitHub

## Message

```
Split settings content into its own crate (#46845)

Closes #ISSUE

Moves the settings content definitions into their own crate, so that
they are compiled+cached separately from settings, primarily to avoid
recompiles due to changes in gpui. In that vain many gpui types such as
font weight/features, and `SharedString` were replaced in the content
crate, either with `*Content` types for font/modifier things, or
`String`/`Arc<str>` for `SharedString`. To make the conversions easy a
new trait method in the settings crate named `IntoGpui::into_gpui`
allows for `into()` like conversions to the gpui types in
`from_settings` impls.

Release Notes:

- N/A

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
```

## Parents

- [6fcc5e9461df3820058b3f2a1926d06264d129d8](https://git.cafe/gitcafe/zed/commit/6fcc5e9461df3820058b3f2a1926d06264d129d8?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/a2728e39a84c0ea680c0ac4540e57fde740ffa69?format=markdown)
