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> { + 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> { 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> { - 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> { - 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