Map additional text colors from Zed1 themes (#3796)

Marshall Bowers created

This PR maps additional text colors from the Zed1 themes to the Zed2
themes.

Release Notes:

- N/A

Change summary

crates/editor2/src/element.rs               |   2 
crates/theme2/src/themes/andromeda.rs       |   3 
crates/theme2/src/themes/atelier.rs         |  60 ++++++++++++
crates/theme2/src/themes/ayu.rs             |   9 +
crates/theme2/src/themes/gruvbox.rs         |  18 +++
crates/theme2/src/themes/one.rs             |   6 +
crates/theme2/src/themes/rose_pine.rs       |   9 +
crates/theme2/src/themes/sandcastle.rs      |   3 
crates/theme2/src/themes/solarized.rs       |   6 +
crates/theme2/src/themes/summercamp.rs      |   3 
crates/theme_importer/src/zed1/converter.rs | 107 ++++++++++------------
11 files changed, 166 insertions(+), 60 deletions(-)

Detailed changes

crates/editor2/src/element.rs 🔗

@@ -1724,7 +1724,7 @@ impl EditorElement {
         // Show the placeholder when the editor is empty
         if snapshot.is_empty() {
             let font_size = self.style.text.font_size.to_pixels(cx.rem_size());
-            let placeholder_color = cx.theme().styles.colors.text_placeholder;
+            let placeholder_color = cx.theme().colors().text_placeholder;
             let placeholder_text = snapshot.placeholder_text();
 
             let placeholder_lines = placeholder_text

crates/theme2/src/themes/andromeda.rs 🔗

@@ -27,6 +27,9 @@ pub fn andromeda() -> UserThemeFamily {
                     element_selected: Some(rgba(0x383b4580).into()),
                     text: Some(rgba(0xaca8aeff).into()),
                     text_muted: Some(rgba(0x474a53ff).into()),
+                    text_placeholder: Some(rgba(0x474a53ff).into()),
+                    text_disabled: Some(rgba(0xf7f7f8ff).into()),
+                    text_accent: Some(rgba(0x11a793ff).into()),
                     status_bar_background: Some(rgba(0x262a33ff).into()),
                     title_bar_background: Some(rgba(0x262a33ff).into()),
                     toolbar_background: Some(rgba(0x1e2025ff).into()),

crates/theme2/src/themes/atelier.rs 🔗

@@ -28,6 +28,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x8b8a7880).into()),
                         text: Some(rgba(0x61604fff).into()),
                         text_muted: Some(rgba(0x878573ff).into()),
+                        text_placeholder: Some(rgba(0x878573ff).into()),
+                        text_disabled: Some(rgba(0x22221bff).into()),
+                        text_accent: Some(rgba(0x38a166ff).into()),
                         status_bar_background: Some(rgba(0xc5c4b9ff).into()),
                         title_bar_background: Some(rgba(0xc5c4b9ff).into()),
                         toolbar_background: Some(rgba(0xf4f3ecff).into()),
@@ -385,6 +388,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x71696680).into()),
                         text: Some(rgba(0xa79f9dff).into()),
                         text_muted: Some(rgba(0x766e6bff).into()),
+                        text_placeholder: Some(rgba(0x766e6bff).into()),
+                        text_disabled: Some(rgba(0xf1efeeff).into()),
+                        text_accent: Some(rgba(0x417ee6ff).into()),
                         status_bar_background: Some(rgba(0x443c39ff).into()),
                         title_bar_background: Some(rgba(0x443c39ff).into()),
                         toolbar_background: Some(rgba(0x1b1918ff).into()),
@@ -742,6 +748,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x7e8b8280).into()),
                         text: Some(rgba(0x546259ff).into()),
                         text_muted: Some(rgba(0x79877dff).into()),
+                        text_placeholder: Some(rgba(0x79877dff).into()),
+                        text_disabled: Some(rgba(0x171c19ff).into()),
+                        text_accent: Some(rgba(0x488c90ff).into()),
                         status_bar_background: Some(rgba(0xbcc5bfff).into()),
                         title_bar_background: Some(rgba(0xbcc5bfff).into()),
                         toolbar_background: Some(rgba(0xecf4eeff).into()),
@@ -1099,6 +1108,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x605a6880).into()),
                         text: Some(rgba(0x898591ff).into()),
                         text_muted: Some(rgba(0x655f6dff).into()),
