Add suffix based file icons
This commit is contained in:
parent
91ba80ae98
commit
d26f76ba90
6 changed files with 62 additions and 14 deletions
|
@ -342,6 +342,8 @@ pub struct LanguageConfig {
|
|||
pub block_comment: Option<(Arc<str>, Arc<str>)>,
|
||||
#[serde(default)]
|
||||
pub overrides: HashMap<String, LanguageConfigOverride>,
|
||||
#[serde(default)]
|
||||
pub icon_path: Option<Arc<str>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
|
@ -408,6 +410,7 @@ impl Default for LanguageConfig {
|
|||
line_comment: Default::default(),
|
||||
block_comment: Default::default(),
|
||||
overrides: Default::default(),
|
||||
icon_path: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -752,6 +755,22 @@ impl LanguageRegistry {
|
|||
self.get_or_load_language(|config| UniCase::new(config.name.as_ref()) == name)
|
||||
}
|
||||
|
||||
pub fn icon_for_suffix(
|
||||
self: &Arc<Self>,
|
||||
suffix: &str,
|
||||
) -> Option<Arc<str>> {
|
||||
let state = self.state.read();
|
||||
state.available_languages
|
||||
.iter()
|
||||
.find(|langauge| {
|
||||
langauge.config.path_suffixes.iter().any(|s| s == suffix)
|
||||
})
|
||||
.map(|language| {
|
||||
language.config.icon_path.clone()
|
||||
})
|
||||
.flatten()
|
||||
}
|
||||
|
||||
pub fn language_for_name_or_extension(
|
||||
self: &Arc<Self>,
|
||||
string: &str,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue