Pass proper theme colors for inlays and suggestions
This commit is contained in:
parent
147c99f1a7
commit
f76e1cfd91
5 changed files with 30 additions and 19 deletions
|
@ -24,7 +24,7 @@ use lsp::DiagnosticSeverity;
|
||||||
use std::{any::TypeId, borrow::Cow, fmt::Debug, num::NonZeroU32, ops::Range, sync::Arc};
|
use std::{any::TypeId, borrow::Cow, fmt::Debug, num::NonZeroU32, ops::Range, sync::Arc};
|
||||||
use sum_tree::{Bias, TreeMap};
|
use sum_tree::{Bias, TreeMap};
|
||||||
use tab_map::TabMap;
|
use tab_map::TabMap;
|
||||||
use theme::{SyntaxTheme, Theme};
|
use theme::{StatusColors, SyntaxTheme, Theme};
|
||||||
use wrap_map::WrapMap;
|
use wrap_map::WrapMap;
|
||||||
|
|
||||||
pub use block_map::{
|
pub use block_map::{
|
||||||
|
@ -513,8 +513,8 @@ impl DisplaySnapshot {
|
||||||
self.chunks(
|
self.chunks(
|
||||||
display_rows,
|
display_rows,
|
||||||
language_aware,
|
language_aware,
|
||||||
Some(editor_style.syntax.inlay_style),
|
Some(editor_style.hints_style),
|
||||||
Some(editor_style.syntax.suggestion_style),
|
Some(editor_style.suggestions_style),
|
||||||
)
|
)
|
||||||
.map(|chunk| {
|
.map(|chunk| {
|
||||||
let mut highlight_style = chunk
|
let mut highlight_style = chunk
|
||||||
|
|
|
@ -499,6 +499,8 @@ pub struct EditorStyle {
|
||||||
pub scrollbar_width: Pixels,
|
pub scrollbar_width: Pixels,
|
||||||
pub syntax: Arc<SyntaxTheme>,
|
pub syntax: Arc<SyntaxTheme>,
|
||||||
pub diagnostic_style: DiagnosticStyle,
|
pub diagnostic_style: DiagnosticStyle,
|
||||||
|
pub hints_style: HighlightStyle,
|
||||||
|
pub suggestions_style: HighlightStyle,
|
||||||
}
|
}
|
||||||
|
|
||||||
type CompletionId = usize;
|
type CompletionId = usize;
|
||||||
|
@ -7640,6 +7642,18 @@ impl Editor {
|
||||||
.editor_style
|
.editor_style
|
||||||
.diagnostic_style
|
.diagnostic_style
|
||||||
.clone(),
|
.clone(),
|
||||||
|
// todo!("what about the rest of the highlight style parts for inlays and suggestions?")
|
||||||
|
hints_style: HighlightStyle {
|
||||||
|
color: Some(cx.theme().status().hint),
|
||||||
|
font_weight: Some(FontWeight::BOLD),
|
||||||
|
fade_out: Some(0.6),
|
||||||
|
..HighlightStyle::default()
|
||||||
|
},
|
||||||
|
suggestions_style: HighlightStyle {
|
||||||
|
color: Some(cx.theme().status().predictive),
|
||||||
|
fade_out: Some(0.6),
|
||||||
|
..HighlightStyle::default()
|
||||||
|
},
|
||||||
},
|
},
|
||||||
))
|
))
|
||||||
.into_any_element()
|
.into_any_element()
|
||||||
|
@ -9302,6 +9316,19 @@ impl Render for Editor {
|
||||||
scrollbar_width: px(12.),
|
scrollbar_width: px(12.),
|
||||||
syntax: cx.theme().syntax().clone(),
|
syntax: cx.theme().syntax().clone(),
|
||||||
diagnostic_style: cx.theme().diagnostic_style(),
|
diagnostic_style: cx.theme().diagnostic_style(),
|
||||||
|
// TODO kb find `HighlightStyle` usages
|
||||||
|
// todo!("what about the rest of the highlight style parts?")
|
||||||
|
hints_style: HighlightStyle {
|
||||||
|
color: Some(cx.theme().status().hint),
|
||||||
|
font_weight: Some(FontWeight::BOLD),
|
||||||
|
fade_out: Some(0.6),
|
||||||
|
..HighlightStyle::default()
|
||||||
|
},
|
||||||
|
suggestions_style: HighlightStyle {
|
||||||
|
color: Some(cx.theme().status().predictive),
|
||||||
|
fade_out: Some(0.6),
|
||||||
|
..HighlightStyle::default()
|
||||||
|
},
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,8 +95,6 @@ mod tests {
|
||||||
.iter()
|
.iter()
|
||||||
.map(|(name, color)| (name.to_string(), (*color).into()))
|
.map(|(name, color)| (name.to_string(), (*color).into()))
|
||||||
.collect(),
|
.collect(),
|
||||||
inlay_style: HighlightStyle::default(),
|
|
||||||
suggestion_style: HighlightStyle::default(),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let capture_names = &[
|
let capture_names = &[
|
||||||
|
|
|
@ -191,8 +191,6 @@ pub(crate) fn one_dark() -> Theme {
|
||||||
("variable.special".into(), red.into()),
|
("variable.special".into(), red.into()),
|
||||||
("variant".into(), HighlightStyle::default()),
|
("variant".into(), HighlightStyle::default()),
|
||||||
],
|
],
|
||||||
inlay_style: HighlightStyle::default(),
|
|
||||||
suggestion_style: HighlightStyle::default(),
|
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,12 +8,6 @@ use crate::{
|
||||||
#[derive(Clone, Default)]
|
#[derive(Clone, Default)]
|
||||||
pub struct SyntaxTheme {
|
pub struct SyntaxTheme {
|
||||||
pub highlights: Vec<(String, HighlightStyle)>,
|
pub highlights: Vec<(String, HighlightStyle)>,
|
||||||
// todo!("Remove this in favor of StatusColor.hint")
|
|
||||||
// If this should be overridable we should move it to ThemeColors
|
|
||||||
pub inlay_style: HighlightStyle,
|
|
||||||
// todo!("Remove this in favor of StatusColor.prediction")
|
|
||||||
// If this should be overridable we should move it to ThemeColors
|
|
||||||
pub suggestion_style: HighlightStyle,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl SyntaxTheme {
|
impl SyntaxTheme {
|
||||||
|
@ -72,8 +66,6 @@ impl SyntaxTheme {
|
||||||
("variable.special".into(), red().light().step_9().into()),
|
("variable.special".into(), red().light().step_9().into()),
|
||||||
("variant".into(), red().light().step_9().into()),
|
("variant".into(), red().light().step_9().into()),
|
||||||
],
|
],
|
||||||
inlay_style: tomato().light().step_1().into(), // todo!("nate: use a proper style")
|
|
||||||
suggestion_style: orange().light().step_1().into(), // todo!("nate: use proper style")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,8 +124,6 @@ impl SyntaxTheme {
|
||||||
("variable.special".into(), red().dark().step_11().into()),
|
("variable.special".into(), red().dark().step_11().into()),
|
||||||
("variant".into(), red().dark().step_11().into()),
|
("variant".into(), red().dark().step_11().into()),
|
||||||
],
|
],
|
||||||
inlay_style: neutral().dark().step_11().into(), // todo!("nate: use a proper style")
|
|
||||||
suggestion_style: orange().dark().step_11().into(), // todo!("nate: use a proper style")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -152,8 +142,6 @@ impl SyntaxTheme {
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
.collect(),
|
.collect(),
|
||||||
inlay_style: HighlightStyle::default(),
|
|
||||||
suggestion_style: HighlightStyle::default(),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue