aboutsummaryrefslogtreecommitdiff
path: root/helix-term/build.rs
diff options
context:
space:
mode:
authorMichael Davis2022-02-21 12:39:23 +0000
committerBlaž Hrastnik2022-03-10 08:31:57 +0000
commitb157c5a8a4472cff68de3a9be66e220dc4b80a9f (patch)
treec67cd0462e3cb3a6b7627ef000b12b0b001afcfa /helix-term/build.rs
parent6fcab90d16f9493c0c4738312061a26e473ab12a (diff)
fetch and compile tree-sitter grammars in helix-term build
This restores much of the behavior that existed before this PR: helix will build the grammars when compiling. The difference is that now fetching is also done during the build phase and is done much more quickly - both shallow and in parallel.
Diffstat (limited to 'helix-term/build.rs')
-rw-r--r--helix-term/build.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/helix-term/build.rs b/helix-term/build.rs
index b5d62b28..526cdc41 100644
--- a/helix-term/build.rs
+++ b/helix-term/build.rs
@@ -1,3 +1,4 @@
+use helix_loader::grammar::{build_grammars, fetch_grammars};
use std::borrow::Cow;
use std::process::Command;
@@ -14,5 +15,12 @@ fn main() {
None => env!("CARGO_PKG_VERSION").into(),
};
+ if std::env::var("HELIX_DISABLE_AUTO_GRAMMAR_BUILD").is_err() {
+ fetch_grammars().expect("Failed to fetch tree-sitter grammars");
+ build_grammars().expect("Failed to compile tree-sitter grammars");
+ }
+
+ println!("cargo:rerun-if-changed=../runtime/grammars/");
+
println!("cargo:rustc-env=VERSION_AND_GIT_HASH={}", version);
}