Do not export syntax_set and theme_set

This commit is contained in:
sharkdp 2020-03-21 20:01:36 +01:00 committed by David Peter
parent fc1ca0875a
commit 62f2d0c100
3 changed files with 12 additions and 5 deletions

View File

@ -15,8 +15,8 @@ pub const BAT_THEME_DEFAULT: &str = "Monokai Extended";
#[derive(Debug)]
pub struct HighlightingAssets {
pub syntax_set: SyntaxSet,
pub theme_set: ThemeSet,
pub(crate) syntax_set: SyntaxSet,
pub(crate) theme_set: ThemeSet,
}
impl HighlightingAssets {
@ -138,6 +138,14 @@ impl HighlightingAssets {
Ok(())
}
pub fn syntaxes(&self) -> &[SyntaxReference] {
self.syntax_set.syntaxes()
}
pub fn themes(&self) -> &BTreeMap<String, Theme> {
&self.theme_set.themes
}
pub fn get_theme(&self, theme: &str) -> &Theme {
match self.theme_set.themes.get(theme) {
Some(theme) => theme,

View File

@ -60,7 +60,6 @@ fn run_cache_subcommand(matches: &clap::ArgMatches) -> Result<()> {
pub fn list_languages(config: &Config) -> Result<()> {
let assets = assets_from_cache_or_binary();
let mut languages = assets
.syntax_set
.syntaxes()
.iter()
.filter(|syntax| !syntax.hidden && !syntax.file_extensions.is_empty())
@ -122,7 +121,7 @@ pub fn list_languages(config: &Config) -> Result<()> {
pub fn list_themes(cfg: &Config) -> Result<()> {
let assets = assets_from_cache_or_binary();
let themes = &assets.theme_set.themes;
let themes = assets.themes();
let mut config = cfg.clone();
let mut style = HashSet::new();
style.insert(OutputComponent::Plain);

View File

@ -23,7 +23,7 @@ fn no_duplicate_extensions() {
let mut extensions = HashSet::new();
for syntax in assets.syntax_set.syntaxes() {
for syntax in assets.syntaxes() {
for extension in &syntax.file_extensions {
assert!(
KNOWN_EXCEPTIONS.contains(&extension.as_str()) || extensions.insert(extension),