diff --git a/Cargo.lock b/Cargo.lock index 21d97b093e..d3d0096972 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -493,7 +493,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -541,7 +541,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -585,7 +585,7 @@ checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -854,7 +854,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.37", + "syn 2.0.48", "which", ] @@ -1308,7 +1308,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -1950,7 +1950,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e" dependencies = [ "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -2678,7 +2678,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -2880,7 +2880,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -3506,7 +3506,7 @@ checksum = "ce243b1bfa62ffc028f1cc3b6034ec63d649f3031bc8a4fbbb004e1ac17d1f68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -3949,7 +3949,7 @@ checksum = "ba125974b109d512fccbc6c0244e7580143e460895dfd6ea7f8bbb692fd94396" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -4848,7 +4848,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -4914,7 +4914,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -4963,7 +4963,7 @@ checksum = "b7db010ec5ff3d4385e4f133916faacd9dad0f6a09394c92d825b3aed310fa0a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -5171,7 +5171,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -5224,7 +5224,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -5428,7 +5428,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ "proc-macro2", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -5476,9 +5476,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] @@ -5764,9 +5764,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -6310,7 +6310,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.37", + "syn 2.0.48", "walkdir", ] @@ -6595,7 +6595,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -6636,7 +6636,7 @@ dependencies = [ "proc-macro2", "quote", "sea-bae", - "syn 2.0.37", + "syn 2.0.48", "unicode-ident", ] @@ -6797,22 +6797,22 @@ checksum = "5a9f47faea3cad316faa914d013d24f471cd90bfca1a0c70f05a3f42c6441e99" [[package]] name = "serde" -version = "1.0.188" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -6867,7 +6867,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -7537,7 +7537,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -7664,9 +7664,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.37" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ "proc-macro2", "quote", @@ -7891,6 +7891,7 @@ dependencies = [ "strum", "theme", "uuid 1.4.1", + "vscode_theme", ] [[package]] @@ -7932,7 +7933,7 @@ checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -8095,7 +8096,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -8289,7 +8290,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] @@ -9038,6 +9039,15 @@ dependencies = [ "zed_actions", ] +[[package]] +name = "vscode_theme" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b3666211944f2e6ba2c359bc9efc1891157e910b1b11c3900892ea9f18179d2" +dependencies = [ + "serde", +] + [[package]] name = "vte" version = "0.13.0" @@ -9120,7 +9130,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", "wasm-bindgen-shared", ] @@ -9154,7 +9164,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -9797,7 +9807,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.48", ] [[package]] diff --git a/crates/theme_importer/Cargo.toml b/crates/theme_importer/Cargo.toml index 3587d9c8af..fe51a9dd3e 100644 --- a/crates/theme_importer/Cargo.toml +++ b/crates/theme_importer/Cargo.toml @@ -25,3 +25,4 @@ simplelog = "0.9" strum = { version = "0.25.0", features = ["derive"] } theme = { path = "../theme" } uuid.workspace = true +vscode_theme = "0.2.0" diff --git a/crates/theme_importer/src/vscode/converter.rs b/crates/theme_importer/src/vscode/converter.rs index b862dc69d7..bf11ac67ac 100644 --- a/crates/theme_importer/src/vscode/converter.rs +++ b/crates/theme_importer/src/vscode/converter.rs @@ -74,31 +74,34 @@ impl VsCodeThemeConverter { Ok(StatusColorsContent { conflict: vscode_colors - .git_decoration_conflicting_resource_foreground + .git_decoration + .conflicting_resource_foreground .clone(), - created: vscode_colors.editor_gutter_added_background.clone(), - deleted: vscode_colors.editor_gutter_deleted_background.clone(), - error: vscode_colors.editor_error_foreground.clone(), - error_background: vscode_colors.editor_error_background.clone(), - error_border: vscode_colors.editor_error_border.clone(), - hidden: vscode_colors.tab_inactive_foreground.clone(), + created: vscode_colors.editor_gutter.added_background.clone(), + deleted: vscode_colors.editor_gutter.deleted_background.clone(), + error: vscode_colors.editor_error.foreground.clone(), + error_background: vscode_colors.editor_error.background.clone(), + error_border: vscode_colors.editor_error.border.clone(), + hidden: vscode_colors.tab.inactive_foreground.clone(), hint: vscode_colors - .editor_inlay_hint_foreground + .editor_inlay_hint + .foreground .clone() .or(vscode_base_status_colors.hint), - hint_border: vscode_colors.editor_hint_border.clone(), + hint_border: vscode_colors.editor_hint.border.clone(), ignored: vscode_colors - .git_decoration_ignored_resource_foreground + .git_decoration + .ignored_resource_foreground .clone(), - info: vscode_colors.editor_info_foreground.clone(), - info_background: vscode_colors.editor_info_background.clone(), - info_border: vscode_colors.editor_info_border.clone(), - modified: vscode_colors.editor_gutter_modified_background.clone(), + info: vscode_colors.editor_info.foreground.clone(), + info_background: vscode_colors.editor_info.background.clone(), + info_border: vscode_colors.editor_info.border.clone(), + modified: vscode_colors.editor_gutter.modified_background.clone(), // renamed: None, // success: None, - warning: vscode_colors.editor_warning_foreground.clone(), - warning_background: vscode_colors.editor_warning_background.clone(), - warning_border: vscode_colors.editor_warning_border.clone(), + warning: vscode_colors.editor_warning.foreground.clone(), + warning_background: vscode_colors.editor_warning.background.clone(), + warning_border: vscode_colors.editor_warning.border.clone(), ..Default::default() }) } @@ -106,11 +109,11 @@ impl VsCodeThemeConverter { fn convert_theme_colors(&self) -> Result { let vscode_colors = &self.theme.colors; - let vscode_panel_border = vscode_colors.panel_border.clone(); - let vscode_tab_inactive_background = vscode_colors.tab_inactive_background.clone(); - let vscode_editor_foreground = vscode_colors.editor_foreground.clone(); - let vscode_editor_background = vscode_colors.editor_background.clone(); - let vscode_scrollbar_slider_background = vscode_colors.scrollbar_slider_background.clone(); + let vscode_panel_border = vscode_colors.panel.border.clone(); + let vscode_tab_inactive_background = vscode_colors.tab.inactive_background.clone(); + let vscode_editor_foreground = vscode_colors.editor.foreground.clone(); + let vscode_editor_background = vscode_colors.editor.background.clone(); + let vscode_scrollbar_slider_background = vscode_colors.scrollbar_slider.background.clone(); let vscode_token_colors_foreground = self .theme .token_colors @@ -126,68 +129,71 @@ impl VsCodeThemeConverter { border_selected: vscode_panel_border.clone(), border_transparent: vscode_panel_border.clone(), border_disabled: vscode_panel_border.clone(), - elevated_surface_background: vscode_colors.dropdown_background.clone(), - surface_background: vscode_colors.panel_background.clone(), + elevated_surface_background: vscode_colors.dropdown.background.clone(), + surface_background: vscode_colors.panel.background.clone(), background: vscode_editor_background.clone(), - element_background: vscode_colors.button_background.clone(), - element_hover: vscode_colors.list_hover_background.clone(), - element_selected: vscode_colors.list_active_selection_background.clone(), - drop_target_background: vscode_colors.list_drop_background.clone(), - ghost_element_hover: vscode_colors.list_hover_background.clone(), - ghost_element_selected: vscode_colors.list_active_selection_background.clone(), + element_background: vscode_colors.button.background.clone(), + element_hover: vscode_colors.list.hover_background.clone(), + element_selected: vscode_colors.list.active_selection_background.clone(), + drop_target_background: vscode_colors.list.drop_background.clone(), + ghost_element_hover: vscode_colors.list.hover_background.clone(), + ghost_element_selected: vscode_colors.list.active_selection_background.clone(), text: vscode_colors .foreground .clone() .or(vscode_token_colors_foreground.clone()), - text_muted: vscode_colors.tab_inactive_foreground.clone(), - status_bar_background: vscode_colors.status_bar_background.clone(), - title_bar_background: vscode_colors.title_bar_active_background.clone(), + text_muted: vscode_colors.tab.inactive_foreground.clone(), + status_bar_background: vscode_colors.status_bar.background.clone(), + title_bar_background: vscode_colors.title_bar.active_background.clone(), toolbar_background: vscode_colors - .breadcrumb_background + .breadcrumb + .background .clone() .or(vscode_editor_background.clone()), - tab_bar_background: vscode_colors.editor_group_header_tabs_background.clone(), + tab_bar_background: vscode_colors.editor_group_header.tabs_background.clone(), tab_inactive_background: vscode_tab_inactive_background.clone(), tab_active_background: vscode_colors - .tab_active_background + .tab + .active_background .clone() .or(vscode_tab_inactive_background.clone()), - panel_background: vscode_colors.panel_background.clone(), + panel_background: vscode_colors.panel.background.clone(), scrollbar_thumb_background: vscode_scrollbar_slider_background.clone(), scrollbar_thumb_hover_background: vscode_colors - .scrollbar_slider_hover_background + .scrollbar_slider + .hover_background .clone(), scrollbar_thumb_border: vscode_scrollbar_slider_background.clone(), scrollbar_track_background: vscode_editor_background.clone(), - scrollbar_track_border: vscode_colors.editor_overview_ruler_border.clone(), + scrollbar_track_border: vscode_colors.editor_overview_ruler.border.clone(), editor_foreground: vscode_editor_foreground .clone() .or(vscode_token_colors_foreground.clone()), editor_background: vscode_editor_background.clone(), editor_gutter_background: vscode_editor_background.clone(), - editor_active_line_background: vscode_colors.editor_line_highlight_background.clone(), - editor_line_number: vscode_colors.editor_line_number_foreground.clone(), - editor_active_line_number: vscode_colors.editor_foreground.clone(), + editor_active_line_background: vscode_colors.editor.line_highlight_background.clone(), + editor_line_number: vscode_colors.editor_line_number.foreground.clone(), + editor_active_line_number: vscode_colors.editor.foreground.clone(), editor_wrap_guide: vscode_panel_border.clone(), editor_active_wrap_guide: vscode_panel_border.clone(), - terminal_background: vscode_colors.terminal_background.clone(), - terminal_ansi_black: vscode_colors.terminal_ansi_black.clone(), - terminal_ansi_bright_black: vscode_colors.terminal_ansi_bright_black.clone(), - terminal_ansi_red: vscode_colors.terminal_ansi_red.clone(), - terminal_ansi_bright_red: vscode_colors.terminal_ansi_bright_red.clone(), - terminal_ansi_green: vscode_colors.terminal_ansi_green.clone(), - terminal_ansi_bright_green: vscode_colors.terminal_ansi_bright_green.clone(), - terminal_ansi_yellow: vscode_colors.terminal_ansi_yellow.clone(), - terminal_ansi_bright_yellow: vscode_colors.terminal_ansi_bright_yellow.clone(), - terminal_ansi_blue: vscode_colors.terminal_ansi_blue.clone(), - terminal_ansi_bright_blue: vscode_colors.terminal_ansi_bright_blue.clone(), - terminal_ansi_magenta: vscode_colors.terminal_ansi_magenta.clone(), - terminal_ansi_bright_magenta: vscode_colors.terminal_ansi_bright_magenta.clone(), - terminal_ansi_cyan: vscode_colors.terminal_ansi_cyan.clone(), - terminal_ansi_bright_cyan: vscode_colors.terminal_ansi_bright_cyan.clone(), - terminal_ansi_white: vscode_colors.terminal_ansi_white.clone(), - terminal_ansi_bright_white: vscode_colors.terminal_ansi_bright_white.clone(), - link_text_hover: vscode_colors.text_link_active_foreground.clone(), + terminal_background: vscode_colors.terminal.background.clone(), + terminal_ansi_black: vscode_colors.terminal.ansi_black.clone(), + terminal_ansi_bright_black: vscode_colors.terminal.ansi_bright_black.clone(), + terminal_ansi_red: vscode_colors.terminal.ansi_red.clone(), + terminal_ansi_bright_red: vscode_colors.terminal.ansi_bright_red.clone(), + terminal_ansi_green: vscode_colors.terminal.ansi_green.clone(), + terminal_ansi_bright_green: vscode_colors.terminal.ansi_bright_green.clone(), + terminal_ansi_yellow: vscode_colors.terminal.ansi_yellow.clone(), + terminal_ansi_bright_yellow: vscode_colors.terminal.ansi_bright_yellow.clone(), + terminal_ansi_blue: vscode_colors.terminal.ansi_blue.clone(), + terminal_ansi_bright_blue: vscode_colors.terminal.ansi_bright_blue.clone(), + terminal_ansi_magenta: vscode_colors.terminal.ansi_magenta.clone(), + terminal_ansi_bright_magenta: vscode_colors.terminal.ansi_bright_magenta.clone(), + terminal_ansi_cyan: vscode_colors.terminal.ansi_cyan.clone(), + terminal_ansi_bright_cyan: vscode_colors.terminal.ansi_bright_cyan.clone(), + terminal_ansi_white: vscode_colors.terminal.ansi_white.clone(), + terminal_ansi_bright_white: vscode_colors.terminal.ansi_bright_white.clone(), + link_text_hover: vscode_colors.text_link.active_foreground.clone(), ..Default::default() }) } diff --git a/crates/theme_importer/src/vscode/theme.rs b/crates/theme_importer/src/vscode/theme.rs index 505d0c7d55..b6b073b446 100644 --- a/crates/theme_importer/src/vscode/theme.rs +++ b/crates/theme_importer/src/vscode/theme.rs @@ -1,15 +1,8 @@ -use serde::{Deserialize, Deserializer}; +use serde::Deserialize; +use vscode_theme::Colors; use crate::vscode::VsCodeTokenColor; -fn empty_string_as_none<'de, D>(deserializer: D) -> Result, D::Error> -where - D: Deserializer<'de>, -{ - let value = Option::::deserialize(deserializer)?; - Ok(value.filter(|value| !value.is_empty())) -} - #[derive(Deserialize, Debug)] pub struct VsCodeTheme { #[serde(rename = "$schema")] @@ -21,1525 +14,7 @@ pub struct VsCodeTheme { pub semantic_class: Option, #[serde(rename = "semanticHighlighting")] pub semantic_highlighting: Option, - pub colors: VsCodeColors, + pub colors: Colors, #[serde(rename = "tokenColors")] pub token_colors: Vec, } - -#[derive(Debug, Deserialize)] -pub struct VsCodeColors { - #[serde( - default, - rename = "terminal.background", - deserialize_with = "empty_string_as_none" - )] - pub terminal_background: Option, - - #[serde( - default, - rename = "terminal.foreground", - deserialize_with = "empty_string_as_none" - )] - pub terminal_foreground: Option, - - #[serde( - default, - rename = "terminal.ansiBrightBlack", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_bright_black: Option, - - #[serde( - default, - rename = "terminal.ansiBrightRed", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_bright_red: Option, - - #[serde( - default, - rename = "terminal.ansiBrightGreen", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_bright_green: Option, - - #[serde( - default, - rename = "terminal.ansiBrightYellow", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_bright_yellow: Option, - - #[serde( - default, - rename = "terminal.ansiBrightBlue", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_bright_blue: Option, - - #[serde( - default, - rename = "terminal.ansiBrightMagenta", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_bright_magenta: Option, - - #[serde( - default, - rename = "terminal.ansiBrightCyan", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_bright_cyan: Option, - - #[serde( - default, - rename = "terminal.ansiBrightWhite", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_bright_white: Option, - - #[serde( - default, - rename = "terminal.ansiBlack", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_black: Option, - - #[serde( - default, - rename = "terminal.ansiRed", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_red: Option, - - #[serde( - default, - rename = "terminal.ansiGreen", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_green: Option, - - #[serde( - default, - rename = "terminal.ansiYellow", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_yellow: Option, - - #[serde( - default, - rename = "terminal.ansiBlue", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_blue: Option, - - #[serde( - default, - rename = "terminal.ansiMagenta", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_magenta: Option, - - #[serde( - default, - rename = "terminal.ansiCyan", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_cyan: Option, - - #[serde( - default, - rename = "terminal.ansiWhite", - deserialize_with = "empty_string_as_none" - )] - pub terminal_ansi_white: Option, - - #[serde( - default, - rename = "textLink.activeForeground", - deserialize_with = "empty_string_as_none" - )] - pub text_link_active_foreground: Option, - - #[serde( - default, - rename = "focusBorder", - deserialize_with = "empty_string_as_none" - )] - pub focus_border: Option, - - #[serde(default, deserialize_with = "empty_string_as_none")] - pub foreground: Option, - - #[serde( - default, - rename = "selection.background", - deserialize_with = "empty_string_as_none" - )] - pub selection_background: Option, - - #[serde( - default, - rename = "errorForeground", - deserialize_with = "empty_string_as_none" - )] - pub error_foreground: Option, - - #[serde( - default, - rename = "button.background", - deserialize_with = "empty_string_as_none" - )] - pub button_background: Option, - - #[serde( - default, - rename = "button.foreground", - deserialize_with = "empty_string_as_none" - )] - pub button_foreground: Option, - - #[serde( - default, - rename = "button.secondaryBackground", - deserialize_with = "empty_string_as_none" - )] - pub button_secondary_background: Option, - - #[serde( - default, - rename = "button.secondaryForeground", - deserialize_with = "empty_string_as_none" - )] - pub button_secondary_foreground: Option, - - #[serde( - default, - rename = "button.secondaryHoverBackground", - deserialize_with = "empty_string_as_none" - )] - pub button_secondary_hover_background: Option, - - #[serde( - default, - rename = "dropdown.background", - deserialize_with = "empty_string_as_none" - )] - pub dropdown_background: Option, - - #[serde( - default, - rename = "dropdown.border", - deserialize_with = "empty_string_as_none" - )] - pub dropdown_border: Option, - - #[serde( - default, - rename = "dropdown.foreground", - deserialize_with = "empty_string_as_none" - )] - pub dropdown_foreground: Option, - - #[serde( - default, - rename = "input.background", - deserialize_with = "empty_string_as_none" - )] - pub input_background: Option, - - #[serde( - default, - rename = "input.foreground", - deserialize_with = "empty_string_as_none" - )] - pub input_foreground: Option, - - #[serde( - default, - rename = "input.border", - deserialize_with = "empty_string_as_none" - )] - pub input_border: Option, - - #[serde( - default, - rename = "input.placeholderForeground", - deserialize_with = "empty_string_as_none" - )] - pub input_placeholder_foreground: Option, - - #[serde( - default, - rename = "inputOption.activeBorder", - deserialize_with = "empty_string_as_none" - )] - pub input_option_active_border: Option, - - #[serde( - default, - rename = "inputValidation.infoBorder", - deserialize_with = "empty_string_as_none" - )] - pub input_validation_info_border: Option, - - #[serde( - default, - rename = "inputValidation.warningBorder", - deserialize_with = "empty_string_as_none" - )] - pub input_validation_warning_border: Option, - - #[serde( - default, - rename = "inputValidation.errorBorder", - deserialize_with = "empty_string_as_none" - )] - pub input_validation_error_border: Option, - - #[serde( - default, - rename = "badge.foreground", - deserialize_with = "empty_string_as_none" - )] - pub badge_foreground: Option, - - #[serde( - default, - rename = "badge.background", - deserialize_with = "empty_string_as_none" - )] - pub badge_background: Option, - - #[serde( - default, - rename = "progressBar.background", - deserialize_with = "empty_string_as_none" - )] - pub progress_bar_background: Option, - - #[serde( - default, - rename = "list.activeSelectionBackground", - deserialize_with = "empty_string_as_none" - )] - pub list_active_selection_background: Option, - - #[serde( - default, - rename = "list.activeSelectionForeground", - deserialize_with = "empty_string_as_none" - )] - pub list_active_selection_foreground: Option, - - #[serde( - default, - rename = "list.dropBackground", - deserialize_with = "empty_string_as_none" - )] - pub list_drop_background: Option, - - #[serde( - default, - rename = "list.focusBackground", - deserialize_with = "empty_string_as_none" - )] - pub list_focus_background: Option, - - #[serde( - default, - rename = "list.highlightForeground", - deserialize_with = "empty_string_as_none" - )] - pub list_highlight_foreground: Option, - - #[serde( - default, - rename = "list.hoverBackground", - deserialize_with = "empty_string_as_none" - )] - pub list_hover_background: Option, - - #[serde( - default, - rename = "list.inactiveSelectionBackground", - deserialize_with = "empty_string_as_none" - )] - pub list_inactive_selection_background: Option, - - #[serde( - default, - rename = "list.warningForeground", - deserialize_with = "empty_string_as_none" - )] - pub list_warning_foreground: Option, - - #[serde( - default, - rename = "list.errorForeground", - deserialize_with = "empty_string_as_none" - )] - pub list_error_foreground: Option, - - #[serde( - default, - rename = "activityBar.background", - deserialize_with = "empty_string_as_none" - )] - pub activity_bar_background: Option, - - #[serde( - default, - rename = "activityBar.inactiveForeground", - deserialize_with = "empty_string_as_none" - )] - pub activity_bar_inactive_foreground: Option, - - #[serde( - default, - rename = "activityBar.foreground", - deserialize_with = "empty_string_as_none" - )] - pub activity_bar_foreground: Option, - - #[serde( - default, - rename = "activityBar.activeBorder", - deserialize_with = "empty_string_as_none" - )] - pub activity_bar_active_border: Option, - - #[serde( - default, - rename = "activityBar.activeBackground", - deserialize_with = "empty_string_as_none" - )] - pub activity_bar_active_background: Option, - - #[serde( - default, - rename = "activityBarBadge.background", - deserialize_with = "empty_string_as_none" - )] - pub activity_bar_badge_background: Option, - - #[serde( - default, - rename = "activityBarBadge.foreground", - deserialize_with = "empty_string_as_none" - )] - pub activity_bar_badge_foreground: Option, - - #[serde( - default, - rename = "sideBar.background", - deserialize_with = "empty_string_as_none" - )] - pub side_bar_background: Option, - - #[serde( - default, - rename = "sideBarTitle.foreground", - deserialize_with = "empty_string_as_none" - )] - pub side_bar_title_foreground: Option, - - #[serde( - default, - rename = "sideBarSectionHeader.background", - deserialize_with = "empty_string_as_none" - )] - pub side_bar_section_header_background: Option, - - #[serde( - default, - rename = "sideBarSectionHeader.border", - deserialize_with = "empty_string_as_none" - )] - pub side_bar_section_header_border: Option, - - #[serde( - default, - rename = "editorGroup.border", - deserialize_with = "empty_string_as_none" - )] - pub editor_group_border: Option, - - #[serde( - default, - rename = "editorGroup.dropBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_group_drop_background: Option, - - #[serde( - default, - rename = "editorGroupHeader.tabsBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_group_header_tabs_background: Option, - - #[serde( - default, - rename = "tab.activeBackground", - deserialize_with = "empty_string_as_none" - )] - pub tab_active_background: Option, - - #[serde( - default, - rename = "tab.activeForeground", - deserialize_with = "empty_string_as_none" - )] - pub tab_active_foreground: Option, - - #[serde( - default, - rename = "tab.border", - deserialize_with = "empty_string_as_none" - )] - pub tab_border: Option, - - #[serde( - default, - rename = "tab.activeBorderTop", - deserialize_with = "empty_string_as_none" - )] - pub tab_active_border_top: Option, - - #[serde( - default, - rename = "tab.inactiveBackground", - deserialize_with = "empty_string_as_none" - )] - pub tab_inactive_background: Option, - - #[serde( - default, - rename = "tab.inactiveForeground", - deserialize_with = "empty_string_as_none" - )] - pub tab_inactive_foreground: Option, - - #[serde( - default, - rename = "editor.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_foreground: Option, - - #[serde( - default, - rename = "editor.background", - deserialize_with = "empty_string_as_none" - )] - pub editor_background: Option, - - #[serde( - default, - rename = "editorInlayHint.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_inlay_hint_foreground: Option, - - #[serde( - default, - rename = "editorInlayHint.background", - deserialize_with = "empty_string_as_none" - )] - pub editor_inlay_hint_background: Option, - - #[serde( - default, - rename = "editorInlayHint.parameterForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_inlay_hint_parameter_foreground: Option, - - #[serde( - default, - rename = "editorInlayHint.parameterBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_inlay_hint_parameter_background: Option, - - #[serde( - default, - rename = "editorInlayHint.typForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_inlay_hint_typ_foreground: Option, - - #[serde( - default, - rename = "editorInlayHint.typBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_inlay_hint_typ_background: Option, - - #[serde( - default, - rename = "editorLineNumber.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_line_number_foreground: Option, - - #[serde( - default, - rename = "editor.selectionBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_selection_background: Option, - - #[serde( - default, - rename = "editor.selectionHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_selection_highlight_background: Option, - - #[serde( - default, - rename = "editor.foldBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_fold_background: Option, - - #[serde( - default, - rename = "editor.wordHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_word_highlight_background: Option, - - #[serde( - default, - rename = "editor.wordHighlightStrongBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_word_highlight_strong_background: Option, - - #[serde( - default, - rename = "editor.findMatchBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_find_match_background: Option, - - #[serde( - default, - rename = "editor.findMatchHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_find_match_highlight_background: Option, - - #[serde( - default, - rename = "editor.findRangeHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_find_range_highlight_background: Option, - - #[serde( - default, - rename = "editor.hoverHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_hover_highlight_background: Option, - - #[serde( - default, - rename = "editor.lineHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_line_highlight_background: Option, - - #[serde( - default, - rename = "editor.lineHighlightBorder", - deserialize_with = "empty_string_as_none" - )] - pub editor_line_highlight_border: Option, - - #[serde( - default, - rename = "editorLink.activeForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_link_active_foreground: Option, - - #[serde( - default, - rename = "editor.rangeHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_range_highlight_background: Option, - - #[serde( - default, - rename = "editor.snippetTabstopHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_snippet_tabstop_highlight_background: Option, - - #[serde( - default, - rename = "editor.snippetTabstopHighlightBorder", - deserialize_with = "empty_string_as_none" - )] - pub editor_snippet_tabstop_highlight_border: Option, - - #[serde( - default, - rename = "editor.snippetFinalTabstopHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_snippet_final_tabstop_highlight_background: Option, - - #[serde( - default, - rename = "editor.snippetFinalTabstopHighlightBorder", - deserialize_with = "empty_string_as_none" - )] - pub editor_snippet_final_tabstop_highlight_border: Option, - - #[serde( - default, - rename = "editorWhitespace.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_whitespace_foreground: Option, - - #[serde( - default, - rename = "editorIndentGuide.background", - deserialize_with = "empty_string_as_none" - )] - pub editor_indent_guide_background: Option, - - #[serde( - default, - rename = "editorIndentGuide.activeBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_indent_guide_active_background: Option, - - #[serde( - default, - rename = "editorRuler.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_ruler_foreground: Option, - - #[serde( - default, - rename = "editorCodeLens.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_code_lens_foreground: Option, - - #[serde( - default, - rename = "editorBracketHighlight.foreground1", - deserialize_with = "empty_string_as_none" - )] - pub editor_bracket_highlight_foreground1: Option, - - #[serde( - default, - rename = "editorBracketHighlight.foreground2", - deserialize_with = "empty_string_as_none" - )] - pub editor_bracket_highlight_foreground2: Option, - - #[serde( - default, - rename = "editorBracketHighlight.foreground3", - deserialize_with = "empty_string_as_none" - )] - pub editor_bracket_highlight_foreground3: Option, - - #[serde( - default, - rename = "editorBracketHighlight.foreground4", - deserialize_with = "empty_string_as_none" - )] - pub editor_bracket_highlight_foreground4: Option, - - #[serde( - default, - rename = "editorBracketHighlight.foreground5", - deserialize_with = "empty_string_as_none" - )] - pub editor_bracket_highlight_foreground5: Option, - - #[serde( - default, - rename = "editorBracketHighlight.foreground6", - deserialize_with = "empty_string_as_none" - )] - pub editor_bracket_highlight_foreground6: Option, - - #[serde( - default, - rename = "editorBracketHighlight.unexpectedBracket.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_bracket_highlight_unexpected_bracket_foreground: Option, - - #[serde( - default, - rename = "editorOverviewRuler.border", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_border: Option, - - #[serde( - default, - rename = "editorOverviewRuler.selectionHighlightForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_selection_highlight_foreground: Option, - - #[serde( - default, - rename = "editorOverviewRuler.wordHighlightForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_word_highlight_foreground: Option, - - #[serde( - default, - rename = "editorOverviewRuler.wordHighlightStrongForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_word_highlight_strong_foreground: Option, - - #[serde( - default, - rename = "editorOverviewRuler.modifiedForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_modified_foreground: Option, - - #[serde( - default, - rename = "editorOverviewRuler.addedForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_added_foreground: Option, - - #[serde( - default, - rename = "editorOverviewRuler.deletedForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_deleted_foreground: Option, - - #[serde( - default, - rename = "editorOverviewRuler.errorForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_error_foreground: Option, - - #[serde( - default, - rename = "editorOverviewRuler.warningForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_warning_foreground: Option, - - #[serde( - default, - rename = "editorOverviewRuler.infoForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_info_foreground: Option, - - #[serde( - default, - rename = "editorError.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_error_foreground: Option, - - #[serde( - default, - rename = "editorError.border", - deserialize_with = "empty_string_as_none" - )] - pub editor_error_border: Option, - - #[serde( - default, - rename = "editorError.background", - deserialize_with = "empty_string_as_none" - )] - pub editor_error_background: Option, - - #[serde( - default, - rename = "editorWarning.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_warning_foreground: Option, - - #[serde( - default, - rename = "editorWarning.border", - deserialize_with = "empty_string_as_none" - )] - pub editor_warning_border: Option, - - #[serde( - default, - rename = "editorWarning.background", - deserialize_with = "empty_string_as_none" - )] - pub editor_warning_background: Option, - - #[serde( - default, - rename = "editorInfo.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_info_foreground: Option, - - #[serde( - default, - rename = "editorInfo.border", - deserialize_with = "empty_string_as_none" - )] - pub editor_info_border: Option, - - #[serde( - default, - rename = "editorInfo.background", - deserialize_with = "empty_string_as_none" - )] - pub editor_info_background: Option, - - #[serde( - default, - rename = "editorHint.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_hint_foreground: Option, - - #[serde( - default, - rename = "editorHint.border", - deserialize_with = "empty_string_as_none" - )] - pub editor_hint_border: Option, - - #[serde( - default, - rename = "editorGutter.modifiedBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_gutter_modified_background: Option, - - #[serde( - default, - rename = "editorGutter.addedBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_gutter_added_background: Option, - - #[serde( - default, - rename = "editorGutter.deletedBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_gutter_deleted_background: Option, - - #[serde( - default, - rename = "gitDecoration.modifiedResourceForeground", - deserialize_with = "empty_string_as_none" - )] - pub git_decoration_modified_resource_foreground: Option, - - #[serde( - default, - rename = "gitDecoration.deletedResourceForeground", - deserialize_with = "empty_string_as_none" - )] - pub git_decoration_deleted_resource_foreground: Option, - - #[serde( - default, - rename = "gitDecoration.untrackedResourceForeground", - deserialize_with = "empty_string_as_none" - )] - pub git_decoration_untracked_resource_foreground: Option, - - #[serde( - default, - rename = "gitDecoration.ignoredResourceForeground", - deserialize_with = "empty_string_as_none" - )] - pub git_decoration_ignored_resource_foreground: Option, - - #[serde( - default, - rename = "gitDecoration.conflictingResourceForeground", - deserialize_with = "empty_string_as_none" - )] - pub git_decoration_conflicting_resource_foreground: Option, - - #[serde( - default, - rename = "diffEditor.insertedTextBackground", - deserialize_with = "empty_string_as_none" - )] - pub diff_editor_inserted_text_background: Option, - - #[serde( - default, - rename = "diffEditor.removedTextBackground", - deserialize_with = "empty_string_as_none" - )] - pub diff_editor_removed_text_background: Option, - - #[serde( - default, - rename = "inlineChat.regionHighlight", - deserialize_with = "empty_string_as_none" - )] - pub inline_chat_region_highlight: Option, - - #[serde( - default, - rename = "editorWidget.background", - deserialize_with = "empty_string_as_none" - )] - pub editor_widget_background: Option, - - #[serde( - default, - rename = "editorSuggestWidget.background", - deserialize_with = "empty_string_as_none" - )] - pub editor_suggest_widget_background: Option, - - #[serde( - default, - rename = "editorSuggestWidget.foreground", - deserialize_with = "empty_string_as_none" - )] - pub editor_suggest_widget_foreground: Option, - - #[serde( - default, - rename = "editorSuggestWidget.selectedBackground", - deserialize_with = "empty_string_as_none" - )] - pub editor_suggest_widget_selected_background: Option, - - #[serde( - default, - rename = "editorHoverWidget.background", - deserialize_with = "empty_string_as_none" - )] - pub editor_hover_widget_background: Option, - - #[serde( - default, - rename = "editorHoverWidget.border", - deserialize_with = "empty_string_as_none" - )] - pub editor_hover_widget_border: Option, - - #[serde( - default, - rename = "editorMarkerNavigation.background", - deserialize_with = "empty_string_as_none" - )] - pub editor_marker_navigation_background: Option, - - #[serde( - default, - rename = "peekView.border", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_border: Option, - - #[serde( - default, - rename = "peekViewEditor.background", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_editor_background: Option, - - #[serde( - default, - rename = "peekViewEditor.matchHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_editor_match_highlight_background: Option, - - #[serde( - default, - rename = "peekViewResult.background", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_result_background: Option, - - #[serde( - default, - rename = "peekViewResult.fileForeground", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_result_file_foreground: Option, - - #[serde( - default, - rename = "peekViewResult.lineForeground", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_result_line_foreground: Option, - - #[serde( - default, - rename = "peekViewResult.matchHighlightBackground", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_result_match_highlight_background: Option, - - #[serde( - default, - rename = "peekViewResult.selectionBackground", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_result_selection_background: Option, - - #[serde( - default, - rename = "peekViewResult.selectionForeground", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_result_selection_foreground: Option, - - #[serde( - default, - rename = "peekViewTitle.background", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_title_background: Option, - - #[serde( - default, - rename = "peekViewTitleDescription.foreground", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_title_description_foreground: Option, - - #[serde( - default, - rename = "peekViewTitleLabel.foreground", - deserialize_with = "empty_string_as_none" - )] - pub peek_view_title_label_foreground: Option, - - #[serde( - default, - rename = "merge.currentHeaderBackground", - deserialize_with = "empty_string_as_none" - )] - pub merge_current_header_background: Option, - - #[serde( - default, - rename = "merge.incomingHeaderBackground", - deserialize_with = "empty_string_as_none" - )] - pub merge_incoming_header_background: Option, - - #[serde( - default, - rename = "editorOverviewRuler.currentContentForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_current_content_foreground: Option, - - #[serde( - default, - rename = "editorOverviewRuler.incomingContentForeground", - deserialize_with = "empty_string_as_none" - )] - pub editor_overview_ruler_incoming_content_foreground: Option, - - #[serde( - default, - rename = "panel.background", - deserialize_with = "empty_string_as_none" - )] - pub panel_background: Option, - - #[serde( - default, - rename = "panel.border", - deserialize_with = "empty_string_as_none" - )] - pub panel_border: Option, - - #[serde( - default, - rename = "panelTitle.activeBorder", - deserialize_with = "empty_string_as_none" - )] - pub panel_title_active_border: Option, - - #[serde( - default, - rename = "panelTitle.activeForeground", - deserialize_with = "empty_string_as_none" - )] - pub panel_title_active_foreground: Option, - - #[serde( - default, - rename = "panelTitle.inactiveForeground", - deserialize_with = "empty_string_as_none" - )] - pub panel_title_inactive_foreground: Option, - - #[serde( - default, - rename = "scrollbar.shadow", - deserialize_with = "empty_string_as_none" - )] - pub scrollbar_shadow: Option, - - #[serde( - default, - rename = "scrollbarSlider.background", - deserialize_with = "empty_string_as_none" - )] - pub scrollbar_slider_background: Option, - - #[serde( - default, - rename = "scrollbarSlider.activeBackground", - deserialize_with = "empty_string_as_none" - )] - pub scrollbar_slider_active_background: Option, - - #[serde( - default, - rename = "scrollbarSlider.hoverBackground", - deserialize_with = "empty_string_as_none" - )] - pub scrollbar_slider_hover_background: Option, - - #[serde( - default, - rename = "statusBar.background", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_background: Option, - - #[serde( - default, - rename = "statusBar.border", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_border: Option, - - #[serde( - default, - rename = "statusBar.foreground", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_foreground: Option, - - #[serde( - default, - rename = "statusBar.debuggingBackground", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_debugging_background: Option, - - #[serde( - default, - rename = "statusBar.debuggingForeground", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_debugging_foreground: Option, - - #[serde( - default, - rename = "statusBar.noFolderBackground", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_no_folder_background: Option, - - #[serde( - default, - rename = "statusBar.noFolderForeground", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_no_folder_foreground: Option, - - #[serde( - default, - rename = "statusBarItem.prominentBackground", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_item_prominent_background: Option, - - #[serde( - default, - rename = "statusBarItem.prominentHoverBackground", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_item_prominent_hover_background: Option, - - #[serde( - default, - rename = "statusBarItem.remoteForeground", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_item_remote_foreground: Option, - - #[serde( - default, - rename = "statusBarItem.remoteBackground", - deserialize_with = "empty_string_as_none" - )] - pub status_bar_item_remote_background: Option, - - #[serde( - default, - rename = "titleBar.activeBackground", - deserialize_with = "empty_string_as_none" - )] - pub title_bar_active_background: Option, - - #[serde( - default, - rename = "titleBar.activeForeground", - deserialize_with = "empty_string_as_none" - )] - pub title_bar_active_foreground: Option, - - #[serde( - default, - rename = "titleBar.inactiveBackground", - deserialize_with = "empty_string_as_none" - )] - pub title_bar_inactive_background: Option, - - #[serde( - default, - rename = "titleBar.inactiveForeground", - deserialize_with = "empty_string_as_none" - )] - pub title_bar_inactive_foreground: Option, - - #[serde( - default, - rename = "extensionButton.prominentForeground", - deserialize_with = "empty_string_as_none" - )] - pub extension_button_prominent_foreground: Option, - - #[serde( - default, - rename = "extensionButton.prominentBackground", - deserialize_with = "empty_string_as_none" - )] - pub extension_button_prominent_background: Option, - - #[serde( - default, - rename = "extensionButton.prominentHoverBackground", - deserialize_with = "empty_string_as_none" - )] - pub extension_button_prominent_hover_background: Option, - - #[serde( - default, - rename = "pickerGroup.border", - deserialize_with = "empty_string_as_none" - )] - pub picker_group_border: Option, - - #[serde( - default, - rename = "pickerGroup.foreground", - deserialize_with = "empty_string_as_none" - )] - pub picker_group_foreground: Option, - - #[serde( - default, - rename = "debugToolBar.background", - deserialize_with = "empty_string_as_none" - )] - pub debug_tool_bar_background: Option, - - #[serde( - default, - rename = "walkThrough.embeddedEditorBackground", - deserialize_with = "empty_string_as_none" - )] - pub walk_through_embedded_editor_background: Option, - - #[serde( - default, - rename = "settings.headerForeground", - deserialize_with = "empty_string_as_none" - )] - pub settings_header_foreground: Option, - - #[serde( - default, - rename = "settings.modifiedItemIndicator", - deserialize_with = "empty_string_as_none" - )] - pub settings_modified_item_indicator: Option, - - #[serde( - default, - rename = "settings.dropdownBackground", - deserialize_with = "empty_string_as_none" - )] - pub settings_dropdown_background: Option, - - #[serde( - default, - rename = "settings.dropdownForeground", - deserialize_with = "empty_string_as_none" - )] - pub settings_dropdown_foreground: Option, - - #[serde( - default, - rename = "settings.dropdownBorder", - deserialize_with = "empty_string_as_none" - )] - pub settings_dropdown_border: Option, - - #[serde( - default, - rename = "settings.checkboxBackground", - deserialize_with = "empty_string_as_none" - )] - pub settings_checkbox_background: Option, - - #[serde( - default, - rename = "settings.checkboxForeground", - deserialize_with = "empty_string_as_none" - )] - pub settings_checkbox_foreground: Option, - - #[serde( - default, - rename = "settings.checkboxBorder", - deserialize_with = "empty_string_as_none" - )] - pub settings_checkbox_border: Option, - - #[serde( - default, - rename = "settings.textInputBackground", - deserialize_with = "empty_string_as_none" - )] - pub settings_text_input_background: Option, - - #[serde( - default, - rename = "settings.textInputForeground", - deserialize_with = "empty_string_as_none" - )] - pub settings_text_input_foreground: Option, - - #[serde( - default, - rename = "settings.textInputBorder", - deserialize_with = "empty_string_as_none" - )] - pub settings_text_input_border: Option, - - #[serde( - default, - rename = "settings.numberInputBackground", - deserialize_with = "empty_string_as_none" - )] - pub settings_number_input_background: Option, - - #[serde( - default, - rename = "settings.numberInputForeground", - deserialize_with = "empty_string_as_none" - )] - pub settings_number_input_foreground: Option, - - #[serde( - default, - rename = "settings.numberInputBorder", - deserialize_with = "empty_string_as_none" - )] - pub settings_number_input_border: Option, - - #[serde( - default, - rename = "breadcrumb.foreground", - deserialize_with = "empty_string_as_none" - )] - pub breadcrumb_foreground: Option, - - #[serde( - default, - rename = "breadcrumb.background", - deserialize_with = "empty_string_as_none" - )] - pub breadcrumb_background: Option, - - #[serde( - default, - rename = "breadcrumb.focusForeground", - deserialize_with = "empty_string_as_none" - )] - pub breadcrumb_focus_foreground: Option, - - #[serde( - default, - rename = "breadcrumb.activeSelectionForeground", - deserialize_with = "empty_string_as_none" - )] - pub breadcrumb_active_selection_foreground: Option, - - #[serde( - default, - rename = "breadcrumbPicker.background", - deserialize_with = "empty_string_as_none" - )] - pub breadcrumb_picker_background: Option, - - #[serde( - default, - rename = "listFilterWidget.background", - deserialize_with = "empty_string_as_none" - )] - pub list_filter_widget_background: Option, - - #[serde( - default, - rename = "listFilterWidget.outline", - deserialize_with = "empty_string_as_none" - )] - pub list_filter_widget_outline: Option, - - #[serde( - default, - rename = "listFilterWidget.noMatchesOutline", - deserialize_with = "empty_string_as_none" - )] - pub list_filter_widget_no_matches_outline: Option, -}