Cleanup icon logic
This commit is contained in:
parent
8db5b9a80b
commit
4395f78fb2
1 changed files with 19 additions and 23 deletions
|
@ -139,31 +139,27 @@ impl LanguageSelectorDelegate {
|
||||||
let mut label = mat.string.clone();
|
let mut label = mat.string.clone();
|
||||||
let buffer_language = self.buffer.read(cx).language();
|
let buffer_language = self.buffer.read(cx).language();
|
||||||
let need_icon = FileFinderSettings::get_global(cx).file_icons;
|
let need_icon = FileFinderSettings::get_global(cx).file_icons;
|
||||||
if let Some(buffer_language) = buffer_language {
|
|
||||||
let buffer_language_name = buffer_language.name();
|
|
||||||
if buffer_language_name.as_ref() == mat.string.as_str() {
|
|
||||||
label.push_str(" (current)");
|
|
||||||
let icon = need_icon
|
|
||||||
.then(|| self.language_icon(&buffer_language.config().matcher, cx))
|
|
||||||
.flatten();
|
|
||||||
return (label, icon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if need_icon {
|
if let Some(buffer_language) = buffer_language
|
||||||
let language_name = LanguageName::new(mat.string.as_str());
|
.filter(|buffer_language| buffer_language.name().as_ref() == mat.string.as_str())
|
||||||
match self
|
{
|
||||||
.language_registry
|
label.push_str(" (current)");
|
||||||
.available_language_for_name(language_name.as_ref())
|
let icon = need_icon
|
||||||
{
|
.then(|| self.language_icon(&buffer_language.config().matcher, cx))
|
||||||
Some(available_language) => {
|
.flatten();
|
||||||
let icon = self.language_icon(available_language.matcher(), cx);
|
(label, icon)
|
||||||
(label, icon)
|
|
||||||
}
|
|
||||||
None => (label, None),
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
(label, None)
|
let icon = need_icon
|
||||||
|
.then(|| {
|
||||||
|
let language_name = LanguageName::new(mat.string.as_str());
|
||||||
|
self.language_registry
|
||||||
|
.available_language_for_name(language_name.as_ref())
|
||||||
|
.and_then(|available_language| {
|
||||||
|
self.language_icon(available_language.matcher(), cx)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.flatten();
|
||||||
|
(label, icon)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue