From dd119391f70accce3cd837c5a62832a00c801a4e Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Wed, 22 May 2024 18:16:06 +0200 Subject: [PATCH] feat: add zig language --- .gitmodules | 3 +++ assets/zig_syntax | 1 + src/main.rs | 14 ++++++++++++-- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 160000 assets/zig_syntax diff --git a/.gitmodules b/.gitmodules index 824fbfa..c4681c8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,6 @@ [submodule "assets/catppuccin_theme"] path = assets/catppuccin_theme url = https://github.com/catppuccin/bat.git +[submodule "assets/zig_syntax"] + path = assets/zig_syntax + url = https://github.com/ziglang/sublime-zig-language.git diff --git a/assets/zig_syntax b/assets/zig_syntax new file mode 160000 index 0000000..1a4a384 --- /dev/null +++ b/assets/zig_syntax @@ -0,0 +1 @@ +Subproject commit 1a4a38445fec495817625bafbeb01e79c44abcba diff --git a/src/main.rs b/src/main.rs index c089391..f49df31 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,7 +11,7 @@ use clap::{crate_authors, crate_version, Parser}; use syntect::{ easy::HighlightLines, highlighting::{Color, FontStyle, Style, Theme, ThemeSet}, - parsing::{SyntaxReference, SyntaxSet}, + parsing::{SyntaxDefinition, SyntaxReference, SyntaxSet}, }; #[derive(Parser)] @@ -80,7 +80,17 @@ fn main() -> anyhow::Result<()> { .context("Failed to load builtin theme")?, ); } - let ss = SyntaxSet::load_defaults_newlines(); + + let mut ssb = SyntaxSet::load_defaults_newlines().into_builder(); + + // TODO: this is completely retarded and unbearably slow + ssb.add(SyntaxDefinition::load_from_str( + include_str!("../assets/zig_syntax/Syntaxes/Zig.sublime-syntax"), + true, + Some("Zig"), + )?); + + let ss = ssb.build(); match opt.cmd { Cmd::ListThemes => {