theme: Change autocomplete value for `ui_font_features` and `buffer_font_features` (#16466)

Marshall Bowers created

This PR changes the default value used when autocompleting the
`ui_font_features` and `ui_font_features` settings from `null` to `{}`.

Release Notes:

- N/A

Change summary

crates/theme/src/settings.rs | 6 ++++++
1 file changed, 6 insertions(+)

Detailed changes

crates/theme/src/settings.rs 🔗

@@ -249,6 +249,7 @@ pub struct ThemeSettingsContent {
     pub ui_font_fallbacks: Option<Vec<String>>,
     /// The OpenType features to enable for text in the UI.
     #[serde(default)]
+    #[schemars(default = "default_font_features")]
     pub ui_font_features: Option<FontFeatures>,
     /// The weight of the UI font in CSS units from 100 to 900.
     #[serde(default)]
@@ -270,6 +271,7 @@ pub struct ThemeSettingsContent {
     pub buffer_line_height: Option<BufferLineHeight>,
     /// The OpenType features to enable for rendering in text buffers.
     #[serde(default)]
+    #[schemars(default = "default_font_features")]
     pub buffer_font_features: Option<FontFeatures>,
     /// The name of the Zed theme to use.
     #[serde(default)]
@@ -288,6 +290,10 @@ pub struct ThemeSettingsContent {
     pub theme_overrides: Option<ThemeStyleContent>,
 }
 
+fn default_font_features() -> Option<FontFeatures> {
+    Some(FontFeatures::default())
+}
+
 impl ThemeSettingsContent {
     /// Sets the theme for the given appearance to the theme with the specified name.
     pub fn set_theme(&mut self, theme_name: String, appearance: Appearance) {