diff options
author | Martin Nordholts <enselic@gmail.com> | 2021-09-13 17:38:54 +0200 |
---|---|---|
committer | Martin Nordholts <enselic@gmail.com> | 2021-09-14 07:38:36 +0200 |
commit | 6226eba52a05f53026abb927500629074279ef51 (patch) | |
tree | 4d73e7629e3918701a85e74fbc4cb06899ed8f4e /src/assets.rs | |
parent | 9e0ea06435f6d5f0e2faacea121626019faa9b32 (diff) |
HighlightingAssets: Add find_syntax_by_extension() helper
Diffstat (limited to 'src/assets.rs')
-rw-r--r-- | src/assets.rs | 28 |
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 |