summaryrefslogtreecommitdiffstats
path: root/src/assets.rs
diff options
context:
space:
mode:
authorMartin Nordholts <enselic@gmail.com>2021-09-13 17:38:54 +0200
committerMartin Nordholts <enselic@gmail.com>2021-09-14 07:38:36 +0200
commit6226eba52a05f53026abb927500629074279ef51 (patch)
tree4d73e7629e3918701a85e74fbc4cb06899ed8f4e /src/assets.rs
parent9e0ea06435f6d5f0e2faacea121626019faa9b32 (diff)
HighlightingAssets: Add find_syntax_by_extension() helper
Diffstat (limited to 'src/assets.rs')
-rw-r--r--src/assets.rs28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/assets.rs b/src/assets.rs
index 544acaf2..8f794483 100644
--- a/src/assets.rs
+++ b/src/assets.rs
@@ -306,6 +306,13 @@ impl HighlightingAssets {
.map(|syntax| SyntaxReferenceInSet { syntax, syntax_set }))
}
+ fn find_syntax_by_extension(&self, extension: &str) -> Result<Option<SyntaxReferenceInSet>> {
+ let syntax_set = self.get_syntax_set()?;
+ Ok(syntax_set
+ .find_syntax_by_extension(extension)
+ .map(|syntax| SyntaxReferenceInSet { syntax, syntax_set }))
+ }
+
fn get_extension_syntax(&self, file_name: &OsStr) -> Result<Option<SyntaxReferenceInSet>> {
let mut syntax = self.find_syntax_by_file_name(file_name)?;
if syntax.is_none() {
@@ -318,26 +325,19 @@ impl HighlightingAssets {
}
fn find_syntax_by_file_name(&self, file_name: &OsStr) -> Result<Option<SyntaxReferenceInSet>> {
- let syntax_set = self.get_syntax_set()?;
- Ok(syntax_set
- .find_syntax_by_extension(file_name.to_str().unwrap_or_default())
- .map(|syntax| SyntaxReferenceInSet { syntax, syntax_set }))
+ self.find_syntax_by_extension(file_name.to_str().unwrap_or_default())
}
fn find_syntax_by_file_name_extension(
&self,
file_name: &OsStr,
) -> Result<Option<SyntaxReferenceInSet>> {
- let file_path = Path::new(file_name);
- let syntax_set = self.get_syntax_set()?;
- Ok(syntax_set
- .find_syntax_by_extension(
- file_path
- .extension()
- .and_then(|x| x.to_str())
- .unwrap_or_default(),
- )
- .map(|syntax| SyntaxReferenceInSet { syntax, syntax_set }))
+ self.find_syntax_by_extension(
+ Path::new(file_name)
+ .extension()
+ .and_then(|x| x.to_str())
+ .unwrap_or_default(),
+ )
}
/// If we find an ignored suffix on the file name, e.g. '~', we strip it and