Allow languages to be registered at any time
Co-Authored-By: Nathan Sobo <nathan@zed.dev> Co-Authored-By: Antonio Scandurra <me@as-cii.com>
This commit is contained in:
co-authored by
Nathan Sobo
Antonio Scandurra
parent
d7db3791d5
commit
64098247cb
@@ -37,7 +37,7 @@ impl LspStatus {
|
||||
&mut this.downloading,
|
||||
&mut this.failed,
|
||||
] {
|
||||
vector.retain(|name| name != language.name());
|
||||
vector.retain(|name| name != language.name().as_ref());
|
||||
}
|
||||
|
||||
match event {
|
||||
|
||||
@@ -11,7 +11,7 @@ pub struct Settings {
|
||||
pub tab_size: usize,
|
||||
soft_wrap: SoftWrap,
|
||||
preferred_line_length: u32,
|
||||
overrides: HashMap<String, Override>,
|
||||
overrides: HashMap<Arc<str>, Override>,
|
||||
pub theme: Arc<Theme>,
|
||||
}
|
||||
|
||||
@@ -50,21 +50,25 @@ impl Settings {
|
||||
self
|
||||
}
|
||||
|
||||
pub fn with_overrides(mut self, language_name: impl Into<String>, overrides: Override) -> Self {
|
||||
pub fn with_overrides(
|
||||
mut self,
|
||||
language_name: impl Into<Arc<str>>,
|
||||
overrides: Override,
|
||||
) -> Self {
|
||||
self.overrides.insert(language_name.into(), overrides);
|
||||
self
|
||||
}
|
||||
|
||||
pub fn soft_wrap(&self, language: Option<&Arc<Language>>) -> SoftWrap {
|
||||
language
|
||||
.and_then(|language| self.overrides.get(language.name()))
|
||||
.and_then(|language| self.overrides.get(language.name().as_ref()))
|
||||
.and_then(|settings| settings.soft_wrap)
|
||||
.unwrap_or(self.soft_wrap)
|
||||
}
|
||||
|
||||
pub fn preferred_line_length(&self, language: Option<&Arc<Language>>) -> u32 {
|
||||
language
|
||||
.and_then(|language| self.overrides.get(language.name()))
|
||||
.and_then(|language| self.overrides.get(language.name().as_ref()))
|
||||
.and_then(|settings| settings.preferred_line_length)
|
||||
.unwrap_or(self.preferred_line_length)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user