@@ -1,5 +1,4 @@
11use anyhow::{anyhow, Context, Result};
2−use libloading::{Library, Symbol};
32use serde::{Deserialize, Serialize};
43use std::fs;
54use std::time::SystemTime;
@@ -17,6 +16,9 @@ const DYLIB_EXTENSION: &str = "so";
1716#[cfg(windows)]
1817const DYLIB_EXTENSION: &str = "dll";
1918
19+#[cfg(target_arch = "wasm32")]
20+const DYLIB_EXTENSION: &str = "wasm";
21+
2022#[derive(Debug, Serialize, Deserialize)]
2123struct Configuration {
2224 #[serde(rename = "use-grammars")]
@@ -57,7 +59,14 @@ pub enum GrammarSource {
5759const BUILD_TARGET: &str = env!("BUILD_TARGET");
5860const REMOTE_NAME: &str = "origin";
5961
62+#[cfg(target_arch = "wasm32")]
63+pub fn get_language(name: &str) -> Result<Language> {
64+ unimplemented!()
65+}
66+
67+#[cfg(not(target_arch = "wasm32"))]
6068pub fn get_language(name: &str) -> Result<Language> {
69+ use libloading::{Library, Symbol};
6170 let name = name.to_ascii_lowercase();
6271 let mut library_path = crate::runtime_dir().join("grammars").join(&name);
6372 library_path.set_extension(DYLIB_EXTENSION);