diff options
author | Dan Davison <dandavison7@gmail.com> | 2022-02-08 02:00:12 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-08 08:00:12 +0100 |
commit | 4e36a56014cd8615c6142999191d4a097f9b9310 (patch) | |
tree | cf22abd47a9e6158b58f0991cb6e034be7f87ea3 | |
parent | 312c8ef01f1a80f4a806629a7dacd32508b267a5 (diff) |
Expose syntect theme and syntax sets (#2030)
Fixes #2026
Ref https://github.com/dandavison/delta/issues/895
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | src/assets.rs | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index ae734641..ae4159a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ ## `bat` as a library +- Exposed `get_syntax_set` and `get_theme` methods on `HighlightingAssets`. See #2030 (@dandavison) # v0.19.0 diff --git a/src/assets.rs b/src/assets.rs index 9ef66b95..e25c233f 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -90,7 +90,8 @@ impl HighlightingAssets { self.fallback_theme = Some(theme); } - fn get_syntax_set(&self) -> Result<&SyntaxSet> { + /// Return the collection of syntect syntax definitions. + pub fn get_syntax_set(&self) -> Result<&SyntaxSet> { self.syntax_set_cell .get_or_try_init(|| self.serialized_syntax_set.deserialize()) } @@ -186,7 +187,8 @@ impl HighlightingAssets { } } - pub(crate) fn get_theme(&self, theme: &str) -> &Theme { + /// Look up a syntect theme by name. + pub fn get_theme(&self, theme: &str) -> &Theme { match self.get_theme_set().get(theme) { Some(theme) => theme, None => { |