aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlaž Hrastnik2021-07-30 07:27:22 +0000
committerBlaž Hrastnik2021-07-30 07:27:22 +0000
commit0fdb626c2cc5518b10a9bfbedc8b78cff3d360c9 (patch)
tree71f4e454929bac7b2882a855a2df3078993bf4cc
parentf88d4c1e20d4dbc244599ad3f3a5f301bec239bf (diff)
Remove embed_runtime feature
It's no longer practical to maintain. Closes #451
-rw-r--r--Cargo.lock34
-rw-r--r--README.md7
-rw-r--r--book/src/install.md13
-rw-r--r--helix-core/Cargo.toml2
-rw-r--r--helix-core/src/lib.rs1
-rw-r--r--helix-core/src/syntax.rs29
-rw-r--r--helix-term/Cargo.toml1
7 files changed, 3 insertions, 84 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 0fa6ad14..6aa9830b 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -317,7 +317,6 @@ dependencies = [
"quickcheck",
"regex",
"ropey",
- "rust-embed",
"serde",
"similar",
"smallvec",
@@ -774,39 +773,6 @@ dependencies = [
]
[[package]]
-name = "rust-embed"
-version = "5.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fe1fe6aac5d6bb9e1ffd81002340363272a7648234ec7bdfac5ee202cb65523"
-dependencies = [
- "rust-embed-impl",
- "rust-embed-utils",
- "walkdir",
-]
-
-[[package]]
-name = "rust-embed-impl"
-version = "5.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed91c41c42ef7bf687384439c312e75e0da9c149b0390889b94de3c7d9d9e66"
-dependencies = [
- "proc-macro2",
- "quote",
- "rust-embed-utils",
- "syn",
- "walkdir",
-]
-
-[[package]]
-name = "rust-embed-utils"
-version = "5.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a512219132473ab0a77b52077059f1c47ce4af7fbdc94503e9862a34422876d"
-dependencies = [
- "walkdir",
-]
-
-[[package]]
name = "ryu"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/README.md b/README.md
index b4f5b867..a16fc6eb 100644
--- a/README.md
+++ b/README.md
@@ -51,13 +51,6 @@ that sets the variable to the install dir.
> NOTE: running via cargo also doesn't require setting explicit `HELIX_RUNTIME` path, it will automatically
> detect the `runtime` directory in the project root.
-Alternatively, if you want to embed the `runtime/` directory into the Helix binary you can build
-it with:
-
-```
-cargo install --path helix-term --features "embed_runtime"
-```
-
[![Packaging status](https://repology.org/badge/vertical-allrepos/helix.svg)](https://repology.org/project/helix/versions)
## MacOS
diff --git a/book/src/install.md b/book/src/install.md
index 3fd0db4a..cd9c980e 100644
--- a/book/src/install.md
+++ b/book/src/install.md
@@ -37,13 +37,6 @@ cargo install --path helix-term
This will install the `hx` binary to `$HOME/.cargo/bin`.
-Now copy the `runtime/` directory somewhere. Helix will by default look for the
-runtime inside the same folder as the executable, but that can be overriden via
-the `HELIX_RUNTIME` environment variable.
-
-If you want to embed the `runtime/` directory into the Helix binary you can build
-it with:
-
-```
-cargo install --path helix-term --features "embed_runtime"
-```
+Helix also needs it's runtime files so make sure to copy/symlink the `runtime/` directory into the
+config directory (for example `~/.config/helix/runtime` on Linux/macOS). This location can be overriden
+via the `HELIX_RUNTIME` environment variable.
diff --git a/helix-core/Cargo.toml b/helix-core/Cargo.toml
index 634c4d9f..4316dc2c 100644
--- a/helix-core/Cargo.toml
+++ b/helix-core/Cargo.toml
@@ -11,7 +11,6 @@ homepage = "https://helix-editor.com"
include = ["src/**/*", "README.md"]
[features]
-embed_runtime = ["rust-embed"]
[dependencies]
helix-syntax = { version = "0.3", path = "../helix-syntax" }
@@ -34,7 +33,6 @@ toml = "0.5"
similar = "1.3"
etcetera = "0.3"
-rust-embed = { version = "5.9.0", optional = true }
[dev-dependencies]
quickcheck = { version = "1", default-features = false }
diff --git a/helix-core/src/lib.rs b/helix-core/src/lib.rs
index 3684a93e..2823959f 100644
--- a/helix-core/src/lib.rs
+++ b/helix-core/src/lib.rs
@@ -58,7 +58,6 @@ pub fn find_root(root: Option<&str>) -> Option<std::path::PathBuf> {
None
}
-#[cfg(not(embed_runtime))]
pub fn runtime_dir() -> std::path::PathBuf {
if let Ok(dir) = std::env::var("HELIX_RUNTIME") {
return dir.into();
diff --git a/helix-core/src/syntax.rs b/helix-core/src/syntax.rs
index c8cb0557..60d44976 100644
--- a/helix-core/src/syntax.rs
+++ b/helix-core/src/syntax.rs
@@ -84,7 +84,6 @@ pub struct IndentQuery {
pub outdent: HashSet<String>,
}
-#[cfg(not(feature = "embed_runtime"))]
fn load_runtime_file(language: &str, filename: &str) -> Result<String, std::io::Error> {
let path = crate::RUNTIME_DIR
.join("queries")
@@ -93,34 +92,6 @@ fn load_runtime_file(language: &str, filename: &str) -> Result<String, std::io::
std::fs::read_to_string(&path)
}
-#[cfg(feature = "embed_runtime")]
-fn load_runtime_file(language: &str, filename: &str) -> Result<String, Box<dyn std::error::Error>> {
- use std::path::PathBuf;
-
- #[derive(rust_embed::RustEmbed)]
- #[folder = "../runtime/"]
- struct Runtime;
-
- #[derive(Debug)]
- struct EmbeddedFileNotFoundError {
- path: PathBuf,
- }
- impl std::error::Error for EmbeddedFileNotFoundError {}
- impl fmt::Display for EmbeddedFileNotFoundError {
- fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
- write!(f, "failed to load embedded file {}", self.path.display())
- }
- }
-
- let path = PathBuf::from("queries").join(language).join(filename);
-
- if let Some(query_bytes) = Runtime::get(&path.display().to_string()) {
- String::from_utf8(query_bytes.to_vec()).map_err(|err| err.into())
- } else {
- Err(Box::new(EmbeddedFileNotFoundError { path }))
- }
-}
-
fn read_query(language: &str, filename: &str) -> String {
static INHERITS_REGEX: Lazy<Regex> =
Lazy::new(|| Regex::new(r";+\s*inherits\s*:?\s*([a-z_,()]+)\s*").unwrap());
diff --git a/helix-term/Cargo.toml b/helix-term/Cargo.toml
index 1ff32276..1fc14ad2 100644
--- a/helix-term/Cargo.toml
+++ b/helix-term/Cargo.toml
@@ -15,7 +15,6 @@ build = true
app = true
[features]
-embed_runtime = ["helix-core/embed_runtime"]
[[bin]]
name = "hx"