Skip to content

Commit

Permalink
HighlightingAssets: Add find_syntax_by_extension() helper
Browse files Browse the repository at this point in the history
  • Loading branch information
Enselic committed Sep 14, 2021
1 parent 9e0ea06 commit 6226eba
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions src/assets.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand All @@ -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
Expand Down

0 comments on commit 6226eba

Please sign in to comment.