on master help sign in
HighlightingAssets: Move common get_extension_syntax() code into find_syntax_by_extension()
commit0994f3783f13464d0d2d78ddefa4f454cd623489 authorMartin Nordholts <enselic@gmail.com> dateSat 18 Sep 2021, 06:50 (5 years ago) parent974dec3
1 file changed+4−8
src/assets.rs+4−8
src/assets.rs+4−8
@@ -250,22 +250,18 @@ impl HighlightingAssets {
250250 .map(|syntax| SyntaxReferenceInSet { syntax, syntax_set }))
251251 }
252252
253− fn find_syntax_by_extension(&self, extension: &str) -> Result<Option<SyntaxReferenceInSet>> {
253+ fn find_syntax_by_extension(&self, e: Option<&OsStr>) -> Result<Option<SyntaxReferenceInSet>> {
254254 let syntax_set = self.get_syntax_set()?;
255+ let extension = e.and_then(|x| x.to_str()).unwrap_or_default();
255256 Ok(syntax_set
256257 .find_syntax_by_extension(extension)
257258 .map(|syntax| SyntaxReferenceInSet { syntax, syntax_set }))
258259 }
259260
260261 fn get_extension_syntax(&self, file_name: &OsStr) -> Result<Option<SyntaxReferenceInSet>> {
261− let mut syntax = self.find_syntax_by_extension(file_name.to_str().unwrap_or_default())?;
262+ let mut syntax = self.find_syntax_by_extension(Some(file_name))?;
262263 if syntax.is_none() {
263− syntax = self.find_syntax_by_extension(
264− Path::new(file_name)
265− .extension()
266− .and_then(|x| x.to_str())
267− .unwrap_or_default(),
268− )?;
264+ syntax = self.find_syntax_by_extension(Path::new(file_name).extension())?;
269265 }
270266 if syntax.is_none() {
271267 syntax = try_with_stripped_suffix(file_name, |stripped_file_name| {