summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Davison <dandavison7@gmail.com>2022-02-08 02:00:12 -0500
committerGitHub <noreply@github.com>2022-02-08 08:00:12 +0100
commit4e36a56014cd8615c6142999191d4a097f9b9310 (patch)
treecf22abd47a9e6158b58f0991cb6e034be7f87ea3
parent312c8ef01f1a80f4a806629a7dacd32508b267a5 (diff)
Expose syntect theme and syntax sets (#2030)
Fixes #2026 Ref https://github.com/dandavison/delta/issues/895
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/assets.rs6
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 => {