diff --git a/Cargo.lock b/Cargo.lock
index 6c75c448a50c711092a7fde296718bc6e3343379..a8f602640838d3634863fc60a2399e8a9a9f5288 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -13157,6 +13157,7 @@ dependencies = [
"askpass",
"auto_update",
"dap",
+ "db",
"editor",
"extension_host",
"file_finder",
@@ -13168,6 +13169,7 @@ dependencies = [
"log",
"markdown",
"menu",
+ "node_runtime",
"ordered-float 2.10.1",
"paths",
"picker",
@@ -13186,6 +13188,7 @@ dependencies = [
"util",
"windows-registry 0.6.1",
"workspace",
+ "worktree",
"zed_actions",
]
diff --git a/assets/icons/box.svg b/assets/icons/box.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7e1276c629fb8bdc5a7ed48d9e2de6369d4c2bb0
--- /dev/null
+++ b/assets/icons/box.svg
@@ -0,0 +1,5 @@
+
diff --git a/crates/icons/src/icons.rs b/crates/icons/src/icons.rs
index cc84129250cfdbe968aa3d86f1d00d0789d01480..bf4c74f984ff4aa8f06d6408957eddabcf5f94ed 100644
--- a/crates/icons/src/icons.rs
+++ b/crates/icons/src/icons.rs
@@ -49,6 +49,7 @@ pub enum IconName {
BoltOutlined,
Book,
BookCopy,
+ Box,
CaseSensitive,
Chat,
Check,
diff --git a/crates/languages/src/eslint.rs b/crates/languages/src/eslint.rs
index 4f18149265ceac23aadd93b02e7b7309291849fa..fd4133d7ebcafc2553e25c876eb9fb1c6257ebc1 100644
--- a/crates/languages/src/eslint.rs
+++ b/crates/languages/src/eslint.rs
@@ -126,11 +126,11 @@ impl LspInstaller for EsLintLspAdapter {
}
self.node
- .run_npm_subcommand(&repo_root, "install", &[])
+ .run_npm_subcommand(Some(&repo_root), "install", &[])
.await?;
self.node
- .run_npm_subcommand(&repo_root, "run-script", &["compile"])
+ .run_npm_subcommand(Some(&repo_root), "run-script", &["compile"])
.await?;
}
diff --git a/crates/node_runtime/src/node_runtime.rs b/crates/node_runtime/src/node_runtime.rs
index 1faf22dc9844f648fec53654ef3bde500cec32e2..1eb6714500446dbfd2967ed4aa2f514a5f427aba 100644
--- a/crates/node_runtime/src/node_runtime.rs
+++ b/crates/node_runtime/src/node_runtime.rs
@@ -206,14 +206,14 @@ impl NodeRuntime {
pub async fn run_npm_subcommand(
&self,
- directory: &Path,
+ directory: Option<&Path>,
subcommand: &str,
args: &[&str],
) -> Result