mirror of
https://github.com/danbulant/mdsvexrs
synced 2026-07-08 12:30:42 +00:00
switch to features and handle default lang
This commit is contained in:
parent
0a3b71340e
commit
b12041b899
3 changed files with 41 additions and 3 deletions
26
Cargo.lock
generated
26
Cargo.lock
generated
|
|
@ -82,6 +82,21 @@ dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bit-set"
|
||||||
|
version = "0.5.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
|
||||||
|
dependencies = [
|
||||||
|
"bit-vec",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bit-vec"
|
||||||
|
version = "0.6.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitflags"
|
name = "bitflags"
|
||||||
version = "1.3.2"
|
version = "1.3.2"
|
||||||
|
|
@ -179,6 +194,16 @@ version = "1.0.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
|
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "fancy-regex"
|
||||||
|
version = "0.11.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2"
|
||||||
|
dependencies = [
|
||||||
|
"bit-set",
|
||||||
|
"regex",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "flate2"
|
name = "flate2"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
|
|
@ -495,6 +520,7 @@ checksum = "874dcfa363995604333cf947ae9f751ca3af4522c60886774c4963943b4746b1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"bitflags",
|
"bitflags",
|
||||||
|
"fancy-regex",
|
||||||
"flate2",
|
"flate2",
|
||||||
"fnv",
|
"fnv",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,11 @@ name = "mdsvexrs"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
fancy = ["syntect/default-fancy"]
|
||||||
|
onig = ["syntect/default-onig"]
|
||||||
|
default = ["onig"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
markdown = { version = "1.0.0-alpha.21", features = ["serde"]}
|
markdown = { version = "1.0.0-alpha.21", features = ["serde"]}
|
||||||
itertools = "0.13"
|
itertools = "0.13"
|
||||||
|
|
@ -11,4 +16,4 @@ serde_yaml = "0.9.34"
|
||||||
serde = { version = "1.0.215", features = ["derive"] }
|
serde = { version = "1.0.215", features = ["derive"] }
|
||||||
regex = "1.11.1"
|
regex = "1.11.1"
|
||||||
clap = { version = "4.5.21", features = ["derive"] }
|
clap = { version = "4.5.21", features = ["derive"] }
|
||||||
syntect = "5.0"
|
syntect = { version = "5.0", default-features = false }
|
||||||
11
src/lib.rs
11
src/lib.rs
|
|
@ -591,11 +591,18 @@ impl Context {
|
||||||
let theme = &self.theme_set.themes["InspiredGitHub"];
|
let theme = &self.theme_set.themes["InspiredGitHub"];
|
||||||
let start = Instant::now();
|
let start = Instant::now();
|
||||||
|
|
||||||
let syntax = self.syntax_set.find_syntax_by_token(&code.lang);
|
let mut lang = &code.lang;
|
||||||
|
if lang.is_empty() {
|
||||||
|
if let Some(default) = &self.default_lang {
|
||||||
|
lang = default;
|
||||||
|
} else {
|
||||||
|
return format!("<pre><code>{}</code></pre>", html_encode(&code.code));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let syntax = self.syntax_set.find_syntax_by_token(lang);
|
||||||
let syntax = match syntax {
|
let syntax = match syntax {
|
||||||
Some(t) => t,
|
Some(t) => t,
|
||||||
None => {
|
None => {
|
||||||
println!("No syntax found for {}", code.lang);
|
|
||||||
return format!("<pre><code>{}</code></pre>", html_encode(&code.code));
|
return format!("<pre><code>{}</code></pre>", html_encode(&code.code));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue