mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-30 22:54:07 +00:00 
			
		
		
		
	HighlightingAssets: Add find_syntax_by_extension() helper
This commit is contained in:
		| @@ -306,6 +306,13 @@ impl HighlightingAssets { | |||||||
|             .map(|syntax| SyntaxReferenceInSet { syntax, syntax_set })) |             .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>> { |     fn get_extension_syntax(&self, file_name: &OsStr) -> Result<Option<SyntaxReferenceInSet>> { | ||||||
|         let mut syntax = self.find_syntax_by_file_name(file_name)?; |         let mut syntax = self.find_syntax_by_file_name(file_name)?; | ||||||
|         if syntax.is_none() { |         if syntax.is_none() { | ||||||
| @@ -318,26 +325,19 @@ impl HighlightingAssets { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     fn find_syntax_by_file_name(&self, file_name: &OsStr) -> Result<Option<SyntaxReferenceInSet>> { |     fn find_syntax_by_file_name(&self, file_name: &OsStr) -> Result<Option<SyntaxReferenceInSet>> { | ||||||
|         let syntax_set = self.get_syntax_set()?; |         self.find_syntax_by_extension(file_name.to_str().unwrap_or_default()) | ||||||
|         Ok(syntax_set |  | ||||||
|             .find_syntax_by_extension(file_name.to_str().unwrap_or_default()) |  | ||||||
|             .map(|syntax| SyntaxReferenceInSet { syntax, syntax_set })) |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     fn find_syntax_by_file_name_extension( |     fn find_syntax_by_file_name_extension( | ||||||
|         &self, |         &self, | ||||||
|         file_name: &OsStr, |         file_name: &OsStr, | ||||||
|     ) -> Result<Option<SyntaxReferenceInSet>> { |     ) -> Result<Option<SyntaxReferenceInSet>> { | ||||||
|         let file_path = Path::new(file_name); |         self.find_syntax_by_extension( | ||||||
|         let syntax_set = self.get_syntax_set()?; |             Path::new(file_name) | ||||||
|         Ok(syntax_set |  | ||||||
|             .find_syntax_by_extension( |  | ||||||
|                 file_path |  | ||||||
|                 .extension() |                 .extension() | ||||||
|                 .and_then(|x| x.to_str()) |                 .and_then(|x| x.to_str()) | ||||||
|                 .unwrap_or_default(), |                 .unwrap_or_default(), | ||||||
|         ) |         ) | ||||||
|             .map(|syntax| SyntaxReferenceInSet { syntax, syntax_set })) |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /// If we find an ignored suffix on the file name, e.g. '~', we strip it and |     /// If we find an ignored suffix on the file name, e.g. '~', we strip it and | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user