Add Noctis Theme

This commit is contained in:
Nate Butler committed 2023-11-06 12:43:10 -05:00
1 parent f8504c349c
commit 80f80df5cf
23 files changed
+12412 -4

No files matched your search

-2
View File
@@ -24,5 +24,3 @@ DerivedData/
.netrc
.swiftpm
**/*.db
**/src/themes/*.rs
!**/src/themes/.gitkeep
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "Andromeda",
"name": "Gruvbox",
"author": "morhetz",
"themes": [
{
+9
View File
@@ -0,0 +1,9 @@
MIT License
Copyright (c) 2018 Liviu Schera
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,61 @@
{
"name": "Notctis",
"author": "Liviu Schera (liviuschera)",
"themes": [
{
"name": "Noctis Azureus",
"file_name": "azureus.json",
"appearance": "dark"
},
{
"name": "Noctis Bordo",
"file_name": "bordo.json",
"appearance": "dark"
},
{
"name": "Noctus Hibernus",
"file_name": "hibernus.json",
"appearance": "light"
},
{
"name": "Noctis Lilac",
"file_name": "lilac.json",
"appearance": "dark"
},
{
"name": "Noctis Lux",
"file_name": "lux.json",
"appearance": "light"
},
{
"name": "Noctis Minimus",
"file_name": "minimus.json",
"appearance": "dark"
},
{
"name": "Noctis",
"file_name": "noctis.json",
"appearance": "dark"
},
{
"name": "Noctis Obscuro",
"file_name": "obscuro.json",
"appearance": "dark"
},
{
"name": "Noctis Sereno",
"file_name": "obscuro.json",
"appearance": "dark"
},
{
"name": "Noctis Uva",
"file_name": "uva.json",
"appearance": "dark"
},
{
"name": "Noctis Viola",
"file_name": "viola.json",
"appearance": "dark"
}
]
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+2
View File
@@ -5,6 +5,7 @@ mod registry;
mod scale;
mod settings;
mod syntax;
mod themes;
use ::settings::Settings;
pub use colors::*;
@@ -14,6 +15,7 @@ pub use registry::*;
pub use scale::*;
pub use settings::*;
pub use syntax::*;
pub use themes::*;
use gpui::{AppContext, Hsla, SharedString};
+18
View File
@@ -0,0 +1,18 @@
use gpui::rgba;
use crate::{
default_color_scales, Appearance, GitStatusColors, PlayerColor, PlayerColors, StatusColors,
SyntaxTheme, SystemColors, ThemeColors, ThemeFamily, ThemeStyles, ThemeVariant,
};
pub fn andromeda() -> ThemeFamily {
ThemeFamily {
id: "59c3749c-1bd0-4ee7-903b-5ffc7d097bf1".into(),
name: "Andromeda".into(),
author: "Eliver Lara (EliverLara)".into(),
themes: vec![ThemeVariant { id: "bdd515ce-a2e2-4414-a877-521bde0b47a1".into(), name: "Andromeda".into(), appearance: Appearance::Dark, styles: ThemeStyles { system: SystemColors { transparent: rgba(0x00000000).into(), mac_os_traffic_light_red: rgba(0xec6b5fff).into(), mac_os_traffic_light_yellow: rgba(0xf3bf4dff).into(), mac_os_traffic_light_green: rgba(0x61c454ff).into() }, colors: ThemeColors { border: rgba(0x1b1d23ff).into(), border_variant: rgba(0x1b1d23ff).into(), border_focused: rgba(0x1b1d23ff).into(), border_transparent: rgba(0x1b1d23ff).into(), elevated_surface_background: rgba(0x23262eff).into(), surface_background: rgba(0x23262eff).into(), background: rgba(0x23262eff).into(), element_background: rgba(0x00e8c5cc).into(), element_hover: rgba(0x272a2dff).into(), element_active: rgba(0x2e3135ff).into(), element_selected: rgba(0x2e3135ff).into(), element_disabled: rgba(0xddeaf814).into(), element_placeholder: rgba(0xb0b4baff).into(), element_drop_target: rgba(0x1166fb18).into(), ghost_element_background: rgba(0x00000000).into(), ghost_element_hover: rgba(0x272a2dff).into(), ghost_element_active: rgba(0x2e3135ff).into(), ghost_element_selected: rgba(0x2e3135ff).into(), ghost_element_disabled: rgba(0xddeaf814).into(), text: rgba(0xd4cdd8ff).into(), text_muted: rgba(0xb0b4baff).into(), text_placeholder: rgba(0x767a83ff).into(), text_disabled: rgba(0x696e77ff).into(), text_accent: rgba(0x6fb8ffff).into(), icon: rgba(0xb0b4baff).into(), icon_muted: rgba(0x767a83ff).into(), icon_disabled: rgba(0x696e77ff).into(), icon_placeholder: rgba(0x767a83ff).into(), icon_accent: rgba(0x6fb8ffff).into(), status_bar_background: rgba(0x18191bff).into(), title_bar_background: rgba(0x18191bff).into(), toolbar_background: rgba(0x111113ff).into(), tab_bar_background: rgba(0x18191bff).into(), tab_inactive_background: rgba(0x23262eff).into(), tab_active_background: rgba(0x23262eff).into(), editor_background: rgba(0x111113ff).into(), editor_subheader_background: rgba(0x18191bff).into(), editor_active_line: rgba(0xddeaf814).into(), terminal_background: rgba(0x111113ff).into(), terminal_ansi_bright_black: rgba(0x000000e6).into(), terminal_ansi_bright_red: rgba(0xee5d42ff).into(), terminal_ansi_bright_green: rgba(0x95e072ff).into(), terminal_ansi_bright_yellow: rgba(0xffe66dff).into(), terminal_ansi_bright_blue: rgba(0x7bb7ffff).into(), terminal_ansi_bright_magenta: rgba(0xff00a9ff).into(), terminal_ansi_bright_cyan: rgba(0x00e8c6ff).into(), terminal_ansi_bright_white: rgba(0xb0b4baff).into(), terminal_ansi_black: rgba(0x000000f2).into(), terminal_ansi_red: rgba(0xee5d42ff).into(), terminal_ansi_green: rgba(0x95e072ff).into(), terminal_ansi_yellow: rgba(0xffe66dff).into(), terminal_ansi_blue: rgba(0x7bb7ffff).into(), terminal_ansi_magenta: rgba(0xff00a9ff).into(), terminal_ansi_cyan: rgba(0x00e8c6ff).into(), terminal_ansi_white: rgba(0xedeef0ff).into() }, status: StatusColors { conflict: rgba(0xff9592ff).into(), created: rgba(0x70cf82ff).into(), deleted: rgba(0xff9592ff).into(), error: rgba(0xff9592ff).into(), hidden: rgba(0xb0b4baff).into(), ignored: rgba(0xb0b4baff).into(), info: rgba(0x6fb8ffff).into(), modified: rgba(0xf5e147ff).into(), renamed: rgba(0x6fb8ffff).into(), success: rgba(0x70cf82ff).into(), warning: rgba(0xf5e147ff).into() }, git: GitStatusColors { conflict: rgba(0xffa057ff).into(), created: rgba(0x70cf82ff).into(), deleted: rgba(0xff9592ff).into(), ignored: rgba(0xb0b4baff).into(), modified: rgba(0xf5e147ff).into(), renamed: rgba(0x6fb8ffff).into() }, player: PlayerColors(vec![PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }]), syntax: SyntaxTheme { highlights: vec![("attribute".into(), rgba(0x4ccce6ff).into()), ("boolean".into(), rgba(0xff977dff).into()), ("comment".into(), rgba(0xb0b4baff).into()), ("comment.doc".into(), rgba(0xe0dffeff).into()), ("constant".into(), rgba(0x8c323aff).into()), ("constructor".into(), rgba(0x8c323aff).into()), ("embedded".into(), rgba(0x8c323aff).into()), ("emphasis".into(), rgba(0x8c323aff).into()), ("emphasis.strong".into(), rgba(0x8c323aff).into()), ("enum".into(), rgba(0x8c323aff).into()), ("function".into(), rgba(0x8c323aff).into()), ("hint".into(), rgba(0x8c323aff).into()), ("keyword".into(), rgba(0xffa057ff).into()), ("label".into(), rgba(0x8c323aff).into()), ("link_text".into(), rgba(0x8c323aff).into()), ("link_uri".into(), rgba(0x8c323aff).into()), ("number".into(), rgba(0x8c323aff).into()), ("operator".into(), rgba(0x8c323aff).into()), ("predictive".into(), rgba(0x8c323aff).into()), ("preproc".into(), rgba(0x8c323aff).into()), ("primary"Line truncated
scales: default_color_scales(),
}
}
+18
View File
@@ -0,0 +1,18 @@
use gpui::rgba;
use crate::{
default_color_scales, Appearance, GitStatusColors, PlayerColor, PlayerColors, StatusColors,
SyntaxTheme, SystemColors, ThemeColors, ThemeFamily, ThemeStyles, ThemeVariant,
};
pub fn ayu() -> ThemeFamily {
ThemeFamily {
id: "d002a0c0-915d-4778-9b6e-33e212ce36ad".into(),
name: "Ayu".into(),
author: "dempfi (Ike Ku)".into(),
themes: vec![ThemeVariant { id: "5c9909bb-b36d-438d-bad3-0a4d4d1d98cd".into(), name: "Ayu Light".into(), appearance: Appearance::Light, styles: ThemeStyles { system: SystemColors { transparent: rgba(0x00000000).into(), mac_os_traffic_light_red: rgba(0xec6b5fff).into(), mac_os_traffic_light_yellow: rgba(0xf3bf4dff).into(), mac_os_traffic_light_green: rgba(0x61c454ff).into() }, colors: ThemeColors { border: rgba(0x6b7d8f1f).into(), border_variant: rgba(0x6b7d8f1f).into(), border_focused: rgba(0x6b7d8f1f).into(), border_transparent: rgba(0x6b7d8f1f).into(), elevated_surface_background: rgba(0xf8f9faff).into(), surface_background: rgba(0xf8f9faff).into(), background: rgba(0xf8f9faff).into(), element_background: rgba(0xffaa32ff).into(), element_hover: rgba(0xe8e8ecff).into(), element_active: rgba(0xe0e1e6ff).into(), element_selected: rgba(0xe0e1e6ff).into(), element_disabled: rgba(0x0000320f).into(), element_placeholder: rgba(0x60646cff).into(), element_drop_target: rgba(0x008bff0b).into(), ghost_element_background: rgba(0x00000000).into(), ghost_element_hover: rgba(0xe8e8ecff).into(), ghost_element_active: rgba(0xe0e1e6ff).into(), ghost_element_selected: rgba(0xe0e1e6ff).into(), ghost_element_disabled: rgba(0x0000320f).into(), text: rgba(0x8a9199ff).into(), text_muted: rgba(0x60646cff).into(), text_placeholder: rgba(0x80838dff).into(), text_disabled: rgba(0x8b8d98ff).into(), text_accent: rgba(0x0c73ceff).into(), icon: rgba(0x60646cff).into(), icon_muted: rgba(0x80838dff).into(), icon_disabled: rgba(0x8b8d98ff).into(), icon_placeholder: rgba(0x80838dff).into(), icon_accent: rgba(0x0c73ceff).into(), status_bar_background: rgba(0xf9f9fbff).into(), title_bar_background: rgba(0xf9f9fbff).into(), toolbar_background: rgba(0xfcfcfdff).into(), tab_bar_background: rgba(0xf9f9fbff).into(), tab_inactive_background: rgba(0xf8f9faff).into(), tab_active_background: rgba(0xf8f9faff).into(), editor_background: rgba(0xfcfcfdff).into(), editor_subheader_background: rgba(0xf9f9fbff).into(), editor_active_line: rgba(0x0000320f).into(), terminal_background: rgba(0xf8f9faff).into(), terminal_ansi_bright_black: rgba(0x686868ff).into(), terminal_ansi_bright_red: rgba(0xef7070ff).into(), terminal_ansi_bright_green: rgba(0x86b300ff).into(), terminal_ansi_bright_yellow: rgba(0xf2ad48ff).into(), terminal_ansi_bright_blue: rgba(0x389ee6ff).into(), terminal_ansi_bright_magenta: rgba(0xa37accff).into(), terminal_ansi_bright_cyan: rgba(0x4bbf98ff).into(), terminal_ansi_bright_white: rgba(0xd1d1d1ff).into(), terminal_ansi_black: rgba(0x000000ff).into(), terminal_ansi_red: rgba(0xea6c6dff).into(), terminal_ansi_green: rgba(0x6cbf43ff).into(), terminal_ansi_yellow: rgba(0xeca944ff).into(), terminal_ansi_blue: rgba(0x3198e1ff).into(), terminal_ansi_magenta: rgba(0x9e75c7ff).into(), terminal_ansi_cyan: rgba(0x46ba94ff).into(), terminal_ansi_white: rgba(0xc7c7c7ff).into() }, status: StatusColors { conflict: rgba(0xff9592ff).into(), created: rgba(0x70cf82ff).into(), deleted: rgba(0xff9592ff).into(), error: rgba(0xff9592ff).into(), hidden: rgba(0xb0b4baff).into(), ignored: rgba(0xb0b4baff).into(), info: rgba(0x6fb8ffff).into(), modified: rgba(0xf5e147ff).into(), renamed: rgba(0x6fb8ffff).into(), success: rgba(0x70cf82ff).into(), warning: rgba(0xf5e147ff).into() }, git: GitStatusColors { conflict: rgba(0xffa057ff).into(), created: rgba(0x70cf82ff).into(), deleted: rgba(0xff9592ff).into(), ignored: rgba(0xb0b4baff).into(), modified: rgba(0xf5e147ff).into(), renamed: rgba(0x6fb8ffff).into() }, player: PlayerColors(vec![PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }]), syntax: SyntaxTheme { highlights: vec![("attribute".into(), rgba(0x4ccce6ff).into()), ("boolean".into(), rgba(0xff977dff).into()), ("comment".into(), rgba(0xb0b4baff).into()), ("comment.doc".into(), rgba(0xe0dffeff).into()), ("constant".into(), rgba(0x8c323aff).into()), ("constructor".into(), rgba(0x8c323aff).into()), ("embedded".into(), rgba(0x8c323aff).into()), ("emphasis".into(), rgba(0x8c323aff).into()), ("emphasis.strong".into(), rgba(0x8c323aff).into()), ("enum".into(), rgba(0x8c323aff).into()), ("function".into(), rgba(0x8c323aff).into()), ("hint".into(), rgba(0x8c323aff).into()), ("keyword".into(), rgba(0xffa057ff).into()), ("label".into(), rgba(0x8c323aff).into()), ("link_text".into(), rgba(0x8c323aff).into()), ("link_uri".into(), rgba(0x8c323aff).into()), ("number".into(), rgba(0x8c323aff).into()), ("operator".into(), rgba(0x8c323aff).into()), ("predictive".into(), rgba(0x8c323aff).into()), ("preproc".into(), rgba(0x8c323aff).into()), ("primary Line truncated
scales: default_color_scales(),
}
}
+18
View File
@@ -0,0 +1,18 @@
use gpui::rgba;
use crate::{
default_color_scales, Appearance, GitStatusColors, PlayerColor, PlayerColors, StatusColors,
SyntaxTheme, SystemColors, ThemeColors, ThemeFamily, ThemeStyles, ThemeVariant,
};
pub fn dracula() -> ThemeFamily {
ThemeFamily {
id: "a8d7fe1f-5446-4d10-a462-5c4693d889d3".into(),
name: "Dracula".into(),
author: "Zeno Rocha".into(),
themes: vec![ThemeVariant { id: "ff2a239f-097b-4c86-a517-14011cd7fb52".into(), name: "Dracula".into(), appearance: Appearance::Dark, styles: ThemeStyles { system: SystemColors { transparent: rgba(0x00000000).into(), mac_os_traffic_light_red: rgba(0xec6b5fff).into(), mac_os_traffic_light_yellow: rgba(0xf3bf4dff).into(), mac_os_traffic_light_green: rgba(0x61c454ff).into() }, colors: ThemeColors { border: rgba(0xbd93f9ff).into(), border_variant: rgba(0xbd93f9ff).into(), border_focused: rgba(0xbd93f9ff).into(), border_transparent: rgba(0xbd93f9ff).into(), elevated_surface_background: rgba(0x282a35ff).into(), surface_background: rgba(0x282a35ff).into(), background: rgba(0x282a35ff).into(), element_background: rgba(0x44475aff).into(), element_hover: rgba(0x272a2dff).into(), element_active: rgba(0x2e3135ff).into(), element_selected: rgba(0x2e3135ff).into(), element_disabled: rgba(0xddeaf814).into(), element_placeholder: rgba(0xb0b4baff).into(), element_drop_target: rgba(0x1166fb18).into(), ghost_element_background: rgba(0x00000000).into(), ghost_element_hover: rgba(0x272a2dff).into(), ghost_element_active: rgba(0x2e3135ff).into(), ghost_element_selected: rgba(0x2e3135ff).into(), ghost_element_disabled: rgba(0xddeaf814).into(), text: rgba(0xf8f8f2ff).into(), text_muted: rgba(0xb0b4baff).into(), text_placeholder: rgba(0x767a83ff).into(), text_disabled: rgba(0x696e77ff).into(), text_accent: rgba(0x6fb8ffff).into(), icon: rgba(0xb0b4baff).into(), icon_muted: rgba(0x767a83ff).into(), icon_disabled: rgba(0x696e77ff).into(), icon_placeholder: rgba(0x767a83ff).into(), icon_accent: rgba(0x6fb8ffff).into(), status_bar_background: rgba(0x18191bff).into(), title_bar_background: rgba(0x18191bff).into(), toolbar_background: rgba(0x111113ff).into(), tab_bar_background: rgba(0x18191bff).into(), tab_inactive_background: rgba(0x21222cff).into(), tab_active_background: rgba(0x282a35ff).into(), editor_background: rgba(0x111113ff).into(), editor_subheader_background: rgba(0x18191bff).into(), editor_active_line: rgba(0xddeaf814).into(), terminal_background: rgba(0x282a35ff).into(), terminal_ansi_bright_black: rgba(0x6272a4ff).into(), terminal_ansi_bright_red: rgba(0xff6d6dff).into(), terminal_ansi_bright_green: rgba(0x69ff94ff).into(), terminal_ansi_bright_yellow: rgba(0xffffa5ff).into(), terminal_ansi_bright_blue: rgba(0xd6abfeff).into(), terminal_ansi_bright_magenta: rgba(0xff92dfff).into(), terminal_ansi_bright_cyan: rgba(0xa3fefeff).into(), terminal_ansi_bright_white: rgba(0xffffffff).into(), terminal_ansi_black: rgba(0x21222cff).into(), terminal_ansi_red: rgba(0xff5555ff).into(), terminal_ansi_green: rgba(0x50fa7bff).into(), terminal_ansi_yellow: rgba(0xf1fa8cff).into(), terminal_ansi_blue: rgba(0xbd93f9ff).into(), terminal_ansi_magenta: rgba(0xff79c6ff).into(), terminal_ansi_cyan: rgba(0x8be9fdff).into(), terminal_ansi_white: rgba(0xf8f8f2ff).into() }, status: StatusColors { conflict: rgba(0xff9592ff).into(), created: rgba(0x70cf82ff).into(), deleted: rgba(0xff9592ff).into(), error: rgba(0xff9592ff).into(), hidden: rgba(0xb0b4baff).into(), ignored: rgba(0xb0b4baff).into(), info: rgba(0x6fb8ffff).into(), modified: rgba(0xf5e147ff).into(), renamed: rgba(0x6fb8ffff).into(), success: rgba(0x70cf82ff).into(), warning: rgba(0xf5e147ff).into() }, git: GitStatusColors { conflict: rgba(0xffa057ff).into(), created: rgba(0x70cf82ff).into(), deleted: rgba(0xff9592ff).into(), ignored: rgba(0xb0b4baff).into(), modified: rgba(0xf5e147ff).into(), renamed: rgba(0x6fb8ffff).into() }, player: PlayerColors(vec![PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }]), syntax: SyntaxTheme { highlights: vec![("attribute".into(), rgba(0x4ccce6ff).into()), ("boolean".into(), rgba(0xff977dff).into()), ("comment".into(), rgba(0xb0b4baff).into()), ("comment.doc".into(), rgba(0xe0dffeff).into()), ("constant".into(), rgba(0x8c323aff).into()), ("constructor".into(), rgba(0x8c323aff).into()), ("embedded".into(), rgba(0x8c323aff).into()), ("emphasis".into(), rgba(0x8c323aff).into()), ("emphasis.strong".into(), rgba(0x8c323aff).into()), ("enum".into(), rgba(0x8c323aff).into()), ("function".into(), rgba(0x8c323aff).into()), ("hint".into(), rgba(0x8c323aff).into()), ("keyword".into(), rgba(0xffa057ff).into()), ("label".into(), rgba(0x8c323aff).into()), ("link_text".into(), rgba(0x8c323aff).into()), ("link_uri".into(), rgba(0x8c323aff).into()), ("number".into(), rgba(0x8c323aff).into()), ("operator".into(), rgba(0x8c323aff).into()), ("predictive".into(), rgba(0x8c323aff).into()), ("preproc".into(), rgba(0x8c323aff).into()), ("primary".iLine truncated
scales: default_color_scales(),
}
}
+18
View File
@@ -0,0 +1,18 @@
use gpui::rgba;
use crate::{
default_color_scales, Appearance, GitStatusColors, PlayerColor, PlayerColors, StatusColors,
SyntaxTheme, SystemColors, ThemeColors, ThemeFamily, ThemeStyles, ThemeVariant,
};
pub fn gruvbox() -> ThemeFamily {
ThemeFamily {
id: "aed09b4b-6e2c-4de2-ac0e-a17f5575b8ce".into(),
name: "Gruvbox".into(),
author: "morhetz".into(),
themes: vec![ThemeVariant { id: "53e773b8-60fe-40dc-b624-ab33a834627b".into(), name: "Gruvbox Dark Hard".into(), appearance: Appearance::Dark, styles: ThemeStyles { system: SystemColors { transparent: rgba(0x00000000).into(), mac_os_traffic_light_red: rgba(0xec6b5fff).into(), mac_os_traffic_light_yellow: rgba(0xf3bf4dff).into(), mac_os_traffic_light_green: rgba(0x61c454ff).into() }, colors: ThemeColors { border: rgba(0x3c3836ff).into(), border_variant: rgba(0x3c3836ff).into(), border_focused: rgba(0x3c3836ff).into(), border_transparent: rgba(0x3c3836ff).into(), elevated_surface_background: rgba(0x18191bff).into(), surface_background: rgba(0x18191bff).into(), background: rgba(0x1d2021ff).into(), element_background: rgba(0x44858780).into(), element_hover: rgba(0x272a2dff).into(), element_active: rgba(0x2e3135ff).into(), element_selected: rgba(0x2e3135ff).into(), element_disabled: rgba(0xddeaf814).into(), element_placeholder: rgba(0xb0b4baff).into(), element_drop_target: rgba(0x1166fb18).into(), ghost_element_background: rgba(0x00000000).into(), ghost_element_hover: rgba(0x272a2dff).into(), ghost_element_active: rgba(0x2e3135ff).into(), ghost_element_selected: rgba(0x2e3135ff).into(), ghost_element_disabled: rgba(0xddeaf814).into(), text: rgba(0xebdbb2ff).into(), text_muted: rgba(0xb0b4baff).into(), text_placeholder: rgba(0x767a83ff).into(), text_disabled: rgba(0x696e77ff).into(), text_accent: rgba(0x6fb8ffff).into(), icon: rgba(0xb0b4baff).into(), icon_muted: rgba(0x767a83ff).into(), icon_disabled: rgba(0x696e77ff).into(), icon_placeholder: rgba(0x767a83ff).into(), icon_accent: rgba(0x6fb8ffff).into(), status_bar_background: rgba(0x18191bff).into(), title_bar_background: rgba(0x18191bff).into(), toolbar_background: rgba(0x111113ff).into(), tab_bar_background: rgba(0x18191bff).into(), tab_inactive_background: rgba(0x1d2021ff).into(), tab_active_background: rgba(0x32302fff).into(), editor_background: rgba(0x111113ff).into(), editor_subheader_background: rgba(0x18191bff).into(), editor_active_line: rgba(0xddeaf814).into(), terminal_background: rgba(0x1d2021ff).into(), terminal_ansi_bright_black: rgba(0x928374ff).into(), terminal_ansi_bright_red: rgba(0xfb4833ff).into(), terminal_ansi_bright_green: rgba(0xb8bb25ff).into(), terminal_ansi_bright_yellow: rgba(0xfabd2eff).into(), terminal_ansi_bright_blue: rgba(0x83a598ff).into(), terminal_ansi_bright_magenta: rgba(0xd3869bff).into(), terminal_ansi_bright_cyan: rgba(0x8ec07cff).into(), terminal_ansi_bright_white: rgba(0xebdbb2ff).into(), terminal_ansi_black: rgba(0x3c3836ff).into(), terminal_ansi_red: rgba(0xcc241cff).into(), terminal_ansi_green: rgba(0x989719ff).into(), terminal_ansi_yellow: rgba(0xd79920ff).into(), terminal_ansi_blue: rgba(0x448587ff).into(), terminal_ansi_magenta: rgba(0xb16185ff).into(), terminal_ansi_cyan: rgba(0x679d6aff).into(), terminal_ansi_white: rgba(0xa89984ff).into() }, status: StatusColors { conflict: rgba(0xff9592ff).into(), created: rgba(0x70cf82ff).into(), deleted: rgba(0xff9592ff).into(), error: rgba(0xff9592ff).into(), hidden: rgba(0xb0b4baff).into(), ignored: rgba(0xb0b4baff).into(), info: rgba(0x6fb8ffff).into(), modified: rgba(0xf5e147ff).into(), renamed: rgba(0x6fb8ffff).into(), success: rgba(0x70cf82ff).into(), warning: rgba(0xf5e147ff).into() }, git: GitStatusColors { conflict: rgba(0xffa057ff).into(), created: rgba(0x70cf82ff).into(), deleted: rgba(0xff9592ff).into(), ignored: rgba(0xb0b4baff).into(), modified: rgba(0xf5e147ff).into(), renamed: rgba(0x6fb8ffff).into() }, player: PlayerColors(vec![PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }]), syntax: SyntaxTheme { highlights: vec![("attribute".into(), rgba(0x4ccce6ff).into()), ("boolean".into(), rgba(0xff977dff).into()), ("comment".into(), rgba(0xb0b4baff).into()), ("comment.doc".into(), rgba(0xe0dffeff).into()), ("constant".into(), rgba(0x8c323aff).into()), ("constructor".into(), rgba(0x8c323aff).into()), ("embedded".into(), rgba(0x8c323aff).into()), ("emphasis".into(), rgba(0x8c323aff).into()), ("emphasis.strong".into(), rgba(0x8c323aff).into()), ("enum".into(), rgba(0x8c323aff).into()), ("function".into(), rgba(0x8c323aff).into()), ("hint".into(), rgba(0x8c323aff).into()), ("keyword".into(), rgba(0xffa057ff).into()), ("label".into(), rgba(0x8c323aff).into()), ("link_text".into(), rgba(0x8c323aff).into()), ("link_uri".into(), rgba(0x8c323aff).into()), ("number".into(), rgba(0x8c323aff).into()), ("operator".into(), rgba(0x8c323aff).into()), ("predictive".into(), rgba(0x8c323aff).into()), ("preproc".into(), rgba(0x8c323aff).into()), ("Line truncated
scales: default_color_scales(),
}
}
+12
View File
@@ -0,0 +1,12 @@
mod andromeda;
mod ayu;
mod dracula;
mod gruvbox;
mod notctis;
pub use andromeda::*;
pub use ayu::*;
pub use dracula::*;
pub use gruvbox::*;
pub use notctis::*;
+18
View File
@@ -0,0 +1,18 @@
use gpui::rgba;
use crate::{
default_color_scales, Appearance, GitStatusColors, PlayerColor, PlayerColors, StatusColors,
SyntaxTheme, SystemColors, ThemeColors, ThemeFamily, ThemeStyles, ThemeVariant,
};
pub fn notctis() -> ThemeFamily {
ThemeFamily {
id: "ad886135-2fff-4311-b2bb-2ce1ebd1c50d".into(),
name: "Notctis".into(),
author: "Liviu Schera (liviuschera)".into(),
themes: vec![ThemeVariant { id: "b79ece4f-89f3-4388-94ad-edeabfddba87".into(), name: "Noctis Azureus".into(), appearance: Appearance::Dark, styles: ThemeStyles { system: SystemColors { transparent: rgba(0x00000000).into(), mac_os_traffic_light_red: rgba(0xec6b5fff).into(), mac_os_traffic_light_yellow: rgba(0xf3bf4dff).into(), mac_os_traffic_light_green: rgba(0x61c454ff).into() }, colors: ThemeColors { border: rgba(0x1579b6ff).into(), border_variant: rgba(0x1579b6ff).into(), border_focused: rgba(0x1579b6ff).into(), border_transparent: rgba(0x1579b6ff).into(), elevated_surface_background: rgba(0x051b28ff).into(), surface_background: rgba(0x051b28ff).into(), background: rgba(0x07263aff).into(), element_background: rgba(0x007e99ff).into(), element_hover: rgba(0x272a2dff).into(), element_active: rgba(0x2e3135ff).into(), element_selected: rgba(0x2e3135ff).into(), element_disabled: rgba(0xddeaf814).into(), element_placeholder: rgba(0xb0b4baff).into(), element_drop_target: rgba(0x1166fb18).into(), ghost_element_background: rgba(0x00000000).into(), ghost_element_hover: rgba(0x272a2dff).into(), ghost_element_active: rgba(0x2e3135ff).into(), ghost_element_selected: rgba(0x2e3135ff).into(), ghost_element_disabled: rgba(0xddeaf814).into(), text: rgba(0xbecfdaff).into(), text_muted: rgba(0xb0b4baff).into(), text_placeholder: rgba(0x767a83ff).into(), text_disabled: rgba(0x696e77ff).into(), text_accent: rgba(0x6fb8ffff).into(), icon: rgba(0xb0b4baff).into(), icon_muted: rgba(0x767a83ff).into(), icon_disabled: rgba(0x696e77ff).into(), icon_placeholder: rgba(0x767a83ff).into(), icon_accent: rgba(0x6fb8ffff).into(), status_bar_background: rgba(0x18191bff).into(), title_bar_background: rgba(0x18191bff).into(), toolbar_background: rgba(0x111113ff).into(), tab_bar_background: rgba(0x18191bff).into(), tab_inactive_background: rgba(0x08324eff).into(), tab_active_background: rgba(0x07263aff).into(), editor_background: rgba(0x111113ff).into(), editor_subheader_background: rgba(0x18191bff).into(), editor_active_line: rgba(0xddeaf814).into(), terminal_background: rgba(0x051b28ff).into(), terminal_ansi_bright_black: rgba(0x475e6cff).into(), terminal_ansi_bright_red: rgba(0xe97749ff).into(), terminal_ansi_bright_green: rgba(0x5febb1ff).into(), terminal_ansi_bright_yellow: rgba(0xe69532ff).into(), terminal_ansi_bright_blue: rgba(0x5fb5ebff).into(), terminal_ansi_bright_magenta: rgba(0xe697b2ff).into(), terminal_ansi_bright_cyan: rgba(0x5fdaebff).into(), terminal_ansi_bright_white: rgba(0xbecfdaff).into(), terminal_ansi_black: rgba(0x28343dff).into(), terminal_ansi_red: rgba(0xe66432ff).into(), terminal_ansi_green: rgba(0x49e9a6ff).into(), terminal_ansi_yellow: rgba(0xe4b781ff).into(), terminal_ansi_blue: rgba(0x49ace9ff).into(), terminal_ansi_magenta: rgba(0xdf759aff).into(), terminal_ansi_cyan: rgba(0x49d5e9ff).into(), terminal_ansi_white: rgba(0xaec3d0ff).into() }, status: StatusColors { conflict: rgba(0xff9592ff).into(), created: rgba(0x70cf82ff).into(), deleted: rgba(0xff9592ff).into(), error: rgba(0xff9592ff).into(), hidden: rgba(0xb0b4baff).into(), ignored: rgba(0xb0b4baff).into(), info: rgba(0x6fb8ffff).into(), modified: rgba(0xf5e147ff).into(), renamed: rgba(0x6fb8ffff).into(), success: rgba(0x70cf82ff).into(), warning: rgba(0xf5e147ff).into() }, git: GitStatusColors { conflict: rgba(0xffa057ff).into(), created: rgba(0x70cf82ff).into(), deleted: rgba(0xff9592ff).into(), ignored: rgba(0xb0b4baff).into(), modified: rgba(0xf5e147ff).into(), renamed: rgba(0x6fb8ffff).into() }, player: PlayerColors(vec![PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }, PlayerColor { cursor: rgba(0x00000000).into(), background: rgba(0x00000000).into(), selection: rgba(0x00000000).into() }]), syntax: SyntaxTheme { highlights: vec![("attribute".into(), rgba(0x4ccce6ff).into()), ("boolean".into(), rgba(0xff977dff).into()), ("comment".into(), rgba(0xb0b4baff).into()), ("comment.doc".into(), rgba(0xe0dffeff).into()), ("constant".into(), rgba(0x8c323aff).into()), ("constructor".into(), rgba(0x8c323aff).into()), ("embedded".into(), rgba(0x8c323aff).into()), ("emphasis".into(), rgba(0x8c323aff).into()), ("emphasis.strong".into(), rgba(0x8c323aff).into()), ("enum".into(), rgba(0x8c323aff).into()), ("function".into(), rgba(0x8c323aff).into()), ("hint".into(), rgba(0x8c323aff).into()), ("keyword".into(), rgba(0xffa057ff).into()), ("label".into(), rgba(0x8c323aff).into()), ("link_text".into(), rgba(0x8c323aff).into()), ("link_uri".into(), rgba(0x8c323aff).into()), ("number".into(), rgba(0x8c323aff).into()), ("operator".into(), rgba(0x8c323aff).into()), ("predictive".into(), rgba(0x8c323aff).into()), ("preproc".into(), rgba(0x8c323aff).into()), ("pri Line truncated
scales: default_color_scales(),
}
}
+22 -1
View File
@@ -52,11 +52,14 @@ pub struct ThemeMetadata {
fn main() -> Result<()> {
SimpleLogger::init(LevelFilter::Info, Default::default()).expect("could not initialize logger");
println!("Creating path: assets/themes/src/vscode/");
let vscode_themes_path = PathBuf::from_str("assets/themes/src/vscode/")?;
let mut theme_families = Vec::new();
for theme_family_dir in fs::read_dir(&vscode_themes_path)? {
println!("Reading directory: {:?}", vscode_themes_path);
let theme_family_dir = theme_family_dir?;
if theme_family_dir.file_name().to_str() == Some(".DS_Store") {
@@ -69,6 +72,10 @@ fn main() -> Result<()> {
.ok_or(anyhow!("no file stem"))
.map(|stem| stem.to_string_lossy().to_string())?;
println!(
"Opening file: {:?}",
theme_family_dir.path().join("family.json")
);
let family_metadata_file = File::open(theme_family_dir.path().join("family.json"))
.context(format!("no `family.json` found for '{theme_family_slug}'"))?;
@@ -82,7 +89,13 @@ fn main() -> Result<()> {
for theme_metadata in family_metadata.themes {
let theme_file_path = theme_family_dir.path().join(&theme_metadata.file_name);
let theme_file = File::open(&theme_file_path)?;
let theme_file = match File::open(&theme_file_path) {
Ok(file) => file,
Err(_) => {
println!("Failed to open file at path: {:?}", theme_file_path);
continue;
}
};
let vscode_theme: VsCodeTheme = serde_json::from_reader(theme_file)
.context(format!("failed to parse theme {theme_file_path:?}"))?;
@@ -114,6 +127,10 @@ fn main() -> Result<()> {
let mut output_file =
File::create(themes_output_path.join(format!("{theme_family_slug}.rs")))?;
println!(
"Creating file: {:?}",
themes_output_path.join(format!("{theme_family_slug}.rs"))
);
let theme_module = format!(
r#"
@@ -136,6 +153,10 @@ fn main() -> Result<()> {
theme_modules.push(theme_family_slug);
}
println!(
"Creating file: {:?}",
themes_output_path.join(format!("mod.rs"))
);
let mut mod_rs_file = File::create(themes_output_path.join(format!("mod.rs")))?;
let mod_rs_contents = format!(