Extend UserSyntax to allow font_style and font_weight to be specified
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
This commit is contained in:
co-authored by
Marshall Bowers
parent
978cff8095
commit
ff053890cf
@@ -69,6 +69,7 @@ pub fn ayu() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x787b8099).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -146,6 +147,7 @@ pub fn ayu() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0xb8cfe680).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -223,6 +225,7 @@ pub fn ayu() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0xabb5be8c).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
|
||||
@@ -68,6 +68,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x928374ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -144,6 +145,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x928374ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -220,6 +222,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x928374ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -296,6 +299,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x928374ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -372,6 +376,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x928374ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -448,6 +453,7 @@ pub fn gruvbox() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x928374ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
|
||||
@@ -69,6 +69,7 @@ pub fn night_owl() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x637777ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -147,6 +148,7 @@ pub fn night_owl() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x989fb1ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
|
||||
@@ -69,6 +69,7 @@ pub fn palenight() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x687097ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -146,6 +147,7 @@ pub fn palenight() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x687097ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -223,6 +225,7 @@ pub fn palenight() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x687097ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
|
||||
@@ -70,6 +70,7 @@ pub fn rose_pine() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x6e6a86ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -77,6 +78,7 @@ pub fn rose_pine() -> UserThemeFamily {
|
||||
"something".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0xebbcbaff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -148,6 +150,7 @@ pub fn rose_pine() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x6e6a86ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -155,6 +158,7 @@ pub fn rose_pine() -> UserThemeFamily {
|
||||
"something".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0xea9a97ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -226,6 +230,7 @@ pub fn rose_pine() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x9893a5ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -233,6 +238,7 @@ pub fn rose_pine() -> UserThemeFamily {
|
||||
"something".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0xd7827dff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
|
||||
@@ -65,6 +65,7 @@ pub fn solarized() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x657b83ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -72,6 +73,7 @@ pub fn solarized() -> UserThemeFamily {
|
||||
"something".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x93a1a1ff).into()),
|
||||
font_weight: Some(UserFontWeight(700.0)),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
@@ -135,6 +137,7 @@ pub fn solarized() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x93a1a1ff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
|
||||
@@ -55,6 +55,7 @@ pub fn synthwave_84() -> UserThemeFamily {
|
||||
"comment".into(),
|
||||
UserHighlightStyle {
|
||||
color: Some(rgba(0x848bbdff).into()),
|
||||
font_style: Some(UserFontStyle::Italic),
|
||||
..Default::default()
|
||||
},
|
||||
),
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use gpui::Hsla;
|
||||
use gpui::{FontWeight, Hsla};
|
||||
use refineable::Refineable;
|
||||
use serde::Deserialize;
|
||||
|
||||
@@ -36,6 +36,39 @@ pub struct UserSyntaxTheme {
|
||||
#[derive(Clone, Default, Deserialize)]
|
||||
pub struct UserHighlightStyle {
|
||||
pub color: Option<Hsla>,
|
||||
pub font_style: Option<UserFontStyle>,
|
||||
pub font_weight: Option<UserFontWeight>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Default, Deserialize)]
|
||||
pub struct UserFontWeight(pub f32);
|
||||
|
||||
impl UserFontWeight {
|
||||
/// Thin weight (100), the thinnest value.
|
||||
pub const THIN: Self = Self(FontWeight::THIN.0);
|
||||
/// Extra light weight (200).
|
||||
pub const EXTRA_LIGHT: Self = Self(FontWeight::EXTRA_LIGHT.0);
|
||||
/// Light weight (300).
|
||||
pub const LIGHT: Self = Self(FontWeight::LIGHT.0);
|
||||
/// Normal (400).
|
||||
pub const NORMAL: Self = Self(FontWeight::NORMAL.0);
|
||||
/// Medium weight (500, higher than normal).
|
||||
pub const MEDIUM: Self = Self(FontWeight::MEDIUM.0);
|
||||
/// Semibold weight (600).
|
||||
pub const SEMIBOLD: Self = Self(FontWeight::SEMIBOLD.0);
|
||||
/// Bold weight (700).
|
||||
pub const BOLD: Self = Self(FontWeight::BOLD.0);
|
||||
/// Extra-bold weight (800).
|
||||
pub const EXTRA_BOLD: Self = Self(FontWeight::EXTRA_BOLD.0);
|
||||
/// Black weight (900), the thickest value.
|
||||
pub const BLACK: Self = Self(FontWeight::BLACK.0);
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, Deserialize)]
|
||||
pub enum UserFontStyle {
|
||||
Normal,
|
||||
Italic,
|
||||
Oblique,
|
||||
}
|
||||
|
||||
impl UserHighlightStyle {
|
||||
|
||||
Reference in New Issue
Block a user