diff --git a/helix-core/src/indent.rs b/helix-core/src/indent.rs
index 775bc8ba..7fedb7d3 100644
--- a/helix-core/src/indent.rs
+++ b/helix-core/src/indent.rs
@@ -293,9 +293,28 @@ where
         );
 
         let doc = Rope::from(doc);
-        let language_config = crate::syntax::LOADER
-            .language_config_for_scope("source.rust")
-            .unwrap();
+        use crate::syntax::{
+            Configuration, IndentationConfiguration, Lang, LanguageConfiguration, Loader,
+        };
+        use once_cell::sync::OnceCell;
+        let loader = Loader::new(Configuration {
+            language: vec![LanguageConfiguration {
+                scope: "source.rust".to_string(),
+                file_types: vec!["rs".to_string()],
+                language_id: Lang::Rust,
+                highlight_config: OnceCell::new(),
+                //
+                path: "../helix-syntax/languages/tree-sitter-rust".into(),
+                roots: vec![],
+                language_server: None,
+                indent: Some(IndentationConfiguration {
+                    tab_width: 4,
+                    unit: String::from("    "),
+                }),
+            }],
+        });
+
+        let language_config = loader.language_config_for_scope("source.rust").unwrap();
         let highlight_config = language_config.highlight_config(&[]).unwrap();
         let syntax = Syntax::new(&doc, highlight_config.clone());
         let text = doc.slice(..);
diff --git a/helix-core/src/syntax.rs b/helix-core/src/syntax.rs
index 8a8d649a..a6b1cf61 100644
--- a/helix-core/src/syntax.rs
+++ b/helix-core/src/syntax.rs
@@ -14,7 +14,7 @@ use serde::{Deserialize, Serialize};
 
 #[derive(Serialize, Deserialize)]
 pub struct Configuration {
-    language: Vec<LanguageConfiguration>,
+    pub language: Vec<LanguageConfiguration>,
 }
 
 // largely based on tree-sitter/cli/src/loader.rs