aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src
diff options
context:
space:
mode:
Diffstat (limited to 'helix-term/src')
-rw-r--r--helix-term/src/main.rs8
-rw-r--r--helix-term/src/ui/markdown.rs2
2 files changed, 10 insertions, 0 deletions
diff --git a/helix-term/src/main.rs b/helix-term/src/main.rs
index 84b52ea2..dc6f31f4 100644
--- a/helix-term/src/main.rs
+++ b/helix-term/src/main.rs
@@ -73,6 +73,14 @@ fn main() {
setup_logging(verbosity).expect("failed to initialize logging.");
+ // initialize language registry
+ use helix_core::syntax::{Loader, LOADER};
+ let toml = include_str!("../../languages.toml");
+ LOADER.get_or_init(|| {
+ let config = toml::from_str(&toml).expect("Could not parse languages.toml");
+ Loader::new(config)
+ });
+
for _ in 0..num_cpus::get() {
std::thread::spawn(move || smol::block_on(EX.run(smol::future::pending::<()>())));
}
diff --git a/helix-term/src/ui/markdown.rs b/helix-term/src/ui/markdown.rs
index c4f6039b..55b90ad4 100644
--- a/helix-term/src/ui/markdown.rs
+++ b/helix-term/src/ui/markdown.rs
@@ -80,6 +80,8 @@ fn parse<'a>(contents: &'a str, theme: Option<&Theme>) -> tui::text::Text<'a> {
let rope = Rope::from(text.as_ref());
let syntax = syntax::LOADER
+ .get()
+ .unwrap()
.language_config_for_scope(&format!("source.{}", language))
.and_then(|config| config.highlight_config(theme.scopes()))
.map(|config| Syntax::new(&rope, config));