+                        text_placeholder: Some(rgba(0x655f6dff).into()),
+                        text_disabled: Some(rgba(0xefecf4ff).into()),
+                        text_accent: Some(rgba(0x576ddaff).into()),
                         status_bar_background: Some(rgba(0x3a353fff).into()),
                         title_bar_background: Some(rgba(0x3a353fff).into()),
                         toolbar_background: Some(rgba(0x19171cff).into()),
@@ -1456,6 +1468,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x67665580).into()),
                         text: Some(rgba(0x91907fff).into()),
                         text_muted: Some(rgba(0x6c6b5aff).into()),
+                        text_placeholder: Some(rgba(0x6c6b5aff).into()),
+                        text_disabled: Some(rgba(0xf4f3ecff).into()),
+                        text_accent: Some(rgba(0x37a166ff).into()),
                         status_bar_background: Some(rgba(0x424136ff).into()),
                         title_bar_background: Some(rgba(0x424136ff).into()),
                         toolbar_background: Some(rgba(0x22221bff).into()),
@@ -1813,6 +1828,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x666e8f80).into()),
                         text: Some(rgba(0x959bb2ff).into()),
                         text_muted: Some(rgba(0x6b7394ff).into()),
+                        text_placeholder: Some(rgba(0x6b7394ff).into()),
+                        text_disabled: Some(rgba(0xf5f7ffff).into()),
+                        text_accent: Some(rgba(0x3e8fd0ff).into()),
                         status_bar_background: Some(rgba(0x3e4769ff).into()),
                         title_bar_background: Some(rgba(0x3e4769ff).into()),
                         toolbar_background: Some(rgba(0x202746ff).into()),
@@ -2170,6 +2188,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x8e94aa80).into()),
                         text: Some(rgba(0x606889ff).into()),
                         text_muted: Some(rgba(0x898fa5ff).into()),
+                        text_placeholder: Some(rgba(0x898fa5ff).into()),
+                        text_disabled: Some(rgba(0x202746ff).into()),
+                        text_accent: Some(rgba(0x3f8fd0ff).into()),
                         status_bar_background: Some(rgba(0xc2c6d9ff).into()),
                         title_bar_background: Some(rgba(0xc2c6d9ff).into()),
                         toolbar_background: Some(rgba(0xf5f7ffff).into()),
@@ -2527,6 +2548,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x77746480).into()),
                         text: Some(rgba(0xa4a08bff).into()),
                         text_muted: Some(rgba(0x7c7968ff).into()),
+                        text_placeholder: Some(rgba(0x7c7968ff).into()),
+                        text_disabled: Some(rgba(0xfefbecff).into()),
+                        text_accent: Some(rgba(0x6684e0ff).into()),
                         status_bar_background: Some(rgba(0x45433bff).into()),
                         title_bar_background: Some(rgba(0x45433bff).into()),
                         toolbar_background: Some(rgba(0x20201dff).into()),
@@ -2884,6 +2908,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x64776480).into()),
                         text: Some(rgba(0x8ba48bff).into()),
                         text_muted: Some(rgba(0x687c68ff).into()),
+                        text_placeholder: Some(rgba(0x687c68ff).into()),
+                        text_disabled: Some(rgba(0xf4fbf4ff).into()),
+                        text_accent: Some(rgba(0x3e62f4ff).into()),
                         status_bar_background: Some(rgba(0x3b453bff).into()),
                         title_bar_background: Some(rgba(0x3b453bff).into()),
                         toolbar_background: Some(rgba(0x131513ff).into()),
@@ -3241,6 +3268,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x837e8b80).into()),
                         text: Some(rgba(0x5a5462ff).into()),
                         text_muted: Some(rgba(0x7e7987ff).into()),
+                        text_placeholder: Some(rgba(0x7e7987ff).into()),
+                        text_disabled: Some(rgba(0x19171cff).into()),
+                        text_accent: Some(rgba(0x586ddaff).into()),
                         status_bar_background: Some(rgba(0xbfbcc5ff).into()),
                         title_bar_background: Some(rgba(0xbfbcc5ff).into()),
                         toolbar_background: Some(rgba(0xefecf4ff).into()),
@@ -3598,6 +3628,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x60585880).into()),
                         text: Some(rgba(0x898383ff).into()),
                         text_muted: Some(rgba(0x655d5dff).into()),
+                        text_placeholder: Some(rgba(0x655d5dff).into()),
+                        text_disabled: Some(rgba(0xf4ececff).into()),
+                        text_accent: Some(rgba(0x7272caff).into()),
                         status_bar_background: Some(rgba(0x3b3535ff).into()),
                         title_bar_background: Some(rgba(0x3b3535ff).into()),
                         toolbar_background: Some(rgba(0x1b1818ff).into()),
@@ -3955,6 +3988,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x72647280).into()),
                         text: Some(rgba(0xa99aa9ff).into()),
                         text_muted: Some(rgba(0x776977ff).into()),
+                        text_placeholder: Some(rgba(0x776977ff).into()),
+                        text_disabled: Some(rgba(0xf7f3f7ff).into()),
+                        text_accent: Some(rgba(0x526aebff).into()),
                         status_bar_background: Some(rgba(0x433a43ff).into()),
                         title_bar_background: Some(rgba(0x433a43ff).into()),
                         toolbar_background: Some(rgba(0x1b181bff).into()),
@@ -4312,6 +4348,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x57768580).into()),
                         text: Some(rgba(0x7ca0b3ff).into()),
                         text_muted: Some(rgba(0x5a7b8bff).into()),
+                        text_placeholder: Some(rgba(0x5a7b8bff).into()),
+                        text_disabled: Some(rgba(0xebf8ffff).into()),
+                        text_accent: Some(rgba(0x277fadff).into()),
                         status_bar_background: Some(rgba(0x33444dff).into()),
                         title_bar_background: Some(rgba(0x33444dff).into()),
                         toolbar_background: Some(rgba(0x161b1dff).into()),
@@ -4669,6 +4708,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0xa1999680).into()),
                         text: Some(rgba(0x6a6360ff).into()),
                         text_muted: Some(rgba(0x9c9491ff).into()),
+                        text_placeholder: Some(rgba(0x9c9491ff).into()),
+                        text_disabled: Some(rgba(0x1b1918ff).into()),
+                        text_accent: Some(rgba(0x417ee6ff).into()),
                         status_bar_background: Some(rgba(0xcdc8c6ff).into()),
                         title_bar_background: Some(rgba(0xcdc8c6ff).into()),
                         toolbar_background: Some(rgba(0xf1efeeff).into()),
@@ -5026,6 +5068,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x9e9a8580).into()),
                         text: Some(rgba(0x706d5fff).into()),
                         text_muted: Some(rgba(0x999580ff).into()),
+                        text_placeholder: Some(rgba(0x999580ff).into()),
+                        text_disabled: Some(rgba(0x20201dff).into()),
+                        text_accent: Some(rgba(0x6784e0ff).into()),
                         status_bar_background: Some(rgba(0xcecab4ff).into()),
                         title_bar_background: Some(rgba(0xcecab4ff).into()),
                         toolbar_background: Some(rgba(0xfefbecff).into()),
@@ -5383,6 +5428,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x837c7c80).into()),
                         text: Some(rgba(0x5a5252ff).into()),
                         text_muted: Some(rgba(0x7e7777ff).into()),
+                        text_placeholder: Some(rgba(0x7e7777ff).into()),
+                        text_disabled: Some(rgba(0x1b1818ff).into()),
+                        text_accent: Some(rgba(0x7372caff).into()),
                         status_bar_background: Some(rgba(0xc1bbbbff).into()),
                         title_bar_background: Some(rgba(0xc1bbbbff).into()),
                         toolbar_background: Some(rgba(0xf4ececff).into()),
@@ -5740,6 +5788,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x859e8580).into()),
                         text: Some(rgba(0x5f705fff).into()),
                         text_muted: Some(rgba(0x809980ff).into()),
+                        text_placeholder: Some(rgba(0x809980ff).into()),
+                        text_disabled: Some(rgba(0x131513ff).into()),
+                        text_accent: Some(rgba(0x3f62f4ff).into()),
                         status_bar_background: Some(rgba(0xb4ceb4ff).into()),
                         title_bar_background: Some(rgba(0xb4ceb4ff).into()),
                         toolbar_background: Some(rgba(0xf4fbf4ff).into()),
@@ -6097,6 +6148,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x5a685f80).into()),
                         text: Some(rgba(0x859188ff).into()),
                         text_muted: Some(rgba(0x5f6d64ff).into()),
+                        text_placeholder: Some(rgba(0x5f6d64ff).into()),
+                        text_disabled: Some(rgba(0xecf4eeff).into()),
+                        text_accent: Some(rgba(0x478c90ff).into()),
                         status_bar_background: Some(rgba(0x353f39ff).into()),
                         title_bar_background: Some(rgba(0x353f39ff).into()),
                         toolbar_background: Some(rgba(0x171c19ff).into()),
@@ -6454,6 +6508,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0xa394a380).into()),
                         text: Some(rgba(0x6b5e6bff).into()),
                         text_muted: Some(rgba(0x9e8f9eff).into()),
+                        text_placeholder: Some(rgba(0x9e8f9eff).into()),
+                        text_disabled: Some(rgba(0x1b181bff).into()),
+                        text_accent: Some(rgba(0x526aebff).into()),
                         status_bar_background: Some(rgba(0xc6b8c6ff).into()),
                         title_bar_background: Some(rgba(0xc6b8c6ff).into()),
                         toolbar_background: Some(rgba(0xf7f3f7ff).into()),
@@ -6811,6 +6868,9 @@ pub fn atelier() -> UserThemeFamily {
                         element_selected: Some(rgba(0x769aad80).into()),
                         text: Some(rgba(0x526f7dff).into()),
                         text_muted: Some(rgba(0x7195a8ff).into()),
+                        text_placeholder: Some(rgba(0x7195a8ff).into()),
+                        text_disabled: Some(rgba(0x161b1dff).into()),
+                        text_accent: Some(rgba(0x277fadff).into()),
                         status_bar_background: Some(rgba(0xa6cadcff).into()),
                         title_bar_background: Some(rgba(0xa6cadcff).into()),
                         toolbar_background: Some(rgba(0xebf8ffff).into()),

crates/theme2/src/themes/ayu.rs 🔗

@@ -28,6 +28,9 @@ pub fn ayu() -> UserThemeFamily {
                         element_selected: Some(rgba(0x50515280).into()),
                         text: Some(rgba(0x8a8986ff).into()),
                         text_muted: Some(rgba(0x58595aff).into()),
+                        text_placeholder: Some(rgba(0x58595aff).into()),
+                        text_disabled: Some(rgba(0xbfbdb6ff).into()),
+                        text_accent: Some(rgba(0x5ac2feff).into()),
                         status_bar_background: Some(rgba(0x313337ff).into()),
                         title_bar_background: Some(rgba(0x313337ff).into()),
                         toolbar_background: Some(rgba(0x0d1017ff).into()),
@@ -364,6 +367,9 @@ pub fn ayu() -> UserThemeFamily {
                         element_selected: Some(rgba(0xc0c2c480).into()),
                         text: Some(rgba(0x8c8f93ff).into()),
                         text_muted: Some(rgba(0xb9bbbdff).into()),
+                        text_placeholder: Some(rgba(0xb9bbbdff).into()),
+                        text_disabled: Some(rgba(0x5c6166ff).into()),
+                        text_accent: Some(rgba(0x3b9ee5ff).into()),
                         status_bar_background: Some(rgba(0xdcdddeff).into()),
                         title_bar_background: Some(rgba(0xdcdddeff).into()),
                         toolbar_background: Some(rgba(0xfcfcfcff).into()),
@@ -700,6 +706,9 @@ pub fn ayu() -> UserThemeFamily {
                         element_selected: Some(rgba(0x63656a80).into()),
                         text: Some(rgba(0x9a9a98ff).into()),
                         text_muted: Some(rgba(0x6b6d71ff).into()),
+                        text_placeholder: Some(rgba(0x6b6d71ff).into()),
+                        text_disabled: Some(rgba(0xcccac2ff).into()),
+                        text_accent: Some(rgba(0x73cffeff).into()),
                         status_bar_background: Some(rgba(0x464a52ff).into()),
                         title_bar_background: Some(rgba(0x464a52ff).into()),
                         toolbar_background: Some(rgba(0x242936ff).into()),

crates/theme2/src/themes/gruvbox.rs 🔗

@@ -28,6 +28,9 @@ pub fn gruvbox() -> UserThemeFamily {
                         element_selected: Some(rgba(0xb5a68e80).into()),
                         text: Some(rgba(0x5f5650ff).into()),
                         text_muted: Some(rgba(0xad9e87ff).into()),
+                        text_placeholder: Some(rgba(0xad9e87ff).into()),
+                        text_disabled: Some(rgba(0x282828ff).into()),
+                        text_accent: Some(rgba(0x0b6678ff).into()),
                         status_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         title_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         toolbar_background: Some(rgba(0xf9f5d7ff).into()),
@@ -371,6 +374,9 @@ pub fn gruvbox() -> UserThemeFamily {
                         element_selected: Some(rgba(0x6e635a80).into()),
                         text: Some(rgba(0xc5b597ff).into()),
                         text_muted: Some(rgba(0x776b61ff).into()),
+                        text_placeholder: Some(rgba(0x776b61ff).into()),
+                        text_disabled: Some(rgba(0xfbf1c7ff).into()),
+                        text_accent: Some(rgba(0x83a598ff).into()),
                         status_bar_background: Some(rgba(0x4c4642ff).into()),
                         title_bar_background: Some(rgba(0x4c4642ff).into()),
                         toolbar_background: Some(rgba(0x32302fff).into()),
@@ -714,6 +720,9 @@ pub fn gruvbox() -> UserThemeFamily {
                         element_selected: Some(rgba(0xb5a68e80).into()),
                         text: Some(rgba(0x5f5650ff).into()),
                         text_muted: Some(rgba(0xad9e87ff).into()),
+                        text_placeholder: Some(rgba(0xad9e87ff).into()),
+                        text_disabled: Some(rgba(0x282828ff).into()),
+                        text_accent: Some(rgba(0x0b6678ff).into()),
                         status_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         title_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         toolbar_background: Some(rgba(0xfbf1c7ff).into()),
@@ -1057,6 +1066,9 @@ pub fn gruvbox() -> UserThemeFamily {
                         element_selected: Some(rgba(0x6e635a80).into()),
                         text: Some(rgba(0xc5b597ff).into()),
                         text_muted: Some(rgba(0x776b61ff).into()),
+                        text_placeholder: Some(rgba(0x776b61ff).into()),
+                        text_disabled: Some(rgba(0xfbf1c7ff).into()),
+                        text_accent: Some(rgba(0x83a598ff).into()),
                         status_bar_background: Some(rgba(0x4c4642ff).into()),
                         title_bar_background: Some(rgba(0x4c4642ff).into()),
                         toolbar_background: Some(rgba(0x282828ff).into()),
@@ -1400,6 +1412,9 @@ pub fn gruvbox() -> UserThemeFamily {
                         element_selected: Some(rgba(0xb5a68e80).into()),
                         text: Some(rgba(0x5f5650ff).into()),
                         text_muted: Some(rgba(0xad9e87ff).into()),
+                        text_placeholder: Some(rgba(0xad9e87ff).into()),
+                        text_disabled: Some(rgba(0x282828ff).into()),
+                        text_accent: Some(rgba(0x0b6678ff).into()),
                         status_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         title_bar_background: Some(rgba(0xd9c8a4ff).into()),
                         toolbar_background: Some(rgba(0xf2e5bcff).into()),
@@ -1743,6 +1758,9 @@ pub fn gruvbox() -> UserThemeFamily {
                         element_selected: Some(rgba(0x6e635a80).into()),
                         text: Some(rgba(0xc5b597ff).into()),
                         text_muted: Some(rgba(0x776b61ff).into()),
+                        text_placeholder: Some(rgba(0x776b61ff).into()),
+                        text_disabled: Some(rgba(0xfbf1c7ff).into()),
+                        text_accent: Some(rgba(0x83a598ff).into()),
                         status_bar_background: Some(rgba(0x4c4642ff).into()),
                         title_bar_background: Some(rgba(0x4c4642ff).into()),
                         toolbar_background: Some(rgba(0x1d2021ff).into()),

crates/theme2/src/themes/one.rs 🔗

@@ -28,6 +28,9 @@ pub fn one() -> UserThemeFamily {
                         element_selected: Some(rgba(0xafafaf80).into()),
                         text: Some(rgba(0x7f8188ff).into()),
                         text_muted: Some(rgba(0xa7a7a8ff).into()),
+                        text_placeholder: Some(rgba(0xa7a7a8ff).into()),
+                        text_disabled: Some(rgba(0x383a41ff).into()),
+                        text_accent: Some(rgba(0x5c79e2ff).into()),
                         status_bar_background: Some(rgba(0xdcdcddff).into()),
                         title_bar_background: Some(rgba(0xdcdcddff).into()),
                         toolbar_background: Some(rgba(0xfafafaff).into()),
@@ -371,6 +374,9 @@ pub fn one() -> UserThemeFamily {
                         element_selected: Some(rgba(0x4f545e80).into()),
                         text: Some(rgba(0x838994ff).into()),
                         text_muted: Some(rgba(0x545862ff).into()),
+                        text_placeholder: Some(rgba(0x545862ff).into()),
+                        text_disabled: Some(rgba(0xc8ccd4ff).into()),
+                        text_accent: Some(rgba(0x74ade8ff).into()),
                         status_bar_background: Some(rgba(0x3b414dff).into()),
                         title_bar_background: Some(rgba(0x3b414dff).into()),
                         toolbar_background: Some(rgba(0x282c34ff).into()),

crates/theme2/src/themes/rose_pine.rs 🔗

@@ -28,6 +28,9 @@ pub fn rose_pine() -> UserThemeFamily {
                         element_selected: Some(rgba(0xc1bac180).into()),
                         text: Some(rgba(0x706c8cff).into()),
                         text_muted: Some(rgba(0xb1abb5ff).into()),
+                        text_placeholder: Some(rgba(0xb1abb5ff).into()),
+                        text_disabled: Some(rgba(0x575279ff).into()),
+                        text_accent: Some(rgba(0x57949fff).into()),
                         status_bar_background: Some(rgba(0xdcd8d8ff).into()),
                         title_bar_background: Some(rgba(0xdcd8d8ff).into()),
                         toolbar_background: Some(rgba(0xfaf4edff).into()),
@@ -378,6 +381,9 @@ pub fn rose_pine() -> UserThemeFamily {
                         element_selected: Some(rgba(0x45415d80).into()),
                         text: Some(rgba(0x85819eff).into()),
                         text_muted: Some(rgba(0x3a3653ff).into()),
+                        text_placeholder: Some(rgba(0x3a3653ff).into()),
+                        text_disabled: Some(rgba(0xe0def4ff).into()),
+                        text_accent: Some(rgba(0x9cced7ff).into()),
                         status_bar_background: Some(rgba(0x38354eff).into()),
                         title_bar_background: Some(rgba(0x38354eff).into()),
                         toolbar_background: Some(rgba(0x232136ff).into()),
@@ -728,6 +734,9 @@ pub fn rose_pine() -> UserThemeFamily {
                         element_selected: Some(rgba(0x47445b80).into()),
                         text: Some(rgba(0x75718eff).into()),
                         text_muted: Some(rgba(0x3b384fff).into()),
+                        text_placeholder: Some(rgba(0x3b384fff).into()),
+                        text_disabled: Some(rgba(0xe0def4ff).into()),
+                        text_accent: Some(rgba(0x9cced7ff).into()),
                         status_bar_background: Some(rgba(0x292739ff).into()),
                         title_bar_background: Some(rgba(0x292739ff).into()),
                         toolbar_background: Some(rgba(0x191724ff).into()),

crates/theme2/src/themes/sandcastle.rs 🔗

@@ -27,6 +27,9 @@ pub fn sandcastle() -> UserThemeFamily {
                     element_selected: Some(rgba(0x57535380).into()),
                     text: Some(rgba(0xa69782ff).into()),
                     text_muted: Some(rgba(0x645b54ff).into()),
+                    text_placeholder: Some(rgba(0x645b54ff).into()),
+                    text_disabled: Some(rgba(0xfdf4c1ff).into()),
+                    text_accent: Some(rgba(0x528b8bff).into()),
                     status_bar_background: Some(rgba(0x333944ff).into()),
                     title_bar_background: Some(rgba(0x333944ff).into()),
                     toolbar_background: Some(rgba(0x282c34ff).into()),

crates/theme2/src/themes/solarized.rs 🔗

@@ -28,6 +28,9 @@ pub fn solarized() -> UserThemeFamily {
                         element_selected: Some(rgba(0x7f919480).into()),
                         text: Some(rgba(0x34555eff).into()),
                         text_muted: Some(rgba(0x788b8fff).into()),
+                        text_placeholder: Some(rgba(0x788b8fff).into()),
+                        text_disabled: Some(rgba(0x002b36ff).into()),
+                        text_accent: Some(rgba(0x298bd1ff).into()),
                         status_bar_background: Some(rgba(0xcfd0c4ff).into()),
                         title_bar_background: Some(rgba(0xcfd0c4ff).into()),
                         toolbar_background: Some(rgba(0xfdf6e3ff).into()),
@@ -364,6 +367,9 @@ pub fn solarized() -> UserThemeFamily {
                         element_selected: Some(rgba(0x566d7480).into()),
                         text: Some(rgba(0x93a1a1ff).into()),
                         text_muted: Some(rgba(0x5f757dff).into()),
+                        text_placeholder: Some(rgba(0x5f757dff).into()),
+                        text_disabled: Some(rgba(0xfdf6e3ff).into()),
+                        text_accent: Some(rgba(0x288bd1ff).into()),
                         status_bar_background: Some(rgba(0x083743ff).into()),
                         title_bar_background: Some(rgba(0x083743ff).into()),
                         toolbar_background: Some(rgba(0x002b36ff).into()),

crates/theme2/src/themes/summercamp.rs 🔗

@@ -27,6 +27,9 @@ pub fn summercamp() -> UserThemeFamily {
                     element_selected: Some(rgba(0x39342780).into()),
                     text: Some(rgba(0x736e55ff).into()),
                     text_muted: Some(rgba(0x3d382aff).into()),
+                    text_placeholder: Some(rgba(0x3d382aff).into()),
+                    text_disabled: Some(rgba(0xf8f5deff).into()),
+                    text_accent: Some(rgba(0x499befff).into()),
                     status_bar_background: Some(rgba(0x2a261cff).into()),
                     title_bar_background: Some(rgba(0x2a261cff).into()),
                     toolbar_background: Some(rgba(0x1c1810ff).into()),

crates/theme_importer/src/zed1/converter.rs 🔗

@@ -87,63 +87,52 @@ impl Zed1ThemeConverter {
             Some(zed1_color_to_hsla(color))
         }
 
+        let picker = &self.theme.picker;
+        let title_bar = &self.theme.titlebar;
+        let status_bar = &self.theme.workspace.status_bar;
+        let project_panel = &self.theme.project_panel;
         let tab_bar = &self.theme.workspace.tab_bar;
         let active_tab = &self.theme.workspace.tab_bar.tab_style(true, true);
         let inactive_tab = &self.theme.workspace.tab_bar.tab_style(true, false);
         let toolbar = &self.theme.workspace.toolbar;
+        let editor = &self.theme.editor;
         let scrollbar = &self.theme.editor.scrollbar;
+        let terminal = &self.theme.terminal;
 
-        let zed1_titlebar_border = convert(self.theme.titlebar.container.border.color);
+        let title_bar_border = convert(title_bar.container.border.color);
 
         Ok(ThemeColorsRefinement {
-            border: zed1_titlebar_border,
-            border_variant: zed1_titlebar_border,
+            border: title_bar_border,
+            border_variant: title_bar_border,
             background: convert(self.theme.workspace.background),
-            elevated_surface_background: self
-                .theme
-                .picker
-                .container
-                .background_color
-                .map(zed1_color_to_hsla),
-            title_bar_background: self
-                .theme
-                .titlebar
-                .container
-                .background_color
-                .map(zed1_color_to_hsla),
-            status_bar_background: self
-                .theme
-                .workspace
-                .status_bar
+            elevated_surface_background: picker.container.background_color.map(zed1_color_to_hsla),
+            title_bar_background: title_bar.container.background_color.map(zed1_color_to_hsla),
+            status_bar_background: status_bar
                 .container
                 .background_color
                 .map(zed1_color_to_hsla)
-                .or_else(|| {
-                    self.theme
-                        .titlebar
-                        .container
-                        .background_color
-                        .map(zed1_color_to_hsla)
-                }),
-            panel_background: self
-                .theme
-                .project_panel
+                .or_else(|| title_bar.container.background_color.map(zed1_color_to_hsla)),
+            panel_background: project_panel
                 .container
                 .background_color
                 .map(zed1_color_to_hsla),
             text: convert(self.theme.project_panel.entry.default_style().text.color),
             text_muted: convert(active_tab.description.text.color),
-            element_hover: self
-                .theme
-                .picker
+            text_accent: convert(status_bar.panel_buttons.button.active_state().icon_color),
+            text_disabled: convert(status_bar.panel_buttons.button.disabled_style().icon_color),
+            text_placeholder: picker
+                .empty_input_editor
+                .placeholder_text
+                .as_ref()
+                .map(|placeholder_text| placeholder_text.color)
+                .map(zed1_color_to_hsla),
+            element_hover: picker
                 .item
                 .hovered
                 .as_ref()
                 .and_then(|hovered| hovered.container.background_color)
                 .map(zed1_color_to_hsla),
-            element_selected: self
-                .theme
-                .picker
+            element_selected: picker
                 .item
                 .active_state()
                 .container
@@ -159,13 +148,13 @@ impl Zed1ThemeConverter {
                 .background_color
                 .map(zed1_color_to_hsla),
             toolbar_background: toolbar.container.background_color.map(zed1_color_to_hsla),
-            editor_foreground: convert(self.theme.editor.text_color),
-            editor_background: convert(self.theme.editor.background),
-            editor_gutter_background: convert(self.theme.editor.gutter_background),
-            editor_line_number: convert(self.theme.editor.line_number),
-            editor_active_line_number: convert(self.theme.editor.line_number_active),
-            editor_wrap_guide: convert(self.theme.editor.wrap_guide),
-            editor_active_wrap_guide: convert(self.theme.editor.active_wrap_guide),
+            editor_foreground: convert(editor.text_color),
+            editor_background: convert(editor.background),
+            editor_gutter_background: convert(editor.gutter_background),
+            editor_line_number: convert(editor.line_number),
+            editor_active_line_number: convert(editor.line_number_active),
+            editor_wrap_guide: convert(editor.wrap_guide),
+            editor_active_wrap_guide: convert(editor.active_wrap_guide),
             scrollbar_track_background: scrollbar.track.background_color.map(zed1_color_to_hsla),
             scrollbar_track_border: convert(scrollbar.track.border.color),
             scrollbar_thumb_background: scrollbar.thumb.background_color.map(zed1_color_to_hsla),
@@ -174,23 +163,23 @@ impl Zed1ThemeConverter {
                 .thumb
                 .background_color
                 .map(zed1_color_to_hsla),
-            terminal_background: convert(self.theme.terminal.background),
-            terminal_ansi_bright_black: convert(self.theme.terminal.bright_black),
-            terminal_ansi_bright_red: convert(self.theme.terminal.bright_red),
-            terminal_ansi_bright_green: convert(self.theme.terminal.bright_green),
-            terminal_ansi_bright_yellow: convert(self.theme.terminal.bright_yellow),
-            terminal_ansi_bright_blue: convert(self.theme.terminal.bright_blue),
-            terminal_ansi_bright_magenta: convert(self.theme.terminal.bright_magenta),
-            terminal_ansi_bright_cyan: convert(self.theme.terminal.bright_cyan),
-            terminal_ansi_bright_white: convert(self.theme.terminal.bright_white),
-            terminal_ansi_black: convert(self.theme.terminal.black),
-            terminal_ansi_red: convert(self.theme.terminal.red),
-            terminal_ansi_green: convert(self.theme.terminal.green),
-            terminal_ansi_yellow: convert(self.theme.terminal.yellow),
-            terminal_ansi_blue: convert(self.theme.terminal.blue),
-            terminal_ansi_magenta: convert(self.theme.terminal.magenta),
-            terminal_ansi_cyan: convert(self.theme.terminal.cyan),
-            terminal_ansi_white: convert(self.theme.terminal.white),
+            terminal_background: convert(terminal.background),
+            terminal_ansi_bright_black: convert(terminal.bright_black),
+            terminal_ansi_bright_red: convert(terminal.bright_red),
+            terminal_ansi_bright_green: convert(terminal.bright_green),
+            terminal_ansi_bright_yellow: convert(terminal.bright_yellow),
+            terminal_ansi_bright_blue: convert(terminal.bright_blue),
+            terminal_ansi_bright_magenta: convert(terminal.bright_magenta),
+            terminal_ansi_bright_cyan: convert(terminal.bright_cyan),
+            terminal_ansi_bright_white: convert(terminal.bright_white),
+            terminal_ansi_black: convert(terminal.black),
+            terminal_ansi_red: convert(terminal.red),
+            terminal_ansi_green: convert(terminal.green),
+            terminal_ansi_yellow: convert(terminal.yellow),
+            terminal_ansi_blue: convert(terminal.blue),
+            terminal_ansi_magenta: convert(terminal.magenta),
+            terminal_ansi_cyan: convert(terminal.cyan),
+            terminal_ansi_white: convert(terminal.white),
             ..Default::default()
         })
     }