mirror of https://github.com/sharkdp/bat.git
HighlightingAssets: Add find_syntax_by_extension() helper
This commit is contained in:
parent
9e0ea06435
commit
6226eba52a
|
@ -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
|
.extension()
|
||||||
.find_syntax_by_extension(
|
.and_then(|x| x.to_str())
|
||||||
file_path
|
.unwrap_or_default(),
|
||||||
.extension()
|
)
|
||||||
.and_then(|x| x.to_str())
|
|
||||||
.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
|
||||||
|
|
Loading…
Reference in New Issue