Remove old Theme definition (#3195)
This PR removes the old `Theme` definition in favor of the new `ThemeVariant`s. The new `SyntaxStyles` have been reverted to the old `SyntaxTheme` that operates by storing the syntax styles as a vector of `gpui2::HighlightStyle`s. This is necessary for the intended usage by `language2`, where we find the longest key in the theme's syntax styles that matches the capture name: https://github.com/zed-industries/zed/blob/18431051d9d750d9e66284a71f7a55a1e31c1374/crates/language2/src/highlight_map.rs#L15-L41
This commit is contained in:
@@ -42,7 +42,7 @@ use std::{
|
||||
},
|
||||
};
|
||||
use syntax_map::SyntaxSnapshot;
|
||||
use theme2::{SyntaxTheme, Theme};
|
||||
use theme2::{SyntaxTheme, ThemeVariant};
|
||||
use tree_sitter::{self, Query};
|
||||
use unicase::UniCase;
|
||||
use util::{http::HttpClient, paths::PathExt};
|
||||
@@ -642,7 +642,7 @@ struct LanguageRegistryState {
|
||||
next_available_language_id: AvailableLanguageId,
|
||||
loading_languages: HashMap<AvailableLanguageId, Vec<oneshot::Sender<Result<Arc<Language>>>>>,
|
||||
subscription: (watch::Sender<()>, watch::Receiver<()>),
|
||||
theme: Option<Arc<Theme>>,
|
||||
theme: Option<Arc<ThemeVariant>>,
|
||||
version: usize,
|
||||
reload_count: usize,
|
||||
}
|
||||
@@ -743,11 +743,11 @@ impl LanguageRegistry {
|
||||
self.state.read().reload_count
|
||||
}
|
||||
|
||||
pub fn set_theme(&self, theme: Arc<Theme>) {
|
||||
pub fn set_theme(&self, theme: Arc<ThemeVariant>) {
|
||||
let mut state = self.state.write();
|
||||
state.theme = Some(theme.clone());
|
||||
for language in &state.languages {
|
||||
language.set_theme(&theme.syntax);
|
||||
language.set_theme(&theme.syntax());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1048,7 +1048,7 @@ impl LanguageRegistryState {
|
||||
|
||||
fn add(&mut self, language: Arc<Language>) {
|
||||
if let Some(theme) = self.theme.as_ref() {
|
||||
language.set_theme(&theme.syntax);
|
||||
language.set_theme(&theme.syntax());
|
||||
}
|
||||
self.languages.push(language);
|
||||
self.version += 1;
|
||||
|
||||
Reference in New Issue
Block a user