theme.rs

  1use serde::Deserialize;
  2
  3use crate::vscode::VsCodeTokenColor;
  4
  5#[derive(Deserialize, Debug)]
  6pub struct VsCodeTheme {
  7    #[serde(rename = "$schema")]
  8    pub schema: Option<String>,
  9    pub name: Option<String>,
 10    pub author: Option<String>,
 11    pub maintainers: Option<Vec<String>>,
 12    #[serde(rename = "semanticClass")]
 13    pub semantic_class: Option<String>,
 14    #[serde(rename = "semanticHighlighting")]
 15    pub semantic_highlighting: Option<bool>,
 16    pub colors: VsCodeColors,
 17    #[serde(rename = "tokenColors")]
 18    pub token_colors: Vec<VsCodeTokenColor>,
 19}
 20
 21#[derive(Debug, Deserialize)]
 22pub struct VsCodeColors {
 23    #[serde(rename = "terminal.background")]
 24    pub terminal_background: Option<String>,
 25    #[serde(rename = "terminal.foreground")]
 26    pub terminal_foreground: Option<String>,
 27    #[serde(rename = "terminal.ansiBrightBlack")]
 28    pub terminal_ansi_bright_black: Option<String>,
 29    #[serde(rename = "terminal.ansiBrightRed")]
 30    pub terminal_ansi_bright_red: Option<String>,
 31    #[serde(rename = "terminal.ansiBrightGreen")]
 32    pub terminal_ansi_bright_green: Option<String>,
 33    #[serde(rename = "terminal.ansiBrightYellow")]
 34    pub terminal_ansi_bright_yellow: Option<String>,
 35    #[serde(rename = "terminal.ansiBrightBlue")]
 36    pub terminal_ansi_bright_blue: Option<String>,
 37    #[serde(rename = "terminal.ansiBrightMagenta")]
 38    pub terminal_ansi_bright_magenta: Option<String>,
 39    #[serde(rename = "terminal.ansiBrightCyan")]
 40    pub terminal_ansi_bright_cyan: Option<String>,
 41    #[serde(rename = "terminal.ansiBrightWhite")]
 42    pub terminal_ansi_bright_white: Option<String>,
 43    #[serde(rename = "terminal.ansiBlack")]
 44    pub terminal_ansi_black: Option<String>,
 45    #[serde(rename = "terminal.ansiRed")]
 46    pub terminal_ansi_red: Option<String>,
 47    #[serde(rename = "terminal.ansiGreen")]
 48    pub terminal_ansi_green: Option<String>,
 49    #[serde(rename = "terminal.ansiYellow")]
 50    pub terminal_ansi_yellow: Option<String>,
 51    #[serde(rename = "terminal.ansiBlue")]
 52    pub terminal_ansi_blue: Option<String>,
 53    #[serde(rename = "terminal.ansiMagenta")]
 54    pub terminal_ansi_magenta: Option<String>,
 55    #[serde(rename = "terminal.ansiCyan")]
 56    pub terminal_ansi_cyan: Option<String>,
 57    #[serde(rename = "terminal.ansiWhite")]
 58    pub terminal_ansi_white: Option<String>,
 59    #[serde(rename = "focusBorder")]
 60    pub focus_border: Option<String>,
 61    pub foreground: Option<String>,
 62    #[serde(rename = "selection.background")]
 63    pub selection_background: Option<String>,
 64    #[serde(rename = "errorForeground")]
 65    pub error_foreground: Option<String>,
 66    #[serde(rename = "button.background")]
 67    pub button_background: Option<String>,
 68    #[serde(rename = "button.foreground")]
 69    pub button_foreground: Option<String>,
 70    #[serde(rename = "button.secondaryBackground")]
 71    pub button_secondary_background: Option<String>,
 72    #[serde(rename = "button.secondaryForeground")]
 73    pub button_secondary_foreground: Option<String>,
 74    #[serde(rename = "button.secondaryHoverBackground")]
 75    pub button_secondary_hover_background: Option<String>,
 76    #[serde(rename = "dropdown.background")]
 77    pub dropdown_background: Option<String>,
 78    #[serde(rename = "dropdown.border")]
 79    pub dropdown_border: Option<String>,
 80    #[serde(rename = "dropdown.foreground")]
 81    pub dropdown_foreground: Option<String>,
 82    #[serde(rename = "input.background")]
 83    pub input_background: Option<String>,
 84    #[serde(rename = "input.foreground")]
 85    pub input_foreground: Option<String>,
 86    #[serde(rename = "input.border")]
 87    pub input_border: Option<String>,
 88    #[serde(rename = "input.placeholderForeground")]
 89    pub input_placeholder_foreground: Option<String>,
 90    #[serde(rename = "inputOption.activeBorder")]
 91    pub input_option_active_border: Option<String>,
 92    #[serde(rename = "inputValidation.infoBorder")]
 93    pub input_validation_info_border: Option<String>,
 94    #[serde(rename = "inputValidation.warningBorder")]
 95    pub input_validation_warning_border: Option<String>,
 96    #[serde(rename = "inputValidation.errorBorder")]
 97    pub input_validation_error_border: Option<String>,
 98    #[serde(rename = "badge.foreground")]
 99    pub badge_foreground: Option<String>,
100    #[serde(rename = "badge.background")]
101    pub badge_background: Option<String>,
102    #[serde(rename = "progressBar.background")]
103    pub progress_bar_background: Option<String>,
104    #[serde(rename = "list.activeSelectionBackground")]
105    pub list_active_selection_background: Option<String>,
106    #[serde(rename = "list.activeSelectionForeground")]
107    pub list_active_selection_foreground: Option<String>,
108    #[serde(rename = "list.dropBackground")]
109    pub list_drop_background: Option<String>,
110    #[serde(rename = "list.focusBackground")]
111    pub list_focus_background: Option<String>,
112    #[serde(rename = "list.highlightForeground")]
113    pub list_highlight_foreground: Option<String>,
114    #[serde(rename = "list.hoverBackground")]
115    pub list_hover_background: Option<String>,
116    #[serde(rename = "list.inactiveSelectionBackground")]
117    pub list_inactive_selection_background: Option<String>,
118    #[serde(rename = "list.warningForeground")]
119    pub list_warning_foreground: Option<String>,
120    #[serde(rename = "list.errorForeground")]
121    pub list_error_foreground: Option<String>,
122    #[serde(rename = "activityBar.background")]
123    pub activity_bar_background: Option<String>,
124    #[serde(rename = "activityBar.inactiveForeground")]
125    pub activity_bar_inactive_foreground: Option<String>,
126    #[serde(rename = "activityBar.foreground")]
127    pub activity_bar_foreground: Option<String>,
128    #[serde(rename = "activityBar.activeBorder")]
129    pub activity_bar_active_border: Option<String>,
130    #[serde(rename = "activityBar.activeBackground")]
131    pub activity_bar_active_background: Option<String>,
132    #[serde(rename = "activityBarBadge.background")]
133    pub activity_bar_badge_background: Option<String>,
134    #[serde(rename = "activityBarBadge.foreground")]
135    pub activity_bar_badge_foreground: Option<String>,
136    #[serde(rename = "sideBar.background")]
137    pub side_bar_background: Option<String>,
138    #[serde(rename = "sideBarTitle.foreground")]
139    pub side_bar_title_foreground: Option<String>,
140    #[serde(rename = "sideBarSectionHeader.background")]
141    pub side_bar_section_header_background: Option<String>,
142    #[serde(rename = "sideBarSectionHeader.border")]
143    pub side_bar_section_header_border: Option<String>,
144    #[serde(rename = "editorGroup.border")]
145    pub editor_group_border: Option<String>,
146    #[serde(rename = "editorGroup.dropBackground")]
147    pub editor_group_drop_background: Option<String>,
148    #[serde(rename = "editorGroupHeader.tabsBackground")]
149    pub editor_group_header_tabs_background: Option<String>,
150    #[serde(rename = "tab.activeBackground")]
151    pub tab_active_background: Option<String>,
152    #[serde(rename = "tab.activeForeground")]
153    pub tab_active_foreground: Option<String>,
154    #[serde(rename = "tab.border")]
155    pub tab_border: Option<String>,
156    #[serde(rename = "tab.activeBorderTop")]
157    pub tab_active_border_top: Option<String>,
158    #[serde(rename = "tab.inactiveBackground")]
159    pub tab_inactive_background: Option<String>,
160    #[serde(rename = "tab.inactiveForeground")]
161    pub tab_inactive_foreground: Option<String>,
162    #[serde(rename = "editor.foreground")]
163    pub editor_foreground: Option<String>,
164    #[serde(rename = "editor.background")]
165    pub editor_background: Option<String>,
166    #[serde(rename = "editorInlayHint.foreground")]
167    pub editor_inlay_hint_foreground: Option<String>,
168    #[serde(rename = "editorInlayHint.background")]
169    pub editor_inlay_hint_background: Option<String>,
170    #[serde(rename = "editorInlayHint.parameterForeground")]
171    pub editor_inlay_hint_parameter_foreground: Option<String>,
172    #[serde(rename = "editorInlayHint.parameterBackground")]
173    pub editor_inlay_hint_parameter_background: Option<String>,
174    #[serde(rename = "editorInlayHint.typForeground")]
175    pub editor_inlay_hint_typ_foreground: Option<String>,
176    #[serde(rename = "editorInlayHint.typBackground")]
177    pub editor_inlay_hint_typ_background: Option<String>,
178    #[serde(rename = "editorLineNumber.foreground")]
179    pub editor_line_number_foreground: Option<String>,
180    #[serde(rename = "editor.selectionBackground")]
181    pub editor_selection_background: Option<String>,
182    #[serde(rename = "editor.selectionHighlightBackground")]
183    pub editor_selection_highlight_background: Option<String>,
184    #[serde(rename = "editor.foldBackground")]
185    pub editor_fold_background: Option<String>,
186    #[serde(rename = "editor.wordHighlightBackground")]
187    pub editor_word_highlight_background: Option<String>,
188    #[serde(rename = "editor.wordHighlightStrongBackground")]
189    pub editor_word_highlight_strong_background: Option<String>,
190    #[serde(rename = "editor.findMatchBackground")]
191    pub editor_find_match_background: Option<String>,
192    #[serde(rename = "editor.findMatchHighlightBackground")]
193    pub editor_find_match_highlight_background: Option<String>,
194    #[serde(rename = "editor.findRangeHighlightBackground")]
195    pub editor_find_range_highlight_background: Option<String>,
196    #[serde(rename = "editor.hoverHighlightBackground")]
197    pub editor_hover_highlight_background: Option<String>,
198    #[serde(rename = "editor.lineHighlightBorder")]
199    pub editor_line_highlight_border: Option<String>,
200    #[serde(rename = "editorLink.activeForeground")]
201    pub editor_link_active_foreground: Option<String>,
202    #[serde(rename = "editor.rangeHighlightBackground")]
203    pub editor_range_highlight_background: Option<String>,
204    #[serde(rename = "editor.snippetTabstopHighlightBackground")]
205    pub editor_snippet_tabstop_highlight_background: Option<String>,
206    #[serde(rename = "editor.snippetTabstopHighlightBorder")]
207    pub editor_snippet_tabstop_highlight_border: Option<String>,
208    #[serde(rename = "editor.snippetFinalTabstopHighlightBackground")]
209    pub editor_snippet_final_tabstop_highlight_background: Option<String>,
210    #[serde(rename = "editor.snippetFinalTabstopHighlightBorder")]
211    pub editor_snippet_final_tabstop_highlight_border: Option<String>,
212    #[serde(rename = "editorWhitespace.foreground")]
213    pub editor_whitespace_foreground: Option<String>,
214    #[serde(rename = "editorIndentGuide.background")]
215    pub editor_indent_guide_background: Option<String>,
216    #[serde(rename = "editorIndentGuide.activeBackground")]
217    pub editor_indent_guide_active_background: Option<String>,
218    #[serde(rename = "editorRuler.foreground")]
219    pub editor_ruler_foreground: Option<String>,
220    #[serde(rename = "editorCodeLens.foreground")]
221    pub editor_code_lens_foreground: Option<String>,
222    #[serde(rename = "editorBracketHighlight.foreground1")]
223    pub editor_bracket_highlight_foreground1: Option<String>,
224    #[serde(rename = "editorBracketHighlight.foreground2")]
225    pub editor_bracket_highlight_foreground2: Option<String>,
226    #[serde(rename = "editorBracketHighlight.foreground3")]
227    pub editor_bracket_highlight_foreground3: Option<String>,
228    #[serde(rename = "editorBracketHighlight.foreground4")]
229    pub editor_bracket_highlight_foreground4: Option<String>,
230    #[serde(rename = "editorBracketHighlight.foreground5")]
231    pub editor_bracket_highlight_foreground5: Option<String>,
232    #[serde(rename = "editorBracketHighlight.foreground6")]
233    pub editor_bracket_highlight_foreground6: Option<String>,
234    #[serde(rename = "editorBracketHighlight.unexpectedBracket.foreground")]
235    pub editor_bracket_highlight_unexpected_bracket_foreground: Option<String>,
236    #[serde(rename = "editorOverviewRuler.border")]
237    pub editor_overview_ruler_border: Option<String>,
238    #[serde(rename = "editorOverviewRuler.selectionHighlightForeground")]
239    pub editor_overview_ruler_selection_highlight_foreground: Option<String>,
240    #[serde(rename = "editorOverviewRuler.wordHighlightForeground")]
241    pub editor_overview_ruler_word_highlight_foreground: Option<String>,
242    #[serde(rename = "editorOverviewRuler.wordHighlightStrongForeground")]
243    pub editor_overview_ruler_word_highlight_strong_foreground: Option<String>,
244    #[serde(rename = "editorOverviewRuler.modifiedForeground")]
245    pub editor_overview_ruler_modified_foreground: Option<String>,
246    #[serde(rename = "editorOverviewRuler.addedForeground")]
247    pub editor_overview_ruler_added_foreground: Option<String>,
248    #[serde(rename = "editorOverviewRuler.deletedForeground")]
249    pub editor_overview_ruler_deleted_foreground: Option<String>,
250    #[serde(rename = "editorOverviewRuler.errorForeground")]
251    pub editor_overview_ruler_error_foreground: Option<String>,
252    #[serde(rename = "editorOverviewRuler.warningForeground")]
253    pub editor_overview_ruler_warning_foreground: Option<String>,
254    #[serde(rename = "editorOverviewRuler.infoForeground")]
255    pub editor_overview_ruler_info_foreground: Option<String>,
256    #[serde(rename = "editorError.foreground")]
257    pub editor_error_foreground: Option<String>,
258    #[serde(rename = "editorWarning.foreground")]
259    pub editor_warning_foreground: Option<String>,
260    #[serde(rename = "editorGutter.modifiedBackground")]
261    pub editor_gutter_modified_background: Option<String>,
262    #[serde(rename = "editorGutter.addedBackground")]
263    pub editor_gutter_added_background: Option<String>,
264    #[serde(rename = "editorGutter.deletedBackground")]
265    pub editor_gutter_deleted_background: Option<String>,
266    #[serde(rename = "gitDecoration.modifiedResourceForeground")]
267    pub git_decoration_modified_resource_foreground: Option<String>,
268    #[serde(rename = "gitDecoration.deletedResourceForeground")]
269    pub git_decoration_deleted_resource_foreground: Option<String>,
270    #[serde(rename = "gitDecoration.untrackedResourceForeground")]
271    pub git_decoration_untracked_resource_foreground: Option<String>,
272    #[serde(rename = "gitDecoration.ignoredResourceForeground")]
273    pub git_decoration_ignored_resource_foreground: Option<String>,
274    #[serde(rename = "gitDecoration.conflictingResourceForeground")]
275    pub git_decoration_conflicting_resource_foreground: Option<String>,
276    #[serde(rename = "diffEditor.insertedTextBackground")]
277    pub diff_editor_inserted_text_background: Option<String>,
278    #[serde(rename = "diffEditor.removedTextBackground")]
279    pub diff_editor_removed_text_background: Option<String>,
280    #[serde(rename = "inlineChat.regionHighlight")]
281    pub inline_chat_region_highlight: Option<String>,
282    #[serde(rename = "editorWidget.background")]
283    pub editor_widget_background: Option<String>,
284    #[serde(rename = "editorSuggestWidget.background")]
285    pub editor_suggest_widget_background: Option<String>,
286    #[serde(rename = "editorSuggestWidget.foreground")]
287    pub editor_suggest_widget_foreground: Option<String>,
288    #[serde(rename = "editorSuggestWidget.selectedBackground")]
289    pub editor_suggest_widget_selected_background: Option<String>,
290    #[serde(rename = "editorHoverWidget.background")]
291    pub editor_hover_widget_background: Option<String>,
292    #[serde(rename = "editorHoverWidget.border")]
293    pub editor_hover_widget_border: Option<String>,
294    #[serde(rename = "editorMarkerNavigation.background")]
295    pub editor_marker_navigation_background: Option<String>,
296    #[serde(rename = "peekView.border")]
297    pub peek_view_border: Option<String>,
298    #[serde(rename = "peekViewEditor.background")]
299    pub peek_view_editor_background: Option<String>,
300    #[serde(rename = "peekViewEditor.matchHighlightBackground")]
301    pub peek_view_editor_match_highlight_background: Option<String>,
302    #[serde(rename = "peekViewResult.background")]
303    pub peek_view_result_background: Option<String>,
304    #[serde(rename = "peekViewResult.fileForeground")]
305    pub peek_view_result_file_foreground: Option<String>,
306    #[serde(rename = "peekViewResult.lineForeground")]
307    pub peek_view_result_line_foreground: Option<String>,
308    #[serde(rename = "peekViewResult.matchHighlightBackground")]
309    pub peek_view_result_match_highlight_background: Option<String>,
310    #[serde(rename = "peekViewResult.selectionBackground")]
311    pub peek_view_result_selection_background: Option<String>,
312    #[serde(rename = "peekViewResult.selectionForeground")]
313    pub peek_view_result_selection_foreground: Option<String>,
314    #[serde(rename = "peekViewTitle.background")]
315    pub peek_view_title_background: Option<String>,
316    #[serde(rename = "peekViewTitleDescription.foreground")]
317    pub peek_view_title_description_foreground: Option<String>,
318    #[serde(rename = "peekViewTitleLabel.foreground")]
319    pub peek_view_title_label_foreground: Option<String>,
320    #[serde(rename = "merge.currentHeaderBackground")]
321    pub merge_current_header_background: Option<String>,
322    #[serde(rename = "merge.incomingHeaderBackground")]
323    pub merge_incoming_header_background: Option<String>,
324    #[serde(rename = "editorOverviewRuler.currentContentForeground")]
325    pub editor_overview_ruler_current_content_foreground: Option<String>,
326    #[serde(rename = "editorOverviewRuler.incomingContentForeground")]
327    pub editor_overview_ruler_incoming_content_foreground: Option<String>,
328    #[serde(rename = "panel.background")]
329    pub panel_background: Option<String>,
330    #[serde(rename = "panel.border")]
331    pub panel_border: Option<String>,
332    #[serde(rename = "panelTitle.activeBorder")]
333    pub panel_title_active_border: Option<String>,
334    #[serde(rename = "panelTitle.activeForeground")]
335    pub panel_title_active_foreground: Option<String>,
336    #[serde(rename = "panelTitle.inactiveForeground")]
337    pub panel_title_inactive_foreground: Option<String>,
338    #[serde(rename = "statusBar.background")]
339    pub status_bar_background: Option<String>,
340    #[serde(rename = "statusBar.foreground")]
341    pub status_bar_foreground: Option<String>,
342    #[serde(rename = "statusBar.debuggingBackground")]
343    pub status_bar_debugging_background: Option<String>,
344    #[serde(rename = "statusBar.debuggingForeground")]
345    pub status_bar_debugging_foreground: Option<String>,
346    #[serde(rename = "statusBar.noFolderBackground")]
347    pub status_bar_no_folder_background: Option<String>,
348    #[serde(rename = "statusBar.noFolderForeground")]
349    pub status_bar_no_folder_foreground: Option<String>,
350    #[serde(rename = "statusBarItem.prominentBackground")]
351    pub status_bar_item_prominent_background: Option<String>,
352    #[serde(rename = "statusBarItem.prominentHoverBackground")]
353    pub status_bar_item_prominent_hover_background: Option<String>,
354    #[serde(rename = "statusBarItem.remoteForeground")]
355    pub status_bar_item_remote_foreground: Option<String>,
356    #[serde(rename = "statusBarItem.remoteBackground")]
357    pub status_bar_item_remote_background: Option<String>,
358    #[serde(rename = "titleBar.activeBackground")]
359    pub title_bar_active_background: Option<String>,
360    #[serde(rename = "titleBar.activeForeground")]
361    pub title_bar_active_foreground: Option<String>,
362    #[serde(rename = "titleBar.inactiveBackground")]
363    pub title_bar_inactive_background: Option<String>,
364    #[serde(rename = "titleBar.inactiveForeground")]
365    pub title_bar_inactive_foreground: Option<String>,
366    #[serde(rename = "extensionButton.prominentForeground")]
367    pub extension_button_prominent_foreground: Option<String>,
368    #[serde(rename = "extensionButton.prominentBackground")]
369    pub extension_button_prominent_background: Option<String>,
370    #[serde(rename = "extensionButton.prominentHoverBackground")]
371    pub extension_button_prominent_hover_background: Option<String>,
372    #[serde(rename = "pickerGroup.border")]
373    pub picker_group_border: Option<String>,
374    #[serde(rename = "pickerGroup.foreground")]
375    pub picker_group_foreground: Option<String>,
376    #[serde(rename = "debugToolBar.background")]
377    pub debug_tool_bar_background: Option<String>,
378    #[serde(rename = "walkThrough.embeddedEditorBackground")]
379    pub walk_through_embedded_editor_background: Option<String>,
380    #[serde(rename = "settings.headerForeground")]
381    pub settings_header_foreground: Option<String>,
382    #[serde(rename = "settings.modifiedItemIndicator")]
383    pub settings_modified_item_indicator: Option<String>,
384    #[serde(rename = "settings.dropdownBackground")]
385    pub settings_dropdown_background: Option<String>,
386    #[serde(rename = "settings.dropdownForeground")]
387    pub settings_dropdown_foreground: Option<String>,
388    #[serde(rename = "settings.dropdownBorder")]
389    pub settings_dropdown_border: Option<String>,
390    #[serde(rename = "settings.checkboxBackground")]
391    pub settings_checkbox_background: Option<String>,
392    #[serde(rename = "settings.checkboxForeground")]
393    pub settings_checkbox_foreground: Option<String>,
394    #[serde(rename = "settings.checkboxBorder")]
395    pub settings_checkbox_border: Option<String>,
396    #[serde(rename = "settings.textInputBackground")]
397    pub settings_text_input_background: Option<String>,
398    #[serde(rename = "settings.textInputForeground")]
399    pub settings_text_input_foreground: Option<String>,
400    #[serde(rename = "settings.textInputBorder")]
401    pub settings_text_input_border: Option<String>,
402    #[serde(rename = "settings.numberInputBackground")]
403    pub settings_number_input_background: Option<String>,
404    #[serde(rename = "settings.numberInputForeground")]
405    pub settings_number_input_foreground: Option<String>,
406    #[serde(rename = "settings.numberInputBorder")]
407    pub settings_number_input_border: Option<String>,
408    #[serde(rename = "breadcrumb.foreground")]
409    pub breadcrumb_foreground: Option<String>,
410    #[serde(rename = "breadcrumb.background")]
411    pub breadcrumb_background: Option<String>,
412    #[serde(rename = "breadcrumb.focusForeground")]
413    pub breadcrumb_focus_foreground: Option<String>,
414    #[serde(rename = "breadcrumb.activeSelectionForeground")]
415    pub breadcrumb_active_selection_foreground: Option<String>,
416    #[serde(rename = "breadcrumbPicker.background")]
417    pub breadcrumb_picker_background: Option<String>,
418    #[serde(rename = "listFilterWidget.background")]
419    pub list_filter_widget_background: Option<String>,
420    #[serde(rename = "listFilterWidget.outline")]
421    pub list_filter_widget_outline: Option<String>,
422    #[serde(rename = "listFilterWidget.noMatchesOutline")]
423    pub list_filter_widget_no_matches_outline: Option<String>,
424}