diff --git a/Cargo.lock b/Cargo.lock
index 8bad1349cc9655ee7aef5ba65f4bc7a20a7d73ac..6ee7abcb707e91ef8e610b6dfabd3ea736d41c5d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -7231,6 +7231,12 @@ dependencies = [
"serde",
]
+[[package]]
+name = "urlencoding"
+version = "2.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9"
+
[[package]]
name = "usvg"
version = "0.14.1"
@@ -8273,6 +8279,7 @@ dependencies = [
"tree-sitter-typescript",
"unindent",
"url",
+ "urlencoding",
"util",
"vim",
"workspace",
diff --git a/crates/zed/Cargo.toml b/crates/zed/Cargo.toml
index 1e3167d2b8ddd69e9a6baa14dcccc6c74a7f7f25..fc7a1753555039842d7ca3a6ce1936d808a08322 100644
--- a/crates/zed/Cargo.toml
+++ b/crates/zed/Cargo.toml
@@ -110,6 +110,7 @@ tree-sitter-html = "0.19.0"
tree-sitter-scheme = { git = "https://github.com/6cdh/tree-sitter-scheme", rev = "af0fd1fa452cb2562dc7b5c8a8c55551c39273b9"}
tree-sitter-racket = { git = "https://github.com/zed-industries/tree-sitter-racket", rev = "eb010cf2c674c6fd9a6316a84e28ef90190fe51a"}
url = "2.2"
+urlencoding = "2.1.2"
[dev-dependencies]
call = { path = "../call", features = ["test-support"] }
diff --git a/crates/zed/src/menus.rs b/crates/zed/src/menus.rs
index 3865389e99f7e30cabccb2bf427130fffaaf866e..b46e8ad703721f81a9b5e3cf4c925be2e28545f5 100644
--- a/crates/zed/src/menus.rs
+++ b/crates/zed/src/menus.rs
@@ -343,10 +343,12 @@ pub fn menus() -> Vec