Use custom syntect packs to reduce binary size

- Custom syntax set containing only C/C++
- Custom themeset containing only Solarized (Dark)
- Disable default syntect features
This commit is contained in:
2023-11-18 16:12:03 -05:00
parent d7a3fd53c7
commit 363fa2ac72
6 changed files with 19 additions and 104 deletions

View File

@@ -57,11 +57,14 @@ pub fn run(args: Args) -> Result<()> {
}
fn dump(args: DumpArgs) -> Result<()> {
let theme_set = ThemeSet::load_defaults();
// Load syntect
let theme_set: ThemeSet =
syntect::dumps::from_binary(include_bytes!("../../assets/syntax/default.themedump"));
let syntax_set: SyntaxSet = syntect::dumps::from_binary(include_bytes!(
"../../assets/syntax/default_newlines.packdump"
));
let theme = theme_set.themes.get("Solarized (dark)").context("Failed to load theme")?;
let syntax_set = SyntaxSet::load_defaults_newlines();
let syntax =
syntax_set.find_syntax_by_extension("cpp").context("Failed to find syntax")?.clone();
let syntax = syntax_set.find_syntax_by_name("C++").context("Failed to find syntax")?.clone();
let file = map_file(&args.in_file)?;
let buf = file.as_slice();