From 04b1b863dfbce04e6010901239f08c3a27591b8d Mon Sep 17 00:00:00 2001 From: Arnaud Ritti <77437157+arnaud-ritti@users.noreply.github.com> Date: Sat, 7 Nov 2026 23:53:36 +0100 Subject: [PATCH] feat(plugins): add persistent private filesystem directories (#2051) Closes #1947 Adds API 1.3 `fs.plugin-dir`: a persistent owner-only directory per plugin (0700 directories / 0600 files on Unix, owner-only ACL on Windows), separate from the packaged code, storage and secrets. The plugin reads and writes under it without fs.* grants, can open files there in the editor and pass their paths to approved programs; editor saves keep the protection, restart keeps the content, uninstall removes it. Traversal and symlink escapes into other plugins' directories are rejected (real-Wasm regressions). Co-authored-by: arnaud-ritti <77437157+arnaud-ritti@users.noreply.github.com> --- Cargo.lock | 2 + crates/ide-host/src/plugins/api.rs | 23 +- crates/ide-host/src/plugins/mod.rs | 6 +- crates/ide-host/tests/plugins.rs | 155 ++++++++ crates/ide-plugin/src/runtime.rs | 6 +- crates/ide-plugin/src/wit_host.rs | 24 +- .../tests/fixtures/commit/dist/plugin.wasm | Bin 97338 -> 97252 bytes .../fixtures/commit/dist/plugin.wasm.sources | 2 +- .../fixtures/detail-views/dist/plugin.wasm | Bin 105788 -> 105733 bytes .../detail-views/dist/plugin.wasm.sources | 2 +- .../fixtures/diagnostics/dist/plugin.wasm | Bin 102194 -> 102178 bytes .../diagnostics/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/endpoints/dist/plugin.wasm | Bin 78636 -> 78684 bytes .../endpoints/dist/plugin.wasm.sources | 2 +- .../fixtures/file-templates/dist/plugin.wasm | Bin 68044 -> 68092 bytes .../file-templates/dist/plugin.wasm.sources | 2 +- .../fixtures/grouped-views/dist/plugin.wasm | Bin 89154 -> 89208 bytes .../grouped-views/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/hello/dist/plugin.wasm | Bin 141555 -> 141603 bytes .../fixtures/hello/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/hover/dist/plugin.wasm | Bin 86780 -> 86812 bytes .../fixtures/hover/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/indexer/dist/plugin.wasm | Bin 79921 -> 79990 bytes .../fixtures/indexer/dist/plugin.wasm.sources | 2 +- .../fixtures/inlay-hints/dist/plugin.wasm | Bin 88699 -> 88731 bytes .../inlay-hints/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/jobs/dist/plugin.wasm | Bin 147779 -> 147763 bytes .../fixtures/jobs/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/misbehave/dist/plugin.wasm | Bin 139808 -> 139744 bytes .../misbehave/dist/plugin.wasm.sources | 2 +- .../fixtures/path-events/dist/plugin.wasm | Bin 91110 -> 91158 bytes .../path-events/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/private-dir/Cargo.lock | 333 ++++++++++++++++++ .../tests/fixtures/private-dir/Cargo.toml | 20 ++ .../tests/fixtures/private-dir/README.md | 6 + .../fixtures/private-dir/dist/plugin.wasm | Bin 0 -> 106738 bytes .../private-dir/dist/plugin.wasm.sources | 1 + .../tests/fixtures/private-dir/plugin.toml | 42 +++ .../tests/fixtures/private-dir/src/lib.rs | 63 ++++ .../fixtures/semantic-tokens/dist/plugin.wasm | Bin 88868 -> 88895 bytes .../semantic-tokens/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/storage/dist/plugin.wasm | Bin 71110 -> 71130 bytes .../fixtures/storage/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/symbols/dist/plugin.wasm | Bin 103940 -> 103982 bytes .../fixtures/symbols/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/tables/dist/plugin.wasm | Bin 116488 -> 116472 bytes .../fixtures/tables/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/web-log/dist/plugin.wasm | Bin 69011 -> 69075 bytes .../fixtures/web-log/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/web-pty/dist/plugin.wasm | Bin 68022 -> 68066 bytes .../fixtures/web-pty/dist/plugin.wasm.sources | 2 +- crates/ide-vfs/Cargo.toml | 6 + crates/ide-vfs/src/encoding.rs | 29 +- crates/ide-vfs/src/lib.rs | 4 +- crates/ide-vfs/src/private.rs | 273 ++++++++++++++ plugins/README.md | 18 + .../official/ai-completion/dist/plugin.wasm | Bin 169566 -> 168810 bytes .../ai-completion/dist/plugin.wasm.sources | 2 +- plugins/official/checkstyle/dist/plugin.wasm | Bin 166501 -> 166250 bytes .../checkstyle/dist/plugin.wasm.sources | 2 +- plugins/official/csv-editor/dist/plugin.wasm | Bin 130591 -> 130537 bytes .../csv-editor/dist/plugin.wasm.sources | 2 +- plugins/official/git-toolbox/dist/plugin.wasm | Bin 108497 -> 108477 bytes .../git-toolbox/dist/plugin.wasm.sources | 2 +- plugins/official/graphviz/dist/plugin.wasm | Bin 126072 -> 126050 bytes .../graphviz/dist/plugin.wasm.sources | 2 +- .../official/key-promoter/dist/plugin.wasm | Bin 97368 -> 97356 bytes .../key-promoter/dist/plugin.wasm.sources | 2 +- .../official/license-header/dist/plugin.wasm | Bin 150738 -> 150690 bytes .../license-header/dist/plugin.wasm.sources | 2 +- plugins/official/mybatis/dist/plugin.wasm | Bin 166708 -> 166628 bytes .../official/mybatis/dist/plugin.wasm.sources | 2 +- .../official/regex-tester/dist/plugin.wasm | Bin 932821 -> 932276 bytes .../regex-tester/dist/plugin.wasm.sources | 2 +- plugins/official/solidity/dist/plugin.wasm | Bin 105047 -> 104992 bytes .../solidity/dist/plugin.wasm.sources | 2 +- .../official/string-tools/dist/plugin.wasm | Bin 162804 -> 162692 bytes .../string-tools/dist/plugin.wasm.sources | 2 +- sdk/rust/openidea-plugin/src/host.rs | 17 +- sdk/rust/openidea-plugin/src/mock.rs | 39 +- sdk/rust/openidea-plugin/wit/fs.wit | 10 +- sdk/rust/openidea-plugin/wit/views.wit | 2 + wit/fs.wit | 10 +- wit/views.wit | 2 + 84 files changed, 1100 insertions(+), 51 deletions(-) create mode 100644 crates/ide-plugin/tests/fixtures/private-dir/Cargo.lock create mode 100644 crates/ide-plugin/tests/fixtures/private-dir/Cargo.toml create mode 100644 crates/ide-plugin/tests/fixtures/private-dir/README.md create mode 100644 crates/ide-plugin/tests/fixtures/private-dir/dist/plugin.wasm create mode 100644 crates/ide-plugin/tests/fixtures/private-dir/dist/plugin.wasm.sources create mode 100644 crates/ide-plugin/tests/fixtures/private-dir/plugin.toml create mode 100644 crates/ide-plugin/tests/fixtures/private-dir/src/lib.rs create mode 100644 crates/ide-vfs/src/private.rs diff --git a/Cargo.lock b/Cargo.lock index d2e519a43..1c3bb3101 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4783,12 +4783,14 @@ dependencies = [ "ignore", "notify", "parking_lot", + "rustix", "serde", "serde_json", "specta", "tempfile", "tracing", "trash", + "windows-sys 0.61.2", "zip", ] diff --git a/crates/ide-host/src/plugins/api.rs b/crates/ide-host/src/plugins/api.rs index 9513cb3a2..31b19d560 100644 --- a/crates/ide-host/src/plugins/api.rs +++ b/crates/ide-host/src/plugins/api.rs @@ -1794,6 +1794,16 @@ impl HostApi for PluginApi { serde_json::to_string(&value).ok() } + fn plugin_dir(&self) -> Result { + ide_extension::validate_plugin_id(self.id()).map_err(HostError::Invalid)?; + std::fs::create_dir_all(&self.shared.data_dir).map_err(failed)?; + let data = self.shared.data_dir.join(self.id()); + ide_vfs::create_private_dir(&data).map_err(failed)?; + let files = data.join("files"); + ide_vfs::create_private_dir(&files).map_err(failed)?; + files.canonicalize().map_err(failed) + } + fn read_text_file(&self, real: &Path, max: usize) -> Result { // Unsaved editor contents win, as they do for project files. if let Some(text) = self.shared.workspace().and_then(|w| w.buffer_text(real)) { @@ -1825,12 +1835,21 @@ impl HostApi for PluginApi { Err(e) if e.kind == ide_core::error::ErrorKind::NotFound => ("utf-8".to_string(), false), Err(e) => return Err(not_writable(real, e)), }; - ide_vfs::save_text(real, text, &encoding, has_bom).map(drop).map_err(|e| not_writable(real, e)) + if self.plugin_dir().is_ok_and(|dir| real.starts_with(dir)) { + let bytes = ide_vfs::encode(text, &encoding, has_bom).map_err(|e| not_writable(real, e))?; + ide_vfs::write_atomic_private(real, &bytes).map(drop).map_err(|e| not_writable(real, e)) + } else { + ide_vfs::save_text(real, text, &encoding, has_bom).map(drop).map_err(|e| not_writable(real, e)) + } } fn write_bytes_file(&self, real: &Path, bytes: &[u8]) -> Result<(), HostError> { check_unsaved(self.shared.workspace(), real)?; - ide_vfs::write_atomic(real, bytes).map(drop).map_err(|e| not_writable(real, e)) + if self.plugin_dir().is_ok_and(|dir| real.starts_with(dir)) { + ide_vfs::write_atomic_private(real, bytes).map(drop).map_err(|e| not_writable(real, e)) + } else { + ide_vfs::write_atomic(real, bytes).map(drop).map_err(|e| not_writable(real, e)) + } } } diff --git a/crates/ide-host/src/plugins/mod.rs b/crates/ide-host/src/plugins/mod.rs index ad113fd45..1326eb716 100644 --- a/crates/ide-host/src/plugins/mod.rs +++ b/crates/ide-host/src/plugins/mod.rs @@ -1042,7 +1042,11 @@ impl PluginHost { std::fs::remove_dir_all(if root.is_dir() { root } else { plugin.dir().to_path_buf() })?; self.updates.lock().remove(id); // Its storage goes with it. - let _ = std::fs::remove_dir_all(self.shared.data_dir.join(id)); + match std::fs::remove_dir_all(self.shared.data_dir.join(id)) { + Ok(()) => {} + Err(e) if e.kind() == std::io::ErrorKind::NotFound => {} + Err(e) => return Err(e.into()), + } { let mut ledger = self.ledger.lock(); ledger.remove(&plugin.subject()); diff --git a/crates/ide-host/tests/plugins.rs b/crates/ide-host/tests/plugins.rs index 9b851917e..fab352c4f 100644 --- a/crates/ide-host/tests/plugins.rs +++ b/crates/ide-host/tests/plugins.rs @@ -683,6 +683,161 @@ fn a_reporting_task_outlives_its_background_budget() { assert_eq!((info.status, info.stats.crashes, info.stats.errors), (PluginStatus::Active, 0, 0), "{info:?}"); } +#[test] +fn private_directory_is_owned_persistent_and_removed_on_uninstall() { + let f = fixture(Limits { + timeout: Duration::from_secs(30), + idle_timeout: Some(Duration::from_millis(100)), + ..Limits::default() + }); + let pkg = sample("private-dir"); + f.host.install_from_dir(&pkg, &Consent::default()).unwrap(); + let run = |cmd: &str, arg: Option<&str>| f.host.run_command("test.private-dir", cmd, arg, Invocation::default()); + let dir = PathBuf::from(run("directory", None).unwrap().unwrap()); + assert!(!dir.starts_with(f.installed("test.private-dir"))); + assert_eq!(run("roundtrip", None).unwrap().as_deref(), Some("fake private data\n")); + assert_eq!(run("large-cache", None).unwrap().as_deref(), Some("83886080")); + let file = dir.join("fake-secret.txt"); + #[cfg(unix)] + { + use std::os::unix::fs::PermissionsExt; + assert_eq!(std::fs::metadata(&dir).unwrap().permissions().mode() & 0o777, 0o700); + for name in ["fake-secret.txt", "cache.bin"] { + assert_eq!(std::fs::metadata(dir.join(name)).unwrap().permissions().mode() & 0o777, 0o600); + } + } + for path in [f._tmp.path().join("secret.txt"), dir.parent().unwrap().join("adjacent.txt")] { + std::fs::write(&path, "other content").unwrap(); + for cmd in ["read", "write"] { + assert_eq!(run(cmd, path.to_str()).unwrap_err().kind, ErrorKind::PermissionDenied); + } + assert_eq!(std::fs::read_to_string(&path).unwrap(), "other content"); + } + let other_pkg = f._tmp.path().join("other-plugin"); + copy_dir(&pkg, &other_pkg); + let manifest = other_pkg.join("plugin.toml"); + let text = std::fs::read_to_string(&manifest).unwrap().replace("test.private-dir", "test.private-dir-other"); + std::fs::write(manifest, text).unwrap(); + f.host.install_from_dir(&other_pkg, &Consent::default()).unwrap(); + f.host.run_command("test.private-dir-other", "roundtrip", None, Invocation::default()).unwrap(); + let other_dir = PathBuf::from( + f.host.run_command("test.private-dir-other", "directory", None, Invocation::default()).unwrap().unwrap(), + ); + for cmd in ["read", "write"] { + assert_eq!(run(cmd, other_dir.join("fake-secret.txt").to_str()).unwrap_err().kind, ErrorKind::PermissionDenied); + } + for path in [ + dir.join("../adjacent.txt"), + dir.join("../../test.private-dir-other/files/fake-secret.txt"), + dir.join("../../test.private-dir-other/files/new.txt"), + ] { + assert_eq!(run("write", path.to_str()).unwrap_err().kind, ErrorKind::PermissionDenied); + if path.exists() { + assert_eq!(run("read", path.to_str()).unwrap_err().kind, ErrorKind::PermissionDenied); + } + } + assert!(!other_dir.join("new.txt").exists()); + assert_eq!(std::fs::read_to_string(dir.parent().unwrap().join("adjacent.txt")).unwrap(), "other content"); + assert_eq!(std::fs::read_to_string(other_dir.join("fake-secret.txt")).unwrap(), "fake private data\n"); + #[cfg(unix)] + { + use std::os::unix::fs::symlink; + symlink(other_dir.join("fake-secret.txt"), dir.join("escape.txt")).unwrap(); + symlink(&other_dir, dir.join("escape-dir")).unwrap(); + for path in [dir.join("escape.txt"), dir.join("escape-dir/fake-secret.txt")] { + for cmd in ["read", "write"] { + assert_eq!(run(cmd, path.to_str()).unwrap_err().kind, ErrorKind::PermissionDenied); + } + } + assert_eq!( + run("write", dir.join("escape-dir/new.txt").to_str()).unwrap_err().kind, + ErrorKind::PermissionDenied + ); + } + // The same real file opens and saves through Documents, preserving privacy. + f.workspace.documents.open(&file).unwrap(); + let doc = f.workspace.documents.by_path(&file).unwrap(); + f.workspace + .documents + .apply_edits(doc, &[ide_core::TextEdit { range: ide_core::Range::default(), new_text: "edited ".into() }]) + .unwrap(); + assert!(run("write", None).unwrap_err().message.contains("unsaved changes")); + assert_eq!(run("read", None).unwrap().as_deref(), Some("edited fake private data\n")); + f.workspace.documents.save(doc).unwrap(); + assert_eq!(std::fs::read_to_string(&file).unwrap(), "edited fake private data\n"); + #[cfg(unix)] + { + use std::os::unix::fs::PermissionsExt; + assert_eq!(std::fs::metadata(&file).unwrap().permissions().mode() & 0o777, 0o600); + } + // Reload and idle reclaim never remove content. + f.host.reload("test.private-dir").unwrap(); + assert_eq!(run("directory", None).unwrap().as_deref(), dir.to_str()); + std::thread::sleep(Duration::from_millis(150)); + f.host.tick(); + assert_eq!(f.status("test.private-dir"), PluginStatus::Inactive); + assert!(file.exists()); + f.host.uninstall("test.private-dir").unwrap(); + assert!(!dir.exists()); + assert!(other_dir.join("fake-secret.txt").exists()); + f.host.install_from_dir(&pkg, &Consent::default()).unwrap(); + assert!(run("read", None).unwrap_err().message.contains("no such file")); +} + +#[test] +fn private_directory_is_available_to_providers_without_a_project() { + let f = fixture(Limits::default()); + f.host.install_from_dir(&sample("private-dir"), &Consent::default()).unwrap(); + f.host.set_workspace(None); + f.host.run_command("test.private-dir", "roundtrip", None, Invocation::default()).unwrap(); + let doc = ide_plugin::ProviderDocument { + path: f._tmp.path().join("outside.txt"), + language: "private-fixture".into(), + version: 1, + text: String::new(), + }; + assert!(eventually(|| f + .host + .provide_completion(&doc, ide_core::Pos::new(0, 0), None) + .iter() + .any(|(_, item)| item.label == "fake private data\n"))); +} + +#[test] +fn private_directory_survives_host_restart_and_inactive_uninstall() { + let f = fixture(Limits::default()); + f.host.install_from_dir(&sample("private-dir"), &Consent::default()).unwrap(); + f.run("test.private-dir", "roundtrip", None).unwrap(); + let dir = PathBuf::from(f.run("test.private-dir", "directory", None).unwrap().unwrap()); + f.host.shutdown(); + let host = + PluginHost::new(f.plugins_dir.clone(), Arc::new(|_: Option<&str>, _: PluginEvent| {}), Limits::default()) + .unwrap(); + host.load_all(); + host.startup_finished(); + assert_eq!( + host.run_command("test.private-dir", "read", None, Invocation::default()).unwrap().as_deref(), + Some("fake private data\n") + ); + host.shutdown(); + host.uninstall("test.private-dir").unwrap(); + assert!(!dir.exists()); +} + +#[cfg(unix)] +#[test] +fn private_paths_work_with_open_location_and_approved_process_arguments() { + let f = fixture(Limits::default()); + f.host.install_from_dir(&sample("private-dir"), &Consent::default()).unwrap(); + f.run("test.private-dir", "roundtrip", None).unwrap(); + let path = PathBuf::from(f.run("test.private-dir", "open", None).unwrap().unwrap()); + assert!(f.take_events().iter().any(|(client, event)| client.as_deref() == Some("main") + && matches!(event, PluginEvent::OpenLocation { path: opened, line: 0, column: 0, .. } if opened.0 == path))); + assert!(f.run("test.private-dir", "process", None).unwrap_err().contains("process:cat")); + f.host.set_capability("test.private-dir", "process:cat", true).unwrap(); + assert_eq!(f.run("test.private-dir", "process", None).unwrap().as_deref(), Some("fake private data\n")); +} + /// A missing capability is an error the plugin can handle, not a trap. #[test] fn ungranted_capabilities_are_denied_not_trapped() { diff --git a/crates/ide-plugin/src/runtime.rs b/crates/ide-plugin/src/runtime.rs index 763913116..42491954b 100644 --- a/crates/ide-plugin/src/runtime.rs +++ b/crates/ide-plugin/src/runtime.rs @@ -24,7 +24,7 @@ use ide_core::CancellationToken; use ide_core::ipc_path::to_ipc; use ide_extension::Capability; use parking_lot::Mutex; -use std::path::Path; +use std::path::{Path, PathBuf}; use std::sync::Arc; use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; use std::time::{Duration, Instant}; @@ -253,6 +253,10 @@ pub trait HostApi: Send + Sync { /// `fs.read` grant already covers: the unsaved buffer wins, then the disk. /// `max` bounds the bytes read. fn read_text_file(&self, real: &Path, max: usize) -> Result; + /// The plugin's private directory, independent of the current invocation. + fn plugin_dir(&self) -> Result { + Err(HostError::Failed("private plugin storage is unavailable".into())) + } /// Replaces the text of a file whose real path the caller already checked: /// in one step, keeping its encoding and BOM (a new file is UTF-8). Refused /// while an editor holds unsaved changes for it. diff --git a/crates/ide-plugin/src/wit_host.rs b/crates/ide-plugin/src/wit_host.rs index 470a4d082..eaa4e6061 100644 --- a/crates/ide-plugin/src/wit_host.rs +++ b/crates/ide-plugin/src/wit_host.rs @@ -223,13 +223,21 @@ impl StoreData { /// `path` as the real path an `fs.read:…` grant covers, or what the plugin /// should be told instead (`denied` naming the capability to declare). fn granted_file(&self, path: &str) -> Result { - sandbox::resolve_granted(&self.granted, path).map_err(Into::into) + let mut granted = self.granted.clone(); + if let Ok(dir) = self.host.plugin_dir() { + granted.push(Capability::FsRead(to_ipc(&dir))); + } + sandbox::resolve_granted(&granted, path).map_err(Into::into) } /// The same for `fs.write:…`: a file that does not exist yet is resolved /// through the directory it would be created in. fn writable_file(&self, path: &str) -> Result { - sandbox::resolve_writable(&self.granted, path).map_err(Into::into) + let mut granted = self.granted.clone(); + if let Ok(dir) = self.host.plugin_dir() { + granted.push(Capability::FsWrite(to_ipc(&dir))); + } + sandbox::resolve_writable(&granted, path).map_err(Into::into) } fn client(&self) -> Option<&str> { @@ -1144,6 +1152,14 @@ impl views::Host for StoreData { } fn open_location(&mut self, path: String, line: u32, column: u32) -> Fallible<()> { + if let Ok(dir) = self.host.plugin_dir() + && let Ok(real) = sandbox::resolve_granted(&[Capability::FsRead(to_ipc(&dir))], &path) + { + if let Err(e) = self.require_interactive() { + return Ok(Err(e)); + } + return Ok(self.host.open_location(self.client(), &real, line, column).map_err(to_wit)); + } if let Err(e) = self.require(Capability::ProjectRead) { return Ok(Err(e)); } @@ -1204,6 +1220,10 @@ impl From for wit::Error { /// Files outside the open projects, gated by `fs.read:` and /// `fs.write:` grants. impl fs::Host for StoreData { + fn plugin_dir(&mut self) -> Fallible { + Ok(self.host.plugin_dir().map(|dir| to_ipc(&dir)).map_err(to_wit)) + } + fn read_file(&mut self, path: String) -> Fallible { let real = match self.granted_file(&path) { Ok(real) => real, diff --git a/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm index da8b43557cda814941f78a5a82476e84b605e468..55b9cf54644eddcb907d28db53ee34d6d8791a3d 100644 GIT binary patch delta 5328 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 RFAX;xubEy(?L;^c{4Wr?IhOzc diff --git a/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources index 0b4a5e1b1..97c654186 100644 --- a/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources @@ -1 +1 @@ -54bad5e7b66e800a70e9e8a3189be3c18b815b1020f0718e9f63b6d0d116f700 +b243e04f0c4e95d66cfa588c805b504b9dc0cfb80c699f4304b888e298812fb9 diff --git a/crates/ide-plugin/tests/fixtures/detail-views/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/detail-views/dist/plugin.wasm index 611d74da95e31b43c92b37cdd1bf6f5e73ab94b0..152ec98f0c6222c2e0cf4141befb498a60f329ed 100644 GIT binary patch delta 4663 zcmbVP3s_Xu7C!6D17v1kM1zsKobm@NG{Jy>aS!=Jo*1z^z z`>?IAmFLvT%hxNRgwIsw%Cj$2HBgFdip{MyVSyP-&3M|pe%3783C0)9!d){e1SJSl zms#^L-{ejuD34iU7);7;vyr1BTS2kCyh+=@Zy)9=fiL*?UC+>Nm8A`ODplRLQLm>c zh41TnM7FhrY;xDpyCmf2QLf}u_ic1%DT(#)^Jvfc;Zv@nt1Uc-kpxQYr_@|5zx`eF zv4NagYBnkC1d4g2dBl74)jYD+=ULcHPWZh4 zC({0qng18KL~BPYI*$lk7(4dD5t6BWPq}Tk$jy!cHjj+Zg(x4GxXDpbNEYZqpq1q4 zJ`gws`T9o;EQQ9V6givXRWNuF$QIv&Cb~ncrRHb)713~+bd7pP@SW@L7dz0mZJBL- zLw|wc4-5Rjf4nIm-Aa>$cU;J_fE*#rzXAq?fq~s*8;0r+gE!(2`smrf5K|aDq^?m6 zIUe};|1X(873Jd~a};trXan6*!lwmCOH~hciiL|{P2N^$hGD zK6IPA1dRNQx1!vjl;2#`D1&-3r`Qwc)Z&G7?cT@-4NafM+G2ibI z{dqAmwzFLLsUGm5(8<_c`$UUo3QamH$nc64t~aX%RiK2@Nv-|PR*<(U82V;4DXZ{? z3esFL7OHpi0bY88*;p%;OlG80vgfL3^9|7R(|9E~JX;+efno+2VtCYAic7jufm=Oz4Qo_MDkf^#qI7X7| zLPvHS751yY!p}2>pDIeQpjlgc8trTA-UmHdTE7_1lA8L*ZE}!ezxCB$rNKbjKMTgQ zmp7cl3h|d4CV~w)N+72_(c^qYtin?&%6vvw%K4x#+<|VbCew{t$RWwb4+X*T? z4Bc8m@-HqC1uYqNX@{Wr;Ls-@mt$t0W15} z)dpp~=>m?#CMYBazSh82{@B-RBy=xNMs~!(E|uW+aulpo3qE{ z~u=_~m^$AF$OPojF(BkhoH&zeotLesATX!iBD#p{Uq@&3PL z(IH0bR$4{Tlg)iuP$yUg(3DPMaj28B1>}6UA6~6H-N`t=@SAW+OMly`H2KiU7{Mgw z&H_{)xD$!&aK?_2#;GhsS<@n87fGuv+~uq>{~iQ-S`x#v_G9%Mv~r21>P9XK|KM24 zDPT@wva2zC*Y4uEaN6*|CVgli74+Dcf{e*=x&QU#2&uDIB)6e%Dbx4J3eON8r6 z(Yvz>>QOqU5_!;$A`iVI;492f>WRF_D%|VGQKe$!AzT;B#d}2rx@{ErfS7vy`qH; zGN|QxM#1+`Yq;hQd7wJ}k?_4^eerqFS!u`)goQwNS90w^;NjU~TDv4X5S&u+8<$%p zenRnEz&QoOG$=C64+ak3oR!?IP>6%GTvQldhI+$-Fh~aa`XR1i4Cn=%5)Sha4O}>! zkU}xHC=!!7Y}ghF(MnYd7u>$F{pGyR`S6;cpR!)Oe!s-9{b|?;+>JPRjPsfW z4u*9z;Z@+a&w@!@>})9E_F7grTyf@7=YZ;WI>S$MU@kl#_H0H{dPZ16ddm9sDPd{p zi3wpZr=_pSSeKBPlo6J;F6qUTl}QO9t56q~khy+!T6)sTkd%y!%%qU;C&oV(ma%e8 zSbAp0`hL@OYcrEmUNl6PfkpN<=I|8(*_LR8Z_jh1O!g zDVKv!_Hq=@BbQJ_3zt@mE$p+%`*E8sm+IfiwPxAE?G*0y#{omsA|E*-x}>Zq{5B2l zljV@b`6s{_`lf_im;lkkx1x0ruDakr$5f}AntGQjO@K91ZqaILDXKI$M&sCp@)AT> z90I{_Wol{>q7M!gj-T0l)Y%f3MV$}_sg6v99k8FPOoT*WIn7FV3}U$WmEh@I>Y=7C4^vZZIIiNL QmT=2gfyR)(5)M87ANTojO8@`> delta 4805 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 TY8*_WkTnOq%rCzJUyS}YXS~=E diff --git a/crates/ide-plugin/tests/fixtures/detail-views/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/detail-views/dist/plugin.wasm.sources index b5c48e2ad..adb199892 100644 --- a/crates/ide-plugin/tests/fixtures/detail-views/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/detail-views/dist/plugin.wasm.sources @@ -1 +1 @@ -d3094365391dba5c9d65f506b4faa7abf3e4cf3906b94bbd058995efda105922 +1079919eeaf79cff09ecba0e5be922dbb1c2989b5f44216c349cedf634c83939 diff --git a/crates/ide-plugin/tests/fixtures/diagnostics/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/diagnostics/dist/plugin.wasm index 9784a1227e1afed3295f8e51b3d5deb8d81f1c55..f4a32700b0c85719aadaee651e38b222549d5f47 100644 GIT binary patch delta 5307 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 diff --git a/crates/ide-plugin/tests/fixtures/diagnostics/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/diagnostics/dist/plugin.wasm.sources index 1a97fb186..0b2110f8d 100644 --- a/crates/ide-plugin/tests/fixtures/diagnostics/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/diagnostics/dist/plugin.wasm.sources @@ -1 +1 @@ -3fe751d024341ab4f62aa30916c51708d371e52c8b9e7b7518332ed93b24395a +3be9380d804cf5446d80ff43d00442c64de80ff7d66560d0c78ff3eee7602531 diff --git a/crates/ide-plugin/tests/fixtures/endpoints/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/endpoints/dist/plugin.wasm index 8a04abbd360d8bebe32812435cc6995ae0ea9f94..07463618732e9f1410b973c5eae95b248f7175d3 100644 GIT binary patch delta 4094 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 JkNTBC{{$(O*HZuh diff --git a/crates/ide-plugin/tests/fixtures/endpoints/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/endpoints/dist/plugin.wasm.sources index c25b5370e..edc4bceb5 100644 --- a/crates/ide-plugin/tests/fixtures/endpoints/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/endpoints/dist/plugin.wasm.sources @@ -1 +1 @@ -1c5c1ce6d465aa201e39adf6c02e32f0d324d312b50371dd4f248b77ae8cda30 +9b1e49d2375cccada5952bc881b78fb56740f3f391950ce4a7fa661965e49dce diff --git a/crates/ide-plugin/tests/fixtures/file-templates/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/file-templates/dist/plugin.wasm index c8a379956c6f38b7331df4f8e922c0ec92c15cc0..b99fb74c0e6d14a5fd142e16e8088a18d24e6f7b 100644 GIT binary patch delta 3727 zcmb7H2~d<*68_(t0Y`x_>VPOr_-6oD%;Ja&$|d}GMuVb&_YqWrAQ1u>s}hA#K|oGz z10JBLAcq5@zabiRgYniu*=Q28n#2Q3*GyH^Rb!$>w%=T!!Kz)V{_nll-S6w}*ZseL z(1Y|PNSo4R7;fc-TBXF^^KFd}&@(HkyoO zOxV*3Tg>7|B__2U)6|;x95O4*&7(b2R_RQZH^uMX>LAWnt6Q{OqC9)8R?BgA9&5BX z3N7$JUPiO_LWr|x|BD^vdrQ85epa2$OS~nr@B_!&>z?X=KBI<~-U~@P@O_+Bj|v!z zpyVaO6BA+1YlJiVJfTH}5YhLDnRntFd9$-39f&CsH4&`T35K{L36)M)cL#c@UhE0_uZ^;JSVgniFnFWdAU(U1!wS)po#Nzo=GxHRg<|c{3aV^xV1@VLI0w#DF%>5-HHXp;i-ympRW)#Y z_#lU`HyJzRR~F+n@$vBSgq(u_zhFGm06&#j<`+uomRh(rav!ZK7PCh=6LJg61D4Xu z1yB*-3aY?(@(}U@)uaP-fxbh3EH?7F@isz19h=Hu={U8GkOfAIRt`;a_klyuB3jZ2 z9|iTLwMDQ#$epcff|P7^CdilSis1L4zbR`Q*)DGhr;9bHK)YvGsCw@4GThDOjY^TAOV0RCYG zD!K3EXB%;VwforQOS zNyZx!B7y-7kvot*f7%pU4{&{&l5Q>retJJgFG4bTb3+PQOtyoxh+j=_C*8YtgMUUx zpnLb29ES_0!@tbh<`{@E@ndRClCw;rGxgdZcu(SW$;)^NFEO`=-lTeAR@w4B_#PG& z%%71??!z}TmLdktT-99|=V#`3FAf%W&nmUSHhQo?1#=eo;!zeXm~UL~$N9E}QP@L& zsUSQX7b2#-{{g|gzK@+o4vF52W?;98+QpLymi*$97Oy7LOX-E(an95;=EPjFrOdH6 ziA`}cB(zEgvV^JRusAEhiLh02Vi2v>fi5w zha+m%Oh8<@M(Jz`MXK&K&ho_*3}XEndx92Utc^yrUv~!a%DP0v(OEkYf68)3e43Sn zxF~xdVqW%O#6#J`-m#`J&XR>-5y@0idty14&eZ(ZFYIrL!op zpXX*a;CuK}xg|(j!2mb%yj?9BaQ@U&&}OJ?C6=lgfZtGQsfLud!)oX^%s@tud~XaT zBHwq2B{%t0>xq~|CRg~9+9j$iy>0+qeh6-VkYCiv+6!5;3Uny;Eo7&$q;MtTjlxlg zPDPhoEFSFDQeG0#=>=XC<)F#BVhy5L`~zZP2_tAJS&cY)qYq-z#vc(UZDKZ`Y`Tg# z6+waLt2D}71s{4axo1@XAa#KYHPBJT$h!qtq?zRfn zQxQ7?5p#E(Cx$)KcM>dcRAol@;oYtDMpMUK{#NxXr!;$4F{=N)YaZhG-R!J-@4<9M zVUL!b$=6jZ_s3Q2G!9p@)A+5LNsiSjVeH=3R?b&W)t-bzQ+Tk@U?W&r4 zhy}GKzU?@lRmT$jxQ-=SSH}_^SkDSHw|>42t=|P-?!S+NSk+WQ92$19YfA9I4}L*| zC>)HUZih`j_&DKD@{yXbpJG@B{4h~L*B~|>iX=o2qwhq9Ve`_h-Tn(36`_Zk{aIf|6ZfATbCup_!PsmZP z$)RVZM{XCZ54;@^6Q5D27B!caQwVJf6+7DgLuP4W(&AFnG_k1(>FEiYgyrJnZ&pz;`P(9yNPgN!!&<5_n&&-MQ#m)4Y)L|><2BTbo51MfH3OUybire|B7-X7*5_fzY@QIh0ybVS- z#x=CuUhJ*tDd*f!+YcZ1$2f*M$+-`SoQuZ!b$pn$4BopFiarbO6jOx_DBBm2FF@Pw d+Na!E&Yh6Uxs&*u#)q2+ZFgP7)9pRH{tKjvhmHUM delta 3711 zcmb7H2~?EV75?9w0Y_oNsH_3vKLZ#cMWP5%_8&xz35ue)Ye0>FC|0%4Vl zs0e}xvIt83DK&9yvC*gzl!{5UT1CaW#8evBDmA@tHqqcYt>?V&zIX3^cc1rTA4uCl z+MFySAg0JpNM%DLln_d&7$UbMsl`ogoLMR-RO@M$o*vUvDHFEq550OSW6Z%uxUFX& zDb(3AW0I$hxQg$k?b>bDWt|ni{E42zM3R z==mD(w|2JMaiyfE_~_w(Ey>^|t`b>r#^rPSzrI+yI~3Z6E+H+z53^Qka+wvuk(UU^ zbOtkDGdO41LwYe6!iImPw>#yHb~Dn$y2kH*PSTwVcg7 zjI?s@?}5A$d4CVwOAp+eJk(p;LzC5Tt(VXLulWBr>!al@{o4S2Htu(v&kc*ZuB zRKPSl9&TFmu-b0nh~2D5JSS9Y@9>nTiZU&W3eq@5m3YUlhTxR~`>}&67~h;gg1t3d zvCl+vpE{fX6B|JJ4x34c-8PP*yQ2jm)!_fmJW?%gd&kd&REp=F#uKtjl)I!z$sTc| z>q$b&#gE=wU_yV&73^X^$?J&X156d~hODS&i3Z(RQEnN6uAMMQ-GsasJ(g4$4KwH$hYBwQSKs zP_Q)l;E~9i96XDpL0PcxTV1-`j&f-5ULD*FR-r%^QbIIP5i*rtXo4R@d@U|$BNd1b z$7*^Aye7JmW>_+Dw9AEhZ9#5m`ydfGra^`N`V{pKPOKtFVRq;OatwYKI=){TQlU(I z9D0e;Cxy^8#f@aaiz#QZJL1_7{Yby)I2N7VM^A=zYCAB=Fattoov8ZQj*ye!7p5Y| zVM$mG?oFokl0U-ZY0U%Z!=dRbNFngye)M(&EDm4k)b{#h;WMD)@!Ev&QGk2lyU=>h zjA`_75nP(#NW1fapJ`*^LP#pFA4s8-@ph3y@lP{*$iS{0;4ibn(EW(nneviC?O>f{ zW0MQw>=hvobnQ67IDNWVdxlRWzLdO-m+%t(c$Dd?{#-9I~xYP&W*Jq?357aOP}t8#<-N>x%=7Oevbea&U58tbo|9id&F%keG$8~Xc4c({h0We z0dFJUJ4H7?HBk)Vosaa1^yw5#!A1cq+mZZ)&Um zhN-A<6j*GSV0VRR_Qg8tt}))Fa*hV+vn)Qy)J9QGB{5i3NrhqXFxS~onea@-Ep-mEH>P?cewFHlct3RpqM#mu7^MzCtW?iOe6IFH^hleGxHiqv z+7OCVH6+yVu@f|6Lz+23jX!Lhg=oI%Tg0wSafkuw6^K{Ttq~uk$0J5(j6}@Na6@d# z82g?vjZi}tf`KJdO3jI(E-zE_-n_)l5XT{jN{SbaMbW_i&12E>waq*t%?u~S5Ro~_ z7e_#-uoQyOMn1C2TUc>Qip{!6Pv&}w>aBeKWjv1%;KTZ?!(Z#<$^{ux_?2XmE_ zmxR6a0?+d^QDsws2clST5izfj8E7k9j~KAU9Wj2(-w~%4F`dtg&Ld6-HYA%M2=N%i zSQ^aRPVQ$qsMymeuOW;L~9e9*lXgxX>m2bdJYPlm~c{z)_vz*OT*e)N$tX-#w zX3xwDf(?$S+%Rx>H!EFH)nd1|QT$4k=It&(@txfZ5hqo#S`FQU>59T0HLJ;=t6A

sys$tc5Qo}f!I!BnecfHZ(D;4>EFM9yYYkA|Wzm|4zElaz)_7-ApozC7)+|R9N ziT<{pC0bw45*^vV8nmEckqLcP311($jYO<&E+q2*RI+DEaKaD%Q@pA(Zx1!S7G=LL9lvoXai^T1R^$Iaa$M{VWPCjMpVzON z>_1;~IxhIQ=y7H>4WFI7JSo{DB_?52RI39Q@?W&o|T3(I9%%@e$aa@(CU<_ zf^$Q@B`#FqE)Q35_hI7o9OYWHG#@!5aLI9HOBCF6q;BX&dxqZYOI^EV3eEw!Hn`Y7 zW`na*aI1)dn}yp;xR|yZth*72J~cNA=v66%^+c14(A;A`EZ$ndZBZyVz_k?@x3K6R Lw&J6nK`#FV1srLZ diff --git a/crates/ide-plugin/tests/fixtures/file-templates/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/file-templates/dist/plugin.wasm.sources index 596f3ec92..f4e5acd68 100644 --- a/crates/ide-plugin/tests/fixtures/file-templates/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/file-templates/dist/plugin.wasm.sources @@ -1 +1 @@ -5f0877c4438f91dbb4069c733e9f2a214e366ec6e4c295c5c798a28ea75a5400 +e357dc8ec3348b94ab8761b682290e8351c29dc44a96a88032c62e6b7cc1f84a diff --git a/crates/ide-plugin/tests/fixtures/grouped-views/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/grouped-views/dist/plugin.wasm index 1511dd15a4431e9276f6a84e13963cd0631e4305..4641c77cb748a43889b9194cc8d21217dae017b1 100644 GIT binary patch delta 4446 zcmb7H3s_Xu7Cvjw42;eIhjD7935^tA7jIhWce#4^KJx&q?)@$w=lo}_z4pHzd+mMB z9NH(lw@+qTsD$r?*Oi=1fe=ziBoY7wxWGBo0UQtl^S=`kjyey6?27tEMv=|%off=l z!A%y-H=4(#)TqQF?6aVpDu>x_CX4#pkIZuvbYz2tsKqk)nFW<}FlShu*;MzL@T$uv z2oB(1-J(1`t8COUsq9y4bUKDn1gzE(3 z7B0#h{G;51$}@x;2Do9ML^0|}wrR*Z7!bal zggQOKPf}R&|Aqc%)GDkGa8VAX$0b?~8o}Tl^WAa5=*g%;hxPvBoZO2sj} zNvs-&IK-BTD#S}u*;*kYWEaRqe@a9hy5nCav33manaY;q;iJk4Vg0D1LT0EFz%IN# zY!>Viy2G+1uv=I#W3$Do7zf6@dDINMN#tete!MDk7Rsr@ z9hq8(GE5EmKDuW61jn~00jjFTGu|1GnkaCB@J|E&%B!PYJCqo-n zXRSpWjJPsO4PCf7Du_!nzPu^|=Dq2 zqq9}eD7>0YEJ~^Zng9* zLroArcmkpm+H!ZouOyDya0a(-7&j;(sX3tuLfi-25y~sZeR(6%wqop^e-iEq*Yl%c zP>i%MA`9<1cZ&-*$=Wx3w-8;V0;D(MS$Z{e;FbDaRM33X2dD63#irj+!0iTKe7krG zD&2#l@p#fa@8Tta8^lBhb)*J(vyKxp1D+ISSji{E#qN@q(1#`Xw-R5ti`_mBBFEwQ zk9QC{q4VP(;SU|AQfCu3t#_>XNL}s@-Q5_hH}9Mv(gIa` z#Ky2B;Y}LHl7hZkXswzqK{<6eur?0bg^XG^pi*Alc(kDoH`isjoOyH|$lEBc{yE?C zqFy7>BB_Sq2*{ta^}u;7)Q>08_lfsWMm2eU(U|;)T+PNYWb|LgKsYaOrp(i+y-MfHmAw8&EfHaBLS1~?dtJS|&UgZQ&0G+mPSZ6WyYStvBeL}fY^ zIWQ>Jl6$9M)-oE2l~5z)J8^qsAj%*(oCa~anx$kp_x>_<4_cZ zbB7`+C=bU|n0MHZ!m7j36uvr4&Q25dY#Kx1g{DbS79uIfj76^G#IhsjzS7Zp6j`H{ zYKA{+{gUBxOv2G71z8#sKJ(2q3L!_np>X?13WeE6w|iM9%1MZl$=006RQy=;8`LPf zIfz1Ka|nfRn31A_h38MP-}jsj(Xfk(d;;jEl5V zvSJXNJtvJL=elKe&4Zl%Sj1Wz!;Y5Xev8(}nj$HGAg^1cwv$+Uf*3@%?y#=3lv9wE z?rohxgNi+=C4r`#jBvC0jk6Vvj2lmSQnOs1g(_)=wpBYV+ADro=u=uQKX*heD zN=wd(eO7udhDw*tEw;t$Ij}#;$lUM7*hXB3j8uHLj8649e~iNA^CJ6W9bZzZtwW3h zeJ{qL`~ELPDeV2;N9@eg7c|u7w+rHo5uHs`y45M}g3%YLvbfs^FSsVdSr>C{&WDEO z)g^AI_%5-3mUX#Mj`dv&DD-w+q0s(=nQ99awsreZ*xxP2b*pw|Nje_hP|;B_(g>Kme)jvHGz z3pY9X5wpaV zWm*mTAjnfsCuFY?l|Q*0$hBBvb~uuF5@o}LU`Pnb7{)R_WY~jT^pCRW-B{*LV3}9Q z^96EIbGe~87-EQD`3NXNt}?^s5%4-R82U$mw`0FM%cz}MCV*T)&J96Y@QwTr_REoK delta 4533 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 diff --git a/crates/ide-plugin/tests/fixtures/grouped-views/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/grouped-views/dist/plugin.wasm.sources index e950ab372..5014ca22a 100644 --- a/crates/ide-plugin/tests/fixtures/grouped-views/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/grouped-views/dist/plugin.wasm.sources @@ -1 +1 @@ -ff562c4c62faa7eaf112e12ab839e6bef4dcbdee42fa84d949e6857065432214 +2d217bbc64084a567bb9ab3b3211707bb3910775a0ff83e999224450b3147f16 diff --git a/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm index cd24c43ae814c6548b38879b188d83adc998d63b..2d95bd98a949936503a5357dc7e9ba395328e6c1 100644 GIT binary patch delta 6832 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 delta 6955 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 SpGX+RW?q4}?So3p@A)6PX?zg? diff --git a/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm.sources index dc09e44a1..547e1387a 100644 --- a/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm.sources @@ -1 +1 @@ -ea1066f976a18f765057a217b9de7a6c9871da321c80e0f7d4ccac6642dd44dd +d17719e25a37452fff08809ba1d8d347db9b753a592f54874cc94f1f60b647ed diff --git a/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm index 0a92a4c97ad386a4117568ab811ab6c11214b14c..ebb48a2b5085ca49043017e9faca7c120d695f1e 100644 GIT binary patch delta 4693 zcmcIndstM}7C-CEfP_O#$#ZykW?&RBE`g#Zk{%NuC4y(f8A&yD(TmdBXC912f80MVeEYZdUVH8J*lX>* z&-9mA>_1|mJ#Gc{g4XIw=~FCgEdgL9AY|H1fz*oD^UUy6hHo~|E(0wz(0&88q(WQU z^ulEZYE79eg+c@8kVY>dqs%PB+B(Bzv4Psq$@XR{DPj0t5^ie`7lmls^{j)g;d~mi zR$lsES{lO)_ef7e%D0hw&tyR{+4QWJv$pf##5#Lm8Ks{SVUl4-5Z2<~NsLv886iR*U0gedg#;mr4!vYsD5uiv| zGPX|wrNXNdng9+7E-%cHVClwA_5z`h9}PlQ@Q1*rT@c)+__L(@C0nwB50n*N5UWzG zAJRDOC|o58FQtH1xcyQnzvdMBBYI0#&5dPq2#J{MLb~V1pnPbU3aUs# zn7`kyJW-!3XTjH96g?_8KV~Wm{^VX!;tGQzr$}2^q{E&z%JG&kDygaB_zp5VoMZR2 zk@#>o=pZ}81K8l{y|$y81{Ep?s^Ysi+idY%ldZ;3m>0pCL$UJbJ8(4Wgn z;8?z&tbDZ+dWdZPAv~Q`^Zx~>$nFK9FhIUpPztxn_Sar!JG02m1q#yh+OKTJCDOf6 zjr`$@7Qkt;YEh6)tv;p`3WE zE}?@btKlS~6ZvoSc03mE$J~M;jk%HBxKK3sZQOR7hx$Elr4{o%*|;{w z<|{qt0_Aj(dutW0{rY0d9K1fcVTNG)i84N!-E)~};$x6xuX}e0iy7-OhU5kd(SOae zzze%7NlDz3{Gp75C#?|2$FaXMc|K$eogzV=@;7?q^Eb?cTSCuLQqR;pq+BvvzxdE%Q$LRt`Ju|mYVX-e!{r^gPdYg>8%&Ynv5 z#M-)%zSk1E$i^MZ5U=i71YN?Io$p%)UK4G3u}&&5+0gS;z`=Od$?(LgSiWQ*EgB5? zyzp)2W)@FPM7F(Sb35gFv5ZP$RDkbkGuf5xi4xV>F^CEhiWo~WWjcLm7WmFK6G_e@ zWG~AZkC>ekh}e`f4^fdj5^+-Qi->RME=6q59gAp{Hxn^D&&@%vhVGAbi1C@@b;A33 z_%P~7mSzEBx8^g%ial!)9rqq|GOn>wS#XlsMqhayY1z9DMS}K?LR`Ji2XWWFfH9`H zLQJAYmX%T}1LM97#%i1YI<8%x?})fPKLGJeK8M(u9}dmrx&1RtZfhkkBDx2`MH>-oiY6ldP}E{dgG?pmB%x*++YfI?k>$mH zh#AElh|wif!QPV1h>k~m5krpLK=df3GV@E@5xvT2Wh^h7ig=(b*5s_y;E~Z0=kl?p z2|M$NRpp7e?rQlZ#Db$#Ys=9(#1D^A%k{^o<;fM}KqtIe;YLd*>G<<+!EMhTM;BZP~fJ3QtjV4j|<*)p`%`WkN(y<0QhH2uT|1bm!{)1Q949C2hV z-G=XK(Xya8l}5wOKTX}(T<1#eoG!=S?lUylwlm1hKD*DP@`*UB&eAx$&;DtgE_F1{ z&2@LI3?PD*1ZNYi}dKz_DJ&pRkdK&dWJx#>8zi+X?7fERNH(VDE zH0}o3jZ%68@gDdQR3}WjuoNaVUlDIA{AiHxqPMc?j=-Dg2fg%{c(L-fYw;esr5Bd+ zI&!&bIy4CKi&_b8=_k$MuFd*yM1~)LH&s9%%<-%pXN7lQPOIR1B^ubAb0oJVjS|P! z`ACFyt#4VvWug0vm4J8b^sfQ|E|PbyeF`Uq;Eq6GAJ>p~uZ<#?JLUNKa_o8^`{=BR zahG&;_OXR^BBQ^n3a{#8H~gSe=)BP=W4E@DqVLKmnRBlU)%|iWMuM;Miu+EAoE93e zTw{1Z@p?5}6!=)(pYKxq(z&9EVSpu=*!wmOYk9 ze*DRf?A9GZ&e&fT1N%ti2#0>%4eaGQQr`DGo7X@(`&`L;eQI`3!yw0>&1oP{KS_#md`*@hDvk$+fPtLwao%ow;!{Z&eHv^BAP(zdh z-iWUZj6+NtI0`kn^T0lLD#*p2A7VP>Dayo5@)q&}x<|IdIinwy8h-#^*Xl5q;nULa z7ia5qZBLAI^W2$^*$Lw#K5F^7q4phs3U;yIYe`XwNq!NDammSXe(Mt>Bm6e5PmE7W zh=`0z@>`z}^+w#9s0iO^^qu`scMrsO^_$#^J|bL!{&soj+HZX{Pgd}RJDuQyaM}FtthW? zRKo;_)P$*FioKt;obkaKY6#tACVR>m2hCwM#Pb&4g!uFk| zoLP!=BsLptS_}Oa`QR3bV@=p7i1eN=lQXV3P3_Y^YGsvL&cvYa3$Wjbjfx-8bdCbQ zXN*>PWKk=T8kfXJXl%V;LaGv7nT35?%3vF3&l1U+t$%?W~aNH`4HQ# K+WTH$a?cX|U?X}lq@3q%C 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 U4^=R$JQYkbj@3=_0I(1IFQ*usQ~&?~ diff --git a/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm.sources index 2ea418335..258ce390d 100644 --- a/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm.sources @@ -1 +1 @@ -206f442d5360fc87b9e46ba5fdb7b7d0d4dc5ed550fd33181921c46463b5ea6f +e347601e9dcf2024eed831fdb1a97a4b804b1422cfb05cda73f8057cf76125e0 diff --git a/crates/ide-plugin/tests/fixtures/indexer/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/indexer/dist/plugin.wasm index f5c8917f048f48d5545a51ed6f30865390f5db6b..be22447b63800522c88715a2621f3bea63f92025 100644 GIT binary patch delta 3953 zcmb7H3s_Xu7CvjwfFr}iD8obLaTt(LLBeO6Dbr2;G>tSLsc0bb5bzO?)Jy^28bY=e zyxwc_7=eL-8QmC)sGz85lvZe3qu2Vp>NPX+QC3uU?K2Ot^nP8w@BI7hwbof{{cEkW z&#Q(W1gsJ3d)vX|Y)5@@6a-3EK! zDr?LZlGSWgcD5iW19P%*)m@-pbqj>^^tQVf_30i>{#j0=H9w3~$JoD0fDQ5dy8;U6SwG3~NdKTm z7{DWy>C8ZQ$Ut}!gC?;TJ?`)R2NnfbEVD&+}0nKBA2Xrasa#x^{!JgCZALDQy%s8&&FtiR(t+gbUvF#uQS?dc%JbVt0F zYYxY60}Gv!FdiPzT?r%H9+)KVFkIlpyg+Xz^g)d#v48KPDy~s)#8XJX^F!bkMAzA# zpnYOu3A9j`q*)}_KogUOcH$wIc=TY+Nk<8ML)WMD!~U?8GuRroCUpdK$`Fs?O8W7F zAG>d_A#`(?`?7jxxX?>t^Sf=ypu;DjC7l@mbSaw5pPM*2cdv?MU` z%`2-WlpIt4{?c2(!BGI#~ZRZNo-{N?bs00#e z>sW0qw+bPGR%UmomFsG2X;x7nzGW7Jq7Xn z?h}YR%aRcl<-5G?&nPgwY@9t?orNALPeqf^ieSW7EBYd?tQZjLU^d!eY8NR2x1OAP}Ms|+GytKk)b74fSa?a13K3y?c%Xraq0*KrG|T8`!`s$vi? zSMfx;8hbgO@zy#&OvOTn8;AMXDXFz`RN;#xk5bta(^=>iqXvDH8T)YOpBTMybJJL4 zZ-QJ@@70CqBab1NbMy=%|34P;=VS- z9v|?=Py8SfG4F#UM{?c|Ulj{=sT=4}XgVt<)urKc&2^^{^Y?SFNA@=$zI}j4HXY!R z!|Dfth0U$^<&%?rkWa1tAUAD0cpPy@1E0c+4O~)v#Fqvi%5}tgB#9G;_!$3sNOUwz zqjm0_%)rC3Xt3?@b;K1%tp5Ii_v0FU5fdAEN;?|gM)YbLjySpL6j(}qj)F8i$5uQ( ztm#-Ew7qz2h(rBI1p=G%QO%m85!J_e9lkt{p_%eTHs_mrlIOATv=6;-(tvlXS~%OL z7B2n1WrxG(BTRRl;!Mwf2)JI1a>bx4wpj zo|^$fYip!q3x7wb%lQ|^aXjF$^qbZEJpZ7(CF2>?YBiSYEVSW#HMFth&kJRwwuZ{S zjOumP`V&&Xyx!14G9KVVh(=W4iP*swd^ri=Iz3{^LDXHE0@qo=rDJmVg3kOp94@j= zUypP}&8gcPU9Oi%2|0;QbmAp{y8OE!R1|%eOZJzs{_Q6SG3n_KcSJZ!z3%ow)ZHB< zp*!7pw-E0F?)8??gGS%$iFZrx6%bPyb-V9HYRhQI{ZOBRa3bikv++Nw&w?Aa&N^q> zwn~3TtiKY|<<3yH_U;jx(+NsH3r=Y`ErPtS}Gix@U&Xn6X(l<>67^o)n5i&HZb z=PzVye@-MaK@ixjj&%wm2z9AW&{Y3%uzwlC5cqgD-t`=sZ$R95iUI%2> zfPFEbv@hJ~0&yNwx~c^qRD0pY|G1ZyLQsM`%q;X!!YB+iRSEf!Q21{p#6j1>ajx)c e_f#*n5Zz5J%)u)LFCn_{6BT&Zop6Pee*Xo?lLXNK delta 4033 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 diff --git a/crates/ide-plugin/tests/fixtures/indexer/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/indexer/dist/plugin.wasm.sources index 073deca1b..5ed332e97 100644 --- a/crates/ide-plugin/tests/fixtures/indexer/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/indexer/dist/plugin.wasm.sources @@ -1 +1 @@ -1d647b76ef93c768c23b63b93d666d96323d19cb5011865e1acb5a8d178e0c3e +6e6411816e1a398718d443318a688c874f724a874d7ccf151c12d9680b6354d2 diff --git a/crates/ide-plugin/tests/fixtures/inlay-hints/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/inlay-hints/dist/plugin.wasm index 588e9cd9f45123b602f6d83c9860978dc64e7a2a..0a5ff06f735356765360d111a83930bc3447d0c6 100644 GIT binary patch delta 4693 zcmcIndstM}7C-CE3?K|J2+DKtFhKEit|&gj*U_x3L~bIQsK5sVilu_qwNTJZsn0~) z#t8TTMMOn;91v7g=}rC#sa=gbU4*&p|hJAC`M_gZ_MwSQ~v zb@o0yu2B@$Dk>{%;Ji?2(;@H2+FFAQfCXWb{Y1!WXl-QdvKU@(?AwifrLlit?5(KL z6QfYnCOu?Jm3C&>Y*bh2q-lFPQ)GOm#yGjf*gMe4F7Fn}^lH1*XJ_k0I;TXuBrI|K zlpVObxiOoWuM$>eXEThQ@5*fK`K!da{|2ZbCH(_Dp8WE8NA1%`TaILX!pQ?=ZWC^n ze%*8S<15F%AwTs08@s8Q#5)gA?j_U>ujb@@30djv0#`|%^KQ5#jCDBx&_V7DD1l?b z7XuU7K@X%A4@fI=R-A%!;1tG{SDz%2?w+K-yR)nxryzITJV>0oEz!C=kPqCKAf+}> z|2~vtfifElO2HoSzMGyCl19dxDauR~g}-|!LGl@H8D?Lf%qOd(>_OtEfnGOYazn;> zh0{Fbsy&HUR6kPSH65LHd-?Zq3Vn$7amw^MWz0_F)Pp6b%lwo}O;oYGe7gfjRYtas>6F^uvgeO>NLPkVM#=V6?6-J6D9z3laz^b*i9#elM|0C;09SU zISCqs+mojNv)|3V$>-7 zD<%x?5VsitP)7I}9#AICo}mQW?o-q&2mCdXJ~P7MN9k4D4;;(qoF+$RmcuoY`gSqK zXFKaURFXThrm(+kB-+^?BqnwpJR~<_Ux!v<@N6ewx11&X9DmfM%!!67(l95&{*=W3 z1cUxMiF~dv>I3HHfq@*K`#PJ`M(pAu9CO;lAmJs3=Is`l9v28jBr9&P|LL=0%)g4M zmhlX=Kw=j5EZYAgZUl!neZRq%mN@ zjX`cB-|2B`6jS_)X_NUzflu)O=pnOHHE@VzrS8J9|GaLfCIjbJ{?VNLbABqDeU9*H z5xB?8(-!!4|GseWC6{!Z7!2?RqFk^Io$p%^2|tnF7I?GmUlONru8#fyS)8%lc)h42 zGu~Z`{)MaW-hk(>t|s>uPN59OFIr>&nNCb=E3J$ttHD!13V^r@`juY#?z>7%go0=p8&4&XJzXD12=vFOLCs^J$@Y#bm%uzn#_S z-@RFk)}PkLIk9Stp?P9a8QFIWZP~dp=pyl}qo7`>T0H0}Ynl-QYiXIL z)>6&rdNrx7U1wga4~gjqX`Qb-$eGK)MPp@2rs-e;8u-=SL{!#G{t9vYZM_=tVLhc3 zc!(BB>7kbpuN^uAhMoHk1MXA#krmHhb!!cn>IBthpC~Z<>=WqVCK_mR)1L-f*hB+;+H}*# zSmP{NSnEy}op2Q0s!5oB1&*rpH11YCjhk(zac4Ett*B{Up}@Oq=(!)^Cqdn^5tMg! z(=&+o#p}F9IQ-Qt7}@!icvj(eg({!kE9O%I&!+!K*5BaK$~(@-ljwnDEaz9BCvUb+ zgmz&=Yo!c234bBVvr{j6V)$pUSOfHtR1{Fe~ulzuv=E zN{Y-I2QcE`E-l;^V!N7^?56WXbFYkcE%(aM-O~FhGH554|Lx{ca-MQj?KIw?c)A+T zi5lYgaGFO=-)W_Jx`bptoQc#gKKv9h?$MhVK=~u2+$CJ^ac9{rxn%LLF2w0^F=~Xz zGl9J;Y6PFB8-eX;Ac4>R0;OcuGc{qK`Qrs0@N9@EhoQUApS>@c_$cvv4~&dN>o2E* zpJ=W5aV^Kn4 za)x%{qU87HB_$_>zJoe#!qO$F3)7R6Lg!^HhpQvl3vqA3znwL zd#`S@EhK`j)D}kQq8z|pm!O1+x;qZwSm$pKBma*J&vk?-7MQyIPOz|Fotq~(J4RjA zV-DJE>*OkCD#I}QfnnUSPch2BC>X{CWf`{N)+#0u`x2I6d@bZJQ1&s&x{rdub6zf* z+M=pIHacaJsVh$l*$v137BZbvTgcux)?hQyNs}{-AIhitshD%v+I7!@fH)j;K%?&EA#Oc2h{#pw^}GOzim7;D|o5J=eiD%HPTF<1PkR*i)Hq%{>g|4eWowP-u1r;;u(wUycn)1(_8aP(k-%3bsgWv{W{| TsABTHRZJnat#w&icoOtq^HQsM delta 4633 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 diff --git a/crates/ide-plugin/tests/fixtures/inlay-hints/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/inlay-hints/dist/plugin.wasm.sources index 6980f3a56..25c98a7bb 100644 --- a/crates/ide-plugin/tests/fixtures/inlay-hints/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/inlay-hints/dist/plugin.wasm.sources @@ -1 +1 @@ -b777e29256630e58a6e92ef95c67db8d091d0fc07af24e8b91b087eaac4d269c +2b5b1ba2fdd256a01dadecd70f402512d069a5650b39c015835424617ee9dad3 diff --git a/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm index 8823b9f90cba79b53f58a9908268a58d7395501a..ac2956a0826b21656f9d7e555c8434464c34c687 100644 GIT binary patch delta 5727 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 delta 8148 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 KrqE(Ikn}&j+L;yr diff --git a/crates/ide-plugin/tests/fixtures/misbehave/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/misbehave/dist/plugin.wasm.sources index 097fc6877..3fcc9418c 100644 --- a/crates/ide-plugin/tests/fixtures/misbehave/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/misbehave/dist/plugin.wasm.sources @@ -1 +1 @@ -eb2efa2d8f0f1fd3579de8a965679755e99ed87b06faf528c20c6a558ca0e56c +9ca3febe3a08e7f747112a3639ee594c85008258b5474cc906d93af2d682aa91 diff --git a/crates/ide-plugin/tests/fixtures/path-events/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/path-events/dist/plugin.wasm index c5571ad1b9ca95b750f0b54ac2e6369c154199dd..cc5032eda05bb6e6ea1ac9a7270d6f478b60ad62 100644 GIT binary patch delta 4601 zcmai130M?I7VcLw49I{C3W^+YW;g^D2JpgoHbxC9t4T0M1r-5N$ch3cYNCz?#RCv2 zWlUle0tzTZuu)L(Ku|!zBOxv-yRsg{?6T2~d>dkP*;m~&h_0KR@2mRzy?XV(qpGWV z+G@=*>&%MZwuDnckY%94k`SVl0T3C`Jt{Y%G8ZaT17T!k!#Pg5f#X|@*lxsPBc?P; z_>c2IjzD9IjE%s@7!s9<)e_mVjT-Yegp(th`9ZWBkp zv)>3cIK{5FoKN0$PS3^gE^0a7L`xj(2$H1s`xFYPW&b9my3^miCzZ@gX3>-C4TlvX zRX?k4BH0U~T8Ho92l~~3AK)(C?05=Vgo#d90a;Zpzsow)<(=PQz3DOxTB!9K`6PE2 zEqfyaT}&J3HL*~y*KjCY7}-N>G`X8g}mc9v>0es_(SD5&nUF)~pt^CS-ZhAGyZ zI7L-Rg@Gq9v>3Jf@E)~;mlNKcG|L){^xTW$;c}UZcT??+v72kwN@@1wdZl>(pX;BR z@yO+?9gg*j(rTbkNY+*Z3e(+Uol2zKhTzKi#$bXS)ht1LNU9O8yNw}mlUfh*#D3%; ze|pnXO&9r`gCkUy*Pr2zo|M}_RsoiZpDz8F^r@Qn~LA%YBjCS|5j6W%ID&GGxh zrBjt}LO&YL%1o&?E&;zOgZ|8W^hwTOsq+>uCeXowZhdx2YV#iIMS%_^GlQ-T^yqUy z8tvglI2ITtr+HHcQ=6%Kh3iuTWYA76r|*VxdSH5g=%8iO1K^hMc={tiRckP+gw9}v zIXt6XAx_vk%}$3VS~%OQcjjI(qDLHtzqMYtH+wQbC-s^$mh7&jgXgG)wvZD=&v+DO-iYT#SCFVs(0vPUFz#`UeNWsj;FRt`?t zz1N#1myH~nl+$OS5hTBnhKKcqr*u`AnhAz57Zi?%`NO~I!!S=cM{O54!Z~5+0xPh* ze}S>8fj>h77ml%hDpjWluz1ht_Ju`oh6XIkhHLcJqPrOQ>F{83Z71zo>_|Npr;y~` zv~+P0DNGZ(7OQ}y)KS|=ccu-9d=KhrO5_;p+foKqxS{w4+7#)E`p(EqlGI4kqk>3Q zBfT9pMwQhl<_T|dtaSQD>aoO=q}S0|OT0bG>%_!&;@iz$T8`NezUK_WX5=i%CMi4V zl<0XR_aeQsaa50FEFH&X974K&i3aR-_3uee8Wk+!WU{_hDiZ{<>WOjYq?v1q~ZAG&Q76ZGad z6R8$>Nv9SQ0v-$U=lHLX{gZ@0;7VOecmp0%n?#4+?f@IqrcjzubpRdsX?x~l|F=DJ@KOxS{7f<8q38|o zBrTYB1~2Kfzz$#s)0-R+^PWqcy_|rG+|X&tdw6>=6tOXAfu4nmtQva%Q2m2(|_? zQEfJvIqi0fX77GIj#=;edM<m&A_dVj+J_3JeXnQ14WfoB@7@b4b6due3#iIr^X-%r#tI8i3Dx0O{eDW_bF<3_m{N65)xs1&xHbQU*k z-YG4!xqM2T@!P2yCRJ6iw;-cZ)cIECcRPJKoPSh~2#^BBi+~$REbt0Ou(MI(4l^CY zrcCU#ikBjucX|sWj==wALetX$gltcxn&0fG z?0Gh74nF??NQu?CAh^cxZ40@RKzD&}!HK@R89@V};up zjEAW-#lRDAljdk&Gg?BxksPitG!j@yHddGU$Y3X?Z#ZKH`$_(3!vY0~V|Yga1q_SL!OpPX98^ZZ2eGWx91;jgYABm+386rCHy8vZ1Vg6*tiS=D8yu}* zluyHDw&-f4R~=&CJ4)sG83eyU_4o(;z@&EPb zGy~ym?}=H}7+89*xiS?uljFD|;J5*Z2%MWj#YG_I5{`52A!nehG06tC4-Bzgho+XO z8iZ{cwp>G~59HXp_fm1b*xtnUHntD2MHuXKpd#E`k z410C3LsM_2;^v`hAU11kljKs2gE2T!HoWBv5nd0KD$W^)`(tB2#!E_ UjwpZcqT>F9?Pgh`Kg9d}2P3!0&Hw-a delta 4593 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 Pv&Q7_mVNrzd$9k1c~Y&7 literal 0 HcmV?d00001 diff --git a/crates/ide-plugin/tests/fixtures/private-dir/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/private-dir/dist/plugin.wasm.sources new file mode 100644 index 000000000..c06542e72 --- /dev/null +++ b/crates/ide-plugin/tests/fixtures/private-dir/dist/plugin.wasm.sources @@ -0,0 +1 @@ +1fe522ba55691c65026bca5a2a25ba298ee55f4800b4911a0ef38e3e9cb957c3 diff --git a/crates/ide-plugin/tests/fixtures/private-dir/plugin.toml b/crates/ide-plugin/tests/fixtures/private-dir/plugin.toml new file mode 100644 index 000000000..580941b7e --- /dev/null +++ b/crates/ide-plugin/tests/fixtures/private-dir/plugin.toml @@ -0,0 +1,42 @@ +id = "test.private-dir" +name = "Private directory fixture" +version = "0.1.0" +engines.openidea = "^1.3" +wasm = "dist/plugin.wasm" +activation = ["on-command:*"] + +[capabilities] +required = [] +optional = ["process:cat"] + +[[contributes.commands]] +id = "directory" +title = "Private directory" + +[[contributes.commands]] +id = "roundtrip" +title = "Write fake private content" + +[[contributes.commands]] +id = "read" +title = "Read file" + +[[contributes.commands]] +id = "write" +title = "Write file" + +[[contributes.commands]] +id = "open" +title = "Open fake private content" + +[[contributes.commands]] +id = "process" +title = "Read private content with approved cat" + +[[contributes.commands]] +id = "large-cache" +title = "Write private cache larger than storage" + +[[contributes.providers]] +kinds = ["completion"] +languages = ["private-fixture"] diff --git a/crates/ide-plugin/tests/fixtures/private-dir/src/lib.rs b/crates/ide-plugin/tests/fixtures/private-dir/src/lib.rs new file mode 100644 index 000000000..7e1aa24ab --- /dev/null +++ b/crates/ide-plugin/tests/fixtures/private-dir/src/lib.rs @@ -0,0 +1,63 @@ +use openidea_plugin::{Context, Error, Invocation, Plugin, host, register_plugin}; + +#[derive(Default)] +struct PrivateDir; + +impl Plugin for PrivateDir { + fn activate(&mut self, _: &Context) -> Result<(), Error> { + // Activation has no project or focused window. + host::fs::plugin_dir().map(drop) + } + + fn run_command(&mut self, id: &str, _: &Invocation, arg: Option<&str>) -> Result, Error> { + let dir = host::fs::plugin_dir()?; + let path = format!("{dir}/fake-secret.txt"); + match id { + "directory" => Ok(Some(dir)), + "roundtrip" => { + host::fs::write_file(&path, "fake private data\n")?; + let bytes = host::fs::read_bytes(&path)?; + host::fs::write_bytes(&format!("{dir}/cache.bin"), &bytes)?; + if host::fs::stat(&path)?.size != bytes.len() as u64 || host::fs::read_dir(&dir)?.len() < 2 { + return Err("private filesystem roundtrip failed".into()); + } + host::fs::read_file(&path).map(Some) + } + "large-cache" => { + let bytes = vec![b'x'; 8 << 20]; + let mut total = 0; + for index in 0..10 { + let file = format!("{dir}/cache-{index}.bin"); + host::fs::write_bytes(&file, &bytes)?; + total += host::fs::stat(&file)?.size; + } + Ok(Some(total.to_string())) + } + "read" => host::fs::read_file(arg.unwrap_or(&path)).map(Some), + "write" => host::fs::write_file(arg.unwrap_or(&path), "fake replacement\n").map(|()| None), + "open" => host::open_location(&path, 0, 0).map(|()| Some(path)), + "process" => host::run_process("cat", &[path], None).map(|out| Some(out.stdout)), + _ => Err(Error::NotFound(id.into())), + } + } +} + +impl openidea_plugin::providers::Providers for PrivateDir { + fn completion( + &mut self, + _: &openidea_plugin::providers::Document, + _: openidea_plugin::Position, + _: Option<&str>, + ) -> Vec { + let Ok(dir) = host::fs::plugin_dir() else { return Vec::new() }; + let path = format!("{dir}/fake-secret.txt"); + let Ok(text) = host::fs::read_file(&path) else { return Vec::new() }; + // Providers may read their content but must not open an editor. + if host::open_location(&path, 0, 0).is_ok() { + return Vec::new(); + } + vec![openidea_plugin::providers::CompletionItem::new(&text, openidea_plugin::providers::CompletionKind::Text)] + } +} + +register_plugin!(PrivateDir, providers); diff --git a/crates/ide-plugin/tests/fixtures/semantic-tokens/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/semantic-tokens/dist/plugin.wasm index bcf68801337efe27223f6504f84e7ad99f9dea98..6896d2afc9b8e38e0322e59f6cefec733236a15e 100644 GIT binary patch delta 4883 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 fpg8%UFo!jP_bE10x_3T7G7in_`nknj6XKrQU+ diff --git a/crates/ide-plugin/tests/fixtures/semantic-tokens/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/semantic-tokens/dist/plugin.wasm.sources index 0eaec21b5..86ce748d0 100644 --- a/crates/ide-plugin/tests/fixtures/semantic-tokens/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/semantic-tokens/dist/plugin.wasm.sources @@ -1 +1 @@ -6d7583de2f1ce90bec0078e9d3e5fe63db2f1c0fa1e564dbe3c65327c1c6b045 +175611b829f280adf44c7a4f2d544dc78c9111bd9cb3cb4842a89e456f503249 diff --git a/crates/ide-plugin/tests/fixtures/storage/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/storage/dist/plugin.wasm index b29ca8a0a01c48cf4ea5f2b3eff2ef55145101f3..848444dba60b13f0ce535787f957775c453ab30b 100644 GIT binary patch delta 3889 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 Xs!px))o=zc4Hrz$1Zn@(aS#3nvFEi_ delta 3791 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 diff --git a/crates/ide-plugin/tests/fixtures/symbols/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/symbols/dist/plugin.wasm.sources index 21cb0413f..72ef034bb 100644 --- a/crates/ide-plugin/tests/fixtures/symbols/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/symbols/dist/plugin.wasm.sources @@ -1 +1 @@ -39163b3ce79c043c21fb2f87e980db4d2a3f0ae8c6678e1865875301416ba791 +40c382c554daa12d2fb83c3be98064ed7fc9122e435bd331ea6bf382f4d399dd diff --git a/crates/ide-plugin/tests/fixtures/tables/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/tables/dist/plugin.wasm index 351822f48073809372d5de8f24342b3e5316ef79..ca2af3295471d154ab55de946893252cb76dba9c 100644 GIT binary patch delta 5841 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 delta 5955 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 diff --git a/crates/ide-plugin/tests/fixtures/tables/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/tables/dist/plugin.wasm.sources index 35eab5007..58b168532 100644 --- a/crates/ide-plugin/tests/fixtures/tables/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/tables/dist/plugin.wasm.sources @@ -1 +1 @@ -c060d8941dd7aba312c42ce5205bab91506be19450ac7b671381ce2088d44dfe +8039afdedc540c2d3278813b526eaf3d1e6a8a4b8f3bab498323837e59989cbc diff --git a/crates/ide-plugin/tests/fixtures/web-log/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/web-log/dist/plugin.wasm index 1b1674350dd60f65255624c449b7b9380ad4a28e..e8b0a13d8f070907bf578b4dd932b91e3dbc006f 100644 GIT binary patch delta 3579 zcmb7HX;f5K5`On~gB_cemNWLYQ1PvLN7($eZ&f=&UjEc^go^gp8lFY=Jy1jvC^vCo$@4N3-)%~jK zR=xXPL#6b3rL?VAM%&Jb-^rdzWt7S#gis>hQaF)-i!Gg;dnMXUOtk;_?d&Q0RggV`5=+toQl=-&vGF>;OTr4@rLsbRK>gSaL{F$M;)sJ&j~$7 z9-i`4dBiB9f^?m-UbG+CK+ycO>x3cIOm0UY*3}85Zh1&m{v<{RMG1RtlmQt>arPK4eqgrpExa0rPe z*I-4+F7gEKg{aBTU>h1Z{${C>&yBYcikjK2a^K+IQ`-m{Fj{=gp-KL6NDW;%Lfgtj zz7kF?wKj;*Py)T79#q>3B+Q-Sj1LQ>%_R^Q_7-hwg{@&OIEaVCY5-@xJ%nwVa$wZ@*CJRqmiC0fl)K((z1PG z+Ds)Ow_(dHA0|9HD~_IMh5lK=!**$noS$>ZS=9{Tk!slqW7zT}7{1aGwnuIu2KXuR z9h%`8dgd4jSeA$0_9ks+3)r{XpEJJQgG%2 zK+`O4eb0rEAE7KpO@4s0F%5XXBK8US2gJ^AdxbsNFLHx%3+9nd*s>smmLG@q1?i)o zw6H|{InKh2Pqj(L83YFNI_>B#1!*)vM;Z#x}Zed^2 z`zApvPM#;nVJH1h>98L|#jcfW2xbwudOmoi4i{lHK6kgpKc~Dyu-e|KopyTDbLowZ zaRr{HIwP$pUz;GI^?F#D9z)w(MKN7P*!0Ww(`l0)Y&YbnI*dIxs31Z|E0k=Aa_=-M z)RHk&s^)kcWV0uR8EaonHY76;)zdP)utLi-D{QG=4?k^6 zWJAIS3vm!zKFGBV>M{BoL!H&c>c=Eg6P^T7XY;#AO@*hXwxEJmC#G!MO8pJiwN$~; z2y@9Uo@Bi?hH`3&g;6aPF2XR47e03rHK~Y|ns*WZswuTIaj0#0X0m(dA{5`=8HD&| z?qtNdx$_Y#b3G70%?(5RIX4k8Vb?^&f?cx_f49rs$r6fGJv7qt<`N8|bhjNri{X3X z5!dXwjOf329b)<38fVKI8G4t@wZtkIASQ1;nsns(Al}RKLmZYr;caVPkycZSNaiWE zBbJRC$W@!a0@pstAAu+^6y~)VhHNcw^sQG|=wbipGk< zB*ctD7Dh#(t96O9+IAoi19TNm8)ZpIsg|OOAHqvx6qc|A19%pxkRzzb7rB#)T=0HN zkdH%qepRgh(yEvww8kAisVcJidMSv7M_23^l{7&~JG1Td636`bh==N884X^V> z)3mxEtNNu45bH`&J+popqOP88LwW;x7AqSxEM2!o7RHNaH(1-)jCT%AEZO-@OuDn_ zLo4S?i3T*YMAtOGHqokPmgtM-hcZ(q@f0>zxq$6)dn2toOgz5b!>q!?MrJRk5%_iR zA2M%Hzx5nv`ytV@{m|%HiB9X^x1q;sL3Q#G4&sZGTB2yFWyg*%8eic>En?-VI7-_a z;K?V>RNo>FJrhgtEwZ$IC*qyLN%(jazyHIveVbzpy$#}BCSSA7u^uTDZNy?P8W>6#l!y`!ycBq)N=)AT(2a2pLm#a2RlcF*+)z6LFZN>` z;~kaU2BPHR@%|QG%vuIz55m#sA0Cual?|l!tt4lltIt(Y<)q|3S1P#+cwG{o_0{_P E7lDIT=>Px# delta 3537 zcmb7GX;f5K5`On~gB_ce76Do1(V!6&2rj4y$Wy^Rpn?mUu(*K>ID$IkacK|)q=D9Q zLr_|w1*AKAd?f0K9+FIq5=R&{GdeE8xMmJ>1Y?dmW6ad;O`Opm)91YJ-dk1otEyYo z_r0r?QmB+3?~u{1X7NW^w^SyVP(mo7;!TAs3CTCMaPlpju*)*OFqqd(mbH{An=OkD zBk+zcW3OA5r?qBVIkS0e+4#(&yk!|3nDTz3*-|I2b|lnwm%c^KEms!hsnr}O_sdn| zD5#;Z?_T;RJ@8Kc9tVE9c=DS&-=BHT74VV(iEMo1e!bz?S1niU;8Uk$QVZvtTpgM< zj7IS0B|;N)I5`uw_>0pZLT_lm+c}y()IhTHR~E(*?`JH?k5>?L5Go?rNQspcv@Rpj z;~iHoIK4#yPh4g)&hf7PZ*h{hqU_0u=VuL+vvD4C4K{IZ`2XU250@vLaOtP0?Rl)= z;XZ(9VT}6;#7_4uLyF=Eby66^y23}5q9K|_|$(iA=ToLK{--VE9wF-5OPq= z7`niY{zD_454|D5M0F!Q5t~QOr}vLQ|FFS|?K@4id%|MaCr%HGC8P-2NBKh2D6|yY zN2O4Dy$*(jH`2~B@rQ6%LJcL565$C>5!1EkO6*&*~k)a>y%T0Vqg38zm?5XGhq6o(MmefN@;7qRU)oBjKr_f%wVpporc@QCSnMqaAe+ zBiyB3Mi@MPIw^p)6+y2bg;TRu_#HQ;7{qZ_X8hlpWxOdVA{Zcc_CfUUVD`tpPfdmA zx#hUQm&kb{A4td+-Wt@cGDt}9rTnZegFDT6T^?8|$Q3 z_0VVD(!o#6Rr;2RI?es}D_(1OyYVt!!b>a%pn4argX?%O4B$X;y_j?QDdXYm?ZJxNZ&(qH$fGeVEqdZ!mRJ5t|>gOhtGS zM%^qg8x_-#qv)uv%!>8Nvw=2sgMtS)c*Ll8?Ii4 zSgD?Y_>;Qa!OWqum7*~S=W%h>>( zrEIT#StR1bva&Y}y^-NgnE}Nml$LiZdUT!yQ2{Y>`Ax9=Jw_fVu1a7hT9a*Jr#HN ztigQ=ds`8G_A%DDea(mt70mOv3g-E2#Ry^$pH_IYo>5l%A&#hIri&}TK@6;7{g+Y2 zB$3tL@I{rz=IgB><{V%RTzY`F70X#=-!qu652T{Oz=Mwv71d_GN}S)Q_C|bO%|Z&) zvFg|9!V!PeT_lDY!y$rYF&^IhZm;8N0?;(0Cd{UO>j1=>a#T;KU5KcwWyi2WkDkR! zy_%)#RmZ}3-QWf3bqzRks%Od0tY^~P`u#S}w-OC$V2LhmcyFRr4J^^u4Uc5zPU0!7 zu5t(aMn@B^Hw|;^kWg~Nx(`fuS_>D~K(QoaI>^vj}b{=X2E79kMPw-Po2hJxR z;~>61p(Toc>e#g-_~9G;5@yvjo6;Ax(Dj8I?KFtJPsS5`i7Yski+KA~0?~-WPJb<> zzv)=wjhe1?`r(S|F{2v zoTqc1%~`*G$c*A&oT%PTEN;)F@rl_>)?|m|q-U*4%?=4(voz%mv zwXR{^y{jYwrrsata^7Ca1)|&;A2i`E^;2?B;Nbld-}T6pgc2Wo6!;WNlw2H+f#}Ax zhN%x01>BM;IWLs<$A|qGN0+mbTSb&y0?u#Z!>j}0uMftdPuGX#^am-_Jxn7vp!XwB V#X?slm#b8ATk$Cnhdnwp=s)&6CIkQg diff --git a/crates/ide-plugin/tests/fixtures/web-log/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/web-log/dist/plugin.wasm.sources index acd8beb0f..58d9c536a 100644 --- a/crates/ide-plugin/tests/fixtures/web-log/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/web-log/dist/plugin.wasm.sources @@ -1 +1 @@ -b6b4ebd96fb1a879947ba2b12b2497eb466150e7c44f60257cff869b2f1db941 +6d63e1eb1bb8b2c0adb41f33f5164b57ddd8860b0a8a712c046963500d48b25f diff --git a/crates/ide-plugin/tests/fixtures/web-pty/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/web-pty/dist/plugin.wasm index 36a526350e176ad1073a757806c69cf4651af965..77534ce35c34aed561072ecc15e9121502cc0815 100644 GIT binary patch delta 3670 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 S;EpO3oQUIdvAA=n_x}LzcXl%X delta 3720 zcmb7H2~U=Wqx5W?~hvcQg+yC+1$6x z_DuLI8{D>tkLk>J9oR{ih3L8E@EgnQ$POPjn>F>~twHUCJb_C2IOWdTHVv09&)cfe zaGZm8js|Bz1K-KL$t}>ixPtHC1>`LJ=;HhK@3wZgiE#7jq3k?f;wQ0>I@eiVoYVTK z$PwBGFCsO-zoqnQ)iORo#Y=>vX6k}hsOP-(oZitwyh{|RKnodW_P95*=jA3k5wmA% zBG?R&HyKD*jFZ>&3u`xpQz`|VQOrSO9z%Tl86*8d>1zyYV2y@*ld(#r2UHJnael=h z1~wEr6r;ddss6tL{NHQ_j_Pl(kPvCMH`We|Cts=Nd`wGAHFYr9?FiAqS+{Ib2~*s8 z=v4Bs)P2FQgX{v&2|81@c*;}xev^m_(sX&1c+b6-;FUa&F#{@@+>rq9p@bVA1xUBR z^8&n70-l$;#v-nC^&k$SS|umg3c*9?ks7ghXoQUD#jm_W2{|B2e6ysaTKw1#o3BC? zM!qkjf7OZyeqBNFLPW3!;@seQ^l=@C!6TgV%S?^*l=-(u>u7@k*n`u{x_-Uw;P(u;)PVj(36Q+}LcsXGkX@Tr8wf$+GiK!EELS3LW%+>K= zsY&3;%Y+WN7p8P-H`}_*p`;yX_!8G^MyBE?;nY%F^9kL>uqk{Py=H`pa23T}Yxro| zQw&eThpW1*7rdmBNM0J1o#aF<`R_7{!4VF`;dve7Uo|Q!p*&eR34)V?z5xAvHzeF3Mt0Q~Fc~7pM9Y4LqNE z73(CPi;EzAJmi>%&eMJv+}6O1#yWA9WVMN|)88iK1dNGSlRrR8d@ZhD#`lop&^@E& zztzE*kcL*2i4pX66C@|D^lmW)7{GB>PJC&YWxOdQA{gLd;sGSjNt!|bRtA4eQqkKb z(39jt+u7s_0W%ATMm#q2F?p>)6&!o9ilTo!$m$N?AVWiMb9Jn5eq} zhR$~P)S6TK5?`j!9XsjCei10BEL8VJ4^iSlJ^J} z_terh$LBj(bp&7RgY8hf%ng~v`ei8+`nVZ>N=u+GjAFtH1!3D|>EX1i8LHB=6uqxj zKb94lCQxj|11s&Y~MCtH*U?&*BwMvnEx`_rDY^v0Wqmh;}sFA5eF9ftITY?T?joY zaiEdre@mJTkW|QSE-##bs4w)i8%-;@(w~S zoc?S!irtHtN_5faK&$`q1Y3|6Crq^Xv^k`ES>G@Qs4AL>*Y6jV{K7gASwGPlP&~Yt zMLfTF1LF1KP(+84E4HjVs-?Un{ue9otfT-{HkJkyT$k0%qY zc;)yRDg9Xwa59koq!-Veoal&Wq`eTasC_!(?RG7_TO%&N7)|MoDrmmMlatVK$q(_L zm&PKF>}W!~)!~cS+Yy8~>hf-n8#N|BWb&=-OTM!MPb|;*of^1%d6Z{<0L5Pu8vNby z(q}aB2;G-_@6b78-QfGhu8yMbmDMycC3D%j%%H5aHLFrHg96vB&&*oCHYjV&nv5lB zsVi1z24!ZYF3wmMkea$~Nm|I*fYh~Xakn&e-G&vbgECeu4q`XhoVjj^X)T_*CZ!}$ zRDGRA2`BEjnQt$;{P{4A)YPIEF9vL;a_%FJXvfK2mIG7N_kjzWo?OTgJ5&6xIZ z>){f=+xBwK6Q!;=*dOEQQOLPfM9wASx)TS}_J_rfCZo-&N2T bool { /// writes through symlinks. Falls back to an in-place write when the directory /// does not allow creating files. Returns the new mtime in ms. pub fn write_atomic(path: &Path, bytes: &[u8]) -> IdeResult { - write_atomic_impl(path, bytes, true) + write_atomic_impl(path, bytes, true, false) } /// Replaces a file atomically without falling back to truncating it in place. /// Preserves existing permissions and writes through symlinks; if a sibling /// temporary file cannot be created, leaves the existing file untouched. pub fn write_atomic_strict(path: &Path, bytes: &[u8]) -> IdeResult { - write_atomic_impl(path, bytes, false) + write_atomic_impl(path, bytes, false, false) } -fn write_atomic_impl(path: &Path, bytes: &[u8], allow_in_place: bool) -> IdeResult { +/// Atomically creates/replaces a private file, owner-only from creation. +/// The parent must be a private directory (including an inheritable owner ACL +/// on Windows). Existing Unix permissions are restricted to the owner. +pub fn write_atomic_private(path: &Path, bytes: &[u8]) -> IdeResult { + write_atomic_impl(path, bytes, false, true) +} + +fn write_atomic_impl(path: &Path, bytes: &[u8], allow_in_place: bool, private: bool) -> IdeResult { + #[cfg(not(unix))] + let _ = private; let target = match fs::symlink_metadata(path) { Ok(m) if m.file_type().is_symlink() => fs::canonicalize(path)?, _ => path.to_path_buf(), @@ -361,6 +370,11 @@ fn write_atomic_impl(path: &Path, bytes: &[u8], allow_in_place: bool) -> IdeResu Err(e) => return Err(e.into()), }; let result = (|| -> std::io::Result<()> { + #[cfg(unix)] + if private { + use std::os::unix::fs::PermissionsExt; + file.set_permissions(fs::Permissions::from_mode(0o600))?; + } file.write_all(bytes)?; if let Err(e) = file.sync_all() { // virtio-fs (macOS VMs) and similar filesystems have no fsync/F_FULLFSYNC @@ -374,7 +388,14 @@ fn write_atomic_impl(path: &Path, bytes: &[u8], allow_in_place: bool) -> IdeResu } } if let Some(meta) = &existing { - fs::set_permissions(&tmp, meta.permissions())?; + #[allow(unused_mut)] + let mut permissions = meta.permissions(); + #[cfg(unix)] + if private { + use std::os::unix::fs::PermissionsExt; + permissions.set_mode(0o600); + } + fs::set_permissions(&tmp, permissions)?; } drop(file); fs::rename(&tmp, &target) diff --git a/crates/ide-vfs/src/lib.rs b/crates/ide-vfs/src/lib.rs index ab9d2dfdb..a7279af99 100644 --- a/crates/ide-vfs/src/lib.rs +++ b/crates/ide-vfs/src/lib.rs @@ -5,6 +5,7 @@ mod bytes; mod compare; mod encoding; mod ops; +mod private; mod rules; mod watch; @@ -27,8 +28,9 @@ pub use compare::{ use encoding::SNIFF_LEN; pub use encoding::{ LARGE_FILE_THRESHOLD, MAX_OPEN_SIZE, READ_ONLY_THRESHOLD, decode_properties_escapes, encode, - encode_properties_ascii, save_properties_text, write_atomic, write_atomic_strict, + encode_properties_ascii, save_properties_text, write_atomic, write_atomic_private, write_atomic_strict, }; +pub use private::create_private_dir; pub use rules::ExcludeMatcher; pub use watch::{WatchMode, Watcher}; diff --git a/crates/ide-vfs/src/private.rs b/crates/ide-vfs/src/private.rs new file mode 100644 index 000000000..9882616b3 --- /dev/null +++ b/crates/ide-vfs/src/private.rs @@ -0,0 +1,273 @@ +//! Owner-only directories for host-managed plugin content. + +use ide_core::{IdeError, IdeResult}; +use std::fs; +use std::path::Path; + +/// Creates one directory with private permissions from the outset. Existing +/// directories must belong to this user and may never be symbolic links. +/// The parent is expected to be an application-owned directory. +pub fn create_private_dir(path: &Path) -> IdeResult<()> { + #[cfg(unix)] + { + use std::os::unix::fs::{DirBuilderExt, MetadataExt, PermissionsExt}; + match fs::DirBuilder::new().mode(0o700).create(path) { + Ok(()) => {} + Err(e) if e.kind() == std::io::ErrorKind::AlreadyExists => {} + Err(e) => return Err(e.into()), + } + let dir: fs::File = rustix::fs::open( + path, + rustix::fs::OFlags::RDONLY + | rustix::fs::OFlags::DIRECTORY + | rustix::fs::OFlags::NOFOLLOW + | rustix::fs::OFlags::CLOEXEC, + rustix::fs::Mode::empty(), + ) + .map_err(std::io::Error::from)? + .into(); + let meta = dir.metadata()?; + if !meta.is_dir() || meta.uid() != rustix::process::geteuid().as_raw() { + return Err(IdeError::invalid("private directory must be owned by the current user and not a symlink")); + } + if meta.mode() & 0o7777 != 0o700 { + dir.set_permissions(fs::Permissions::from_mode(0o700))?; + } + } + #[cfg(windows)] + windows::create(path)?; + #[cfg(not(any(unix, windows)))] + return Err(IdeError::unavailable("private directories are unsupported on this platform")); + Ok(()) +} + +#[cfg(windows)] +mod windows { + use super::*; + use std::os::windows::{ffi::OsStrExt, fs::MetadataExt}; + use windows_sys::Win32::Foundation::LocalFree; + use windows_sys::Win32::Security::Authorization::{ + ConvertStringSecurityDescriptorToSecurityDescriptorW, GetNamedSecurityInfoW, SDDL_REVISION_1, SE_FILE_OBJECT, + SetNamedSecurityInfoW, + }; + use windows_sys::Win32::Security::{ + ACE_HEADER, ACL, DACL_SECURITY_INFORMATION, GetAce, GetSecurityDescriptorControl, GetSecurityDescriptorDacl, + PROTECTED_DACL_SECURITY_INFORMATION, SE_DACL_PROTECTED, SECURITY_ATTRIBUTES, + }; + use windows_sys::Win32::Storage::FileSystem::{CreateDirectoryW, FILE_ATTRIBUTE_REPARSE_POINT}; + + struct Descriptor(*mut std::ffi::c_void); + impl Drop for Descriptor { + fn drop(&mut self) { + unsafe { + LocalFree(self.0); + } + } + } + + fn already_private(path: &[u16], expected: *mut ACL) -> IdeResult { + let mut raw = std::ptr::null_mut(); + let mut actual = std::ptr::null_mut(); + let error = unsafe { + GetNamedSecurityInfoW( + path.as_ptr(), + SE_FILE_OBJECT, + DACL_SECURITY_INFORMATION, + std::ptr::null_mut(), + std::ptr::null_mut(), + &mut actual, + std::ptr::null_mut(), + &mut raw, + ) + }; + if error != 0 { + return Err(std::io::Error::from_raw_os_error(error as i32).into()); + } + let descriptor = Descriptor(raw); + let mut control = 0; + let mut revision = 0; + if unsafe { GetSecurityDescriptorControl(descriptor.0, &mut control, &mut revision) } == 0 { + return Err(std::io::Error::last_os_error().into()); + } + if control & SE_DACL_PROTECTED == 0 || actual.is_null() { + return Ok(false); + } + // Compare only the single ACE, not unused ACL allocation space. + if unsafe { (*actual).AceCount != 1 || (*expected).AceCount != 1 } { + return Ok(false); + } + let mut actual_ace = std::ptr::null_mut(); + let mut expected_ace = std::ptr::null_mut(); + if unsafe { GetAce(actual, 0, &mut actual_ace) } == 0 || unsafe { GetAce(expected, 0, &mut expected_ace) } == 0 + { + return Err(std::io::Error::last_os_error().into()); + } + let size = unsafe { (*expected_ace.cast::()).AceSize }; + if unsafe { (*actual_ace.cast::()).AceSize } != size { + return Ok(false); + } + Ok(unsafe { + std::slice::from_raw_parts(actual_ace.cast::(), usize::from(size)) + == std::slice::from_raw_parts(expected_ace.cast::(), usize::from(size)) + }) + } + + pub(super) fn create(path: &Path) -> IdeResult<()> { + // Owner rights only, protected against inherited public access; + // children inherit the same owner-only access from birth. + let sddl = "D:P(A;OICI;FA;;;OW)\0".encode_utf16().collect::>(); + let mut raw = std::ptr::null_mut(); + if unsafe { + ConvertStringSecurityDescriptorToSecurityDescriptorW( + sddl.as_ptr(), + SDDL_REVISION_1, + &mut raw, + std::ptr::null_mut(), + ) + } == 0 + { + return Err(std::io::Error::last_os_error().into()); + } + let descriptor = Descriptor(raw); + let attrs = SECURITY_ATTRIBUTES { + nLength: std::mem::size_of::() as u32, + lpSecurityDescriptor: descriptor.0, + bInheritHandle: 0, + }; + let wide = path.as_os_str().encode_wide().chain(Some(0)).collect::>(); + if unsafe { CreateDirectoryW(wide.as_ptr(), &attrs) } == 0 { + let e = std::io::Error::last_os_error(); + if e.kind() != std::io::ErrorKind::AlreadyExists { + return Err(e.into()); + } + } + let meta = fs::symlink_metadata(path)?; + if !meta.is_dir() || meta.file_attributes() & FILE_ATTRIBUTE_REPARSE_POINT != 0 { + return Err(IdeError::invalid("private directory must not be a reparse point")); + } + let mut present = 0; + let mut defaulted = 0; + let mut dacl = std::ptr::null_mut(); + if unsafe { GetSecurityDescriptorDacl(descriptor.0, &mut present, &mut dacl, &mut defaulted) } == 0 + || present == 0 + || dacl.is_null() + { + return Err(std::io::Error::last_os_error().into()); + } + // Reapplying an inheritable DACL would walk every cached file. + if already_private(&wide, dacl)? { + return Ok(()); + } + let error = unsafe { + SetNamedSecurityInfoW( + wide.as_ptr(), + SE_FILE_OBJECT, + DACL_SECURITY_INFORMATION | PROTECTED_DACL_SECURITY_INFORMATION, + std::ptr::null_mut(), + std::ptr::null_mut(), + dacl, + std::ptr::null_mut(), + ) + }; + if error != 0 { + return Err(std::io::Error::from_raw_os_error(error as i32).into()); + } + Ok(()) + } +} + +#[cfg(all(test, unix))] +mod tests { + use super::*; + use std::os::unix::fs::{PermissionsExt, symlink}; + + #[test] + fn private_creation_and_editor_save_preserve_owner_only_access() { + let tmp = tempfile::tempdir().unwrap(); + let dir = tmp.path().join("files"); + create_private_dir(&dir).unwrap(); + assert_eq!(fs::metadata(&dir).unwrap().permissions().mode() & 0o777, 0o700); + let path = dir.join("fake-secret.txt"); + crate::write_atomic_private(&path, b"fake data").unwrap(); + assert_eq!(fs::metadata(&path).unwrap().permissions().mode() & 0o777, 0o600); + crate::save_text(&path, "edited fake data", "utf-8", false).unwrap(); + assert_eq!(fs::metadata(&path).unwrap().permissions().mode() & 0o777, 0o600); + assert_eq!(fs::read_to_string(&path).unwrap(), "edited fake data"); + let link = tmp.path().join("link"); + symlink(&dir, &link).unwrap(); + assert!(create_private_dir(&link).is_err()); + } +} + +#[cfg(all(test, windows))] +mod windows_tests { + use super::*; + use std::os::windows::ffi::OsStrExt; + use windows_sys::Win32::Foundation::LocalFree; + use windows_sys::Win32::Security::Authorization::{ + ConvertSecurityDescriptorToStringSecurityDescriptorW, GetNamedSecurityInfoW, SDDL_REVISION_1, SE_FILE_OBJECT, + }; + use windows_sys::Win32::Security::DACL_SECURITY_INFORMATION; + + fn acl(path: &Path) -> String { + let path = path.as_os_str().encode_wide().chain(Some(0)).collect::>(); + let mut descriptor = std::ptr::null_mut(); + let error = unsafe { + GetNamedSecurityInfoW( + path.as_ptr(), + SE_FILE_OBJECT, + DACL_SECURITY_INFORMATION, + std::ptr::null_mut(), + std::ptr::null_mut(), + std::ptr::null_mut(), + std::ptr::null_mut(), + &mut descriptor, + ) + }; + assert_eq!(error, 0); + let mut string = std::ptr::null_mut(); + assert_ne!( + unsafe { + ConvertSecurityDescriptorToStringSecurityDescriptorW( + descriptor, + SDDL_REVISION_1, + DACL_SECURITY_INFORMATION, + &mut string, + std::ptr::null_mut(), + ) + }, + 0 + ); + unsafe { + let mut len = 0; + while *string.add(len) != 0 { + len += 1; + } + let result = String::from_utf16_lossy(std::slice::from_raw_parts(string, len)); + LocalFree(string.cast()); + LocalFree(descriptor); + result + } + } + + #[test] + fn directory_and_editor_saved_file_have_only_owner_access() { + let tmp = tempfile::tempdir().unwrap(); + let dir = tmp.path().join("files"); + create_private_dir(&dir).unwrap(); + let directory_acl = acl(&dir); + assert!(directory_acl.starts_with("D:P"), "{directory_acl}"); + assert_eq!(directory_acl.matches("(A;").count(), 1, "{directory_acl}"); + assert!(directory_acl.contains(";;;OW)"), "{directory_acl}"); + let path = dir.join("fake-secret.txt"); + crate::write_atomic_private(&path, b"fake text").unwrap(); + let initial_acl = acl(&path); + assert_eq!(initial_acl.matches("(A;").count(), 1, "{initial_acl}"); + assert!(initial_acl.contains(";;;OW)"), "{initial_acl}"); + create_private_dir(&dir).unwrap(); + assert_eq!(acl(&dir), directory_acl); + assert_eq!(acl(&path), initial_acl); + crate::save_text(&path, "edited fake text", "utf-8", false).unwrap(); + assert_eq!(acl(&path), initial_acl); + } +} diff --git a/plugins/README.md b/plugins/README.md index 9f01c55f7..5791fa3d4 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -325,6 +325,24 @@ used to write outside it. `project.write` does the same inside the open projects, creating missing directories. Both are new in API 1.3 (`engines.openidea = "^1.3"`). +`host::fs::plugin_dir()` (API 1.3) returns a private directory belonging only to +this plugin, separate from its installed code and key-value storage. Reading and +writing inside it needs no `fs.*` or `project.read` grant, including during +activation or provider calls without an open project. The host creates the +directory owner-only (0700 on Unix, an owner-only inheritable ACL on Windows), +and files written there are owner-only from creation (0600 on Unix). Paths are +checked after symlink resolution: another plugin's directory, adjacent paths, +and links escaping this directory receive no implicit grant. Explicit `fs.*` +grants retain their normal behavior. + +Use it for generated editor content or caches larger than `storage`. Files and +the directory survive idle reclaim, plugin reloads, updates, and app restarts; +uninstall removes them. There is no TTL or stop-time deletion. A returned path +works with `host::open_location` and as an argument to an approved process; +normal UI, trust, and process approval rules still apply. Editor saves preserve +the private file's permissions. Filesystem writes keep the usual size limits, +encoding behavior, and protection of unsaved editor changes. + Logging, notifications, status bar items, tasks and run-time contributions are always available. Calling a gated function without its capability returns `Error::Denied("")` — the plugin keeps running and can degrade diff --git a/plugins/official/ai-completion/dist/plugin.wasm b/plugins/official/ai-completion/dist/plugin.wasm index 0984cc58aff1512380859f3030f35d9dacc9235a..9640db21669fde48c507311d997b88c4dd13e7eb 100644 GIT binary patch delta 22665 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 TB&E{N@D8tG delta 23135 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 P-`FC1%AvzZkCFcdJRMo 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 diff --git a/plugins/official/checkstyle/dist/plugin.wasm.sources b/plugins/official/checkstyle/dist/plugin.wasm.sources index c809d19fa..94f53796b 100644 --- a/plugins/official/checkstyle/dist/plugin.wasm.sources +++ b/plugins/official/checkstyle/dist/plugin.wasm.sources @@ -1 +1 @@ -1111db3957880758cf4ae2c34c95510846aef43c73ddeb03e901d5a10610544e +145b164b99c18b6e9d0d0c2704fff0fa878fc56761d5cb76669a2a0cc9ddb3aa diff --git a/plugins/official/csv-editor/dist/plugin.wasm b/plugins/official/csv-editor/dist/plugin.wasm index 8ee275de05bde64bf5e77cb85635845b07fa27d3..f9348b8e1ca6cbd359acc1964d37bf4abcef1c71 100644 GIT binary patch delta 5851 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 QWr#2r!ry-OFlx8_51E=~0{{R3 diff --git a/plugins/official/csv-editor/dist/plugin.wasm.sources b/plugins/official/csv-editor/dist/plugin.wasm.sources index c2ab1fa28..f63423056 100644 --- a/plugins/official/csv-editor/dist/plugin.wasm.sources +++ b/plugins/official/csv-editor/dist/plugin.wasm.sources @@ -1 +1 @@ -8d0c17fb643bb7368877ae7cfe342286bc1c8a1fc8fdc00c7491beb5c24390fe +897d2b653cb5b8a91ef806307efa6fefd773c0aaacc746bf87fd7d2bea4bf147 diff --git a/plugins/official/git-toolbox/dist/plugin.wasm b/plugins/official/git-toolbox/dist/plugin.wasm index 91c23389f14634230de50fe7a74775762fdbd14c..251966e71ecf476f71249084eb4171f42763d613 100644 GIT binary patch delta 6059 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 P*}!68x#8|~x)=GsF#>Bx delta 6214 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 diff --git a/plugins/official/git-toolbox/dist/plugin.wasm.sources b/plugins/official/git-toolbox/dist/plugin.wasm.sources index 7d6a2eda2..4224ff9a6 100644 --- a/plugins/official/git-toolbox/dist/plugin.wasm.sources +++ b/plugins/official/git-toolbox/dist/plugin.wasm.sources @@ -1 +1 @@ -ab15b403fb606ea226b491098f7b06335a03735d46a80a2d6e00cb042d201960 +9724a33ae85205245ec0bb94369d55e2df08aa328e872af2c03ad45c230d7865 diff --git a/plugins/official/graphviz/dist/plugin.wasm b/plugins/official/graphviz/dist/plugin.wasm index 030ee4338ac42693eeb96ec665bbe5a5e0d009b9..c9dca6b8ef6504d6e7ce081e97c639529c45ddf6 100644 GIT binary patch delta 13923 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 diff --git a/plugins/official/graphviz/dist/plugin.wasm.sources b/plugins/official/graphviz/dist/plugin.wasm.sources index b8b727487..04659899a 100644 --- a/plugins/official/graphviz/dist/plugin.wasm.sources +++ b/plugins/official/graphviz/dist/plugin.wasm.sources @@ -1 +1 @@ -ab64135fcdeee8579e9b9613b47cccd94f66ff46d7c3a0507320a1364ffe8921 +d5245ffd43097795062f7bb887162c13d99d48b68f7883e4ff6adb41a663d157 diff --git a/plugins/official/key-promoter/dist/plugin.wasm b/plugins/official/key-promoter/dist/plugin.wasm index 153b89397ab3ff48fa4794e35c69c8b22b245b98..70aeeee3df7053f225db43f4494dfdc6c58150c1 100644 GIT binary patch delta 4872 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 diff --git a/plugins/official/key-promoter/dist/plugin.wasm.sources b/plugins/official/key-promoter/dist/plugin.wasm.sources index f510f5bae..c89faa388 100644 --- a/plugins/official/key-promoter/dist/plugin.wasm.sources +++ b/plugins/official/key-promoter/dist/plugin.wasm.sources @@ -1 +1 @@ -5b73dc19e676472cb94ec6c020d7fc6279b59aa8e8439b3840ece799035f1a2b +2fbf40065eae7c9ef0e927dfae4fde1f698858b2ae3047db9c242a12e443d823 diff --git a/plugins/official/license-header/dist/plugin.wasm b/plugins/official/license-header/dist/plugin.wasm index 801d55a3073a5e9955318903ffa2e2481b4d044c..ca272ee181ca541c758e8ff5088b20fda092aa31 100644 GIT binary patch delta 8717 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 diff --git a/plugins/official/license-header/dist/plugin.wasm.sources b/plugins/official/license-header/dist/plugin.wasm.sources index e49404054..85b014072 100644 --- a/plugins/official/license-header/dist/plugin.wasm.sources +++ b/plugins/official/license-header/dist/plugin.wasm.sources @@ -1 +1 @@ -c6763b53f7d4228678827234dfd02e413bb604c867b4ead8cd185316e6482897 +7b5480ba83b888a43bb641f95ad679d60b132548516b92d91d8d7e118220f2c3 diff --git a/plugins/official/mybatis/dist/plugin.wasm b/plugins/official/mybatis/dist/plugin.wasm index 47871af599906b3ac2a08d3f2ced30bac488306f..42d6f614d7c94fa7a8e88f2c24aad51e548fb5b4 100644 GIT binary patch delta 9636 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 R;3m+_2;wG94JYS&{|8q!(*ytj delta 9840 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

D|uF$&K-@z{2j@=L<##@I(nJ~!Fl_q)9`Og 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ৢua;4Zlrcgt_$9{DZYE5D8VWVesduka2Ykl)3F z@_Tql?#ILO`*=kD0FTP6@t8b-$K?<4g!~b9-qQI0F(HP(hi6@45XZ`&V4wUc_RF8) zfINf~<Fiw@f@^SwM6~3k-P5uU_%Of~L{uXD--{CCzA2=kB;%xbQ zoFo5$bLHHr^a8Vu|3?t=RdFOPkmuq;IS&`fN8w`mXj~#6gG=RnTqYlj%jM&6g?v1A zD-{X|Rq_eAT0Rli$S2`ixe(XMC*ykg6x<-6iW}u3+$5idn?3XVKSGNt&d06t1-MPV z5Vy-^xI>3^#Tm8$5(Rr0gAT7C}K z$j{?ixeM3HFW`FlMcg32gd62<+$6t@n_Y!h2rcrfxK-}KZSrflU49*R$Zz0IxfgfI zZ{lwGE!-o&jeBLckI<*^4(^xV#RKwtcu?-gL-PB0SpEQy$gAFpY&X{ck8M5vStag}^Bu9i>1HS(#rRxZMI@@cqUJ{>p6 zXW&M;7&m!#oiho|syGX`$YbF5TGJYo`&<~jc|dyF)ox7agn?UE|xdNCGuvtR8GQW z^5(caZ2I38gbGz`i7Vw~TqSRXtL3e6jXWLK$|<-`-Uipp+u{a!JKQLz;wD#NdqT6k z18$Lb#I14=x5+!GyX#Af^m{7%j*x^rIhd&E&j64g+%KKxVJRAGvH#YY> zr_p&Xr%a_p@?AJCDnE(WrEIks{r?PLkI_vHFYxlopUFPTw9;@3$wb z9}t!8G3|ChZe)k{RMWJm73_he(HmS$1EP<}o&g?x#_W0D{PzA|2Vjr$jy_}d{NL!j z26dV*h8oXdj@20dTCi6#-oJh7Os&8SR|B*{@0uKhT z21K$wZXr6`17)JmfIW;T`iO3&0nxc`Qofta{{sBi_7{=e=)1Uy1<|>i21IW#og>;c zY6E|;esm5{AHDu*s-;u9wAFf?g{b0^&cn@`Gi(?%chQRL_bxsPkXbDQ{`vuRlj4T|G6lGmA(*PE25 zPRjmCIbl-%oL&&MeV+gH-xoO6Poq|FzMGW4pOnWY<)d^4A_uVFr2HQ1^Jj*2fL#B! z|F(c%*&y3U7TLfm<;XR)^JgRFjT`u#Q+fT6vUOA*$NNR)r|~9~Yg7ErDZIAP@A;o# zylnmdNfubQi>%O2wrdm_h(6+)r$*%;$kuBj^`DY$V2R|<$>~w~8*=ibYz?sW-7~@K z+F)d4n!!D>C(Eze!W+5l=~&ark@{cP_l_Wve<52pjO1am9kFj??+g`VJHW`t@jp4h zEHAs^&+D~0#nvq%D_qP?W7jB>?V;0lMk3iBJRO}|$s0!1-$#!A{J&Q@J=X7>&wBQl zUK^OwWBL5I1rsdTi`UIB_lGxB`HA;eY<4BD$MSmePc-sWvX7kgtKZ?IIMrm^Q6c#P zUTfH%eQb|T_?<3}@>DWokmFxJ&bgP@SIPD%80(L7?D_D&xLQy@J&Vh1Tuj zoYPsMN_lWboMR7>Z&j{7EY6uv{`5+(AsMH{If=Y~&H{h<%#D++7oA161E@ST&fzLM z3&?inI?3Q1o0T3C8koO3&`?~?6QCZ87<)t6DP|wVrH8w&pcngNDgmMQ2BHfLCXc*Wd!O-JG$? zb-dp$fu9_2pZ^^!us1Zaz*;ts%nj_s-WTU=!WMra+Y$7xh;ts`lz*i9@i*eaN7~pM z7rqyoc)gJWIHcOUM*<&u4H&=H+hG!!(cRhpI`4q;$oIQ!@NgE`%~bM3oO3;|N0Y6E zT|dW#kNinx-!Il;?%wPD4v!3R8pyx#>Z|dG2cVKaBR%gX?~;}I;+-;b+|| zqWb;Fw!xTu?+Bmb4A?0TD*IHQN45h#oy@E2lxe}aEU*^Vk?pmbY?r2wYz=DA1_sDB zlrC28J0U*2-n(QwLn$YEJ9v?7XCy?nJDm z7T6I!qYdPdw;{htwjETQ93MWlAFIBFYy;JgWZO~Tl=$#?u+yF1C8#6Y`}QT<4m-&9 zahyxGRZUxzt1PzDGZ(N9nli99Z4Q} z2VNg1+da^9Mtrz8^pfpn%PIDH&1Yn5P!-t@_@_Jh`QP49!vfpTT6bv!WIM8HWNW|} z+4}e9+=MprRh;QHppJUGG&N)!aF&v-8?e0w}@is7B^_gTlq6^5@@DSM=zL0EZu1f1aMz;Ml zkZn61E(@#y9a``v*^X#H`BUWyvh85KyS-B$b54BtX55Hu8!RBt;&nRNwpVnX*TCIX zUqQCzv&i8~O11{LhiX9&3#{d5kgX!A)H@^Rk?oBkvUM9*Igf1X-KzJODc?`FGgwEq z2CpF70X2~A-g!y&6J#!d>%7kb+i~E0uf^YMg`jd0H;vttA+oi6qkFt=SVguSq>;n@ zTI*+#ZT%*)HTVRw-7{^fKc8&fvL{?m|69TWJCXsduuOSOc@^1?z;}Un7x$6v<_VGQ z^)s>^aRJ%R)VOjD*)EOmUhn;FWNXkSWE)4i$l>|_-L#;G1-7FLlmi!fr}#9oH87oQ z8>l3Q8$h-lUQf0im8pJT-St&^|0AkzBHI~TNe$LHQ`kec zBm0SLmnf#pYd{Vg2!Gs?ZG*p%tv-ot4O*Y=*%9Vw{bc0=tv`co?=LFj^WQd*#{%0x z2`g9w&QPvWzJ?s`He?&B?@$iT^LDtH9KHl(J3~9sV7n(u$o9UMsJAm)N4EWaNVWzx z%yYd3zp}tiNt50%eUaCo9&ON1wvlXrY?tDAvK{G!>dz&Iul0OydzEC{VSsE0bQ{?Y zFi5rrt|D85GhG(gj$hM)3av1xT%-I5Iox8hZE(tcx@2T)Sb}o!B5w!VlkE&-Du+~` zL$)(;G}#*H=4piztx!a^23@WVG?8tGcaZIfJIFSowP^jka<6_F+1^(|wlmbD^=ruX zzCRhrtiFS6XKK(}-*tvqV5ek+1y(Vp4Xk;;mjf4jpI%91+t2{n*7qxqkZpOIa?&N< zXGN}Z6WLC6AvxU5$+rI4WSf6-e3yDhoW%lbVGh~eaAkM}#%{8`;ZCx>wyD0EY#SUQ zTZ7uk)@vrnHsHKQw(V6^c=g|r?M&8??GpTI_4fH+#{ye%!zOPBeR{(tWV_}=$}?3z zMz#j#kZs4o%e;It*>+q+wjC@W+ZoNd-Mb_k@-3OIUqZI}o2a)3oH}JJ*ooHz^j+(~ z!gwdd8VB6sHE3dycaxp34V2yIZJvc2(3vaKI@Bi^~0iXX|g!-mh| z9h+dDe1vN~;Pry^pS=c04lt8^00)@xfa|SL#64{riX3qR*{Z{+)d zJhFAW$!Da1^{t^j)Z6RXWV>eqYb1ob;~}aqBir%?E(>hOO)Rh@kDS5|vi zSl{|}aIJ*!HEhua)5*5MMO-4=PLb*-pOKkdQrlk%_12Bu$SH|gJHaXEl$^^3?B?i- zO9-F($wxR(_dp-@H?iU++F{NXUUtd0gRUJC!Z+jO1Gs^DyQxDvCOG`FjO*ON0^4Cy znzzHdl!IjJUXzdLbAB|lHK%eORGTc_J&pIh1^ca?$Jr=VO8q%~~*Uq<2m0m50c7_us2LM!tc(Sh?UBufdNfryrXTp7;Bf zGi1G_@3@5U6wS}dfdX&+Kb1#L;Q5Q0tQgA%>GtlLH=LfqlDOcaC=#NAA)t zvYmkssJHIcN4E9G$>E;^&P@mpB-3v7CM3o`^7C&x{L7be(s>Et1Di{>9frvEF&ydU zb?3R>1}j*>xjEwR4O7`!}V+Yo6C&)Iy%%I+KfJa)s$m@M% z8}ULsvC=-wR*~(1s>n7TMCe{|D2(BZ$n&{GX;|Lac8Mj7-Vok?j)w-IPp$>LXJ!MS8zY$+&h?m1%+IWd3DJ zriyyI=6^RO(?I>B)JLXdd^5cD|87bqg?igBQ!=i1m$JZ)z?+ldnv?C?|J{^K3-xxl z|J{^KpSBm7k{QtY|2ieZ=fB;ZG5dH82+zroCr`=vs83;eWJ)HO=^bHYN+v|M21ll3 z>d1D4ktvxjvK?S#N~VWwy(8D8rio0+^pS0Yktvy&{Q}|s zADNP=BHIokQ!+JVoB4=L$z*1E+lx%ew24T{I7m6NZH>zrJIoLNHfXS!pM|N4%vp_$hTl^Wb0OcHzkuY z+k5~2eoBV^_b+oYYCyU+5Sfw*DgUQaGI^}O9S!`uDVdrOH?j5q$ec_Y3#^;{H6=r~ zn=>*c6LWxfM3E_(0NE~CWJ)GU^^qx=pz8l_N+z9p*LDz@lPS>#B2zLI%6~T{Q$xMI z|Nml2#+(0-%*k}I!SG$o6pDR(PM(tKQG+5=G6Q70SN?8F#&@7MPDG|;(#f{n|C*BF z=YPA&{@a`kIWi@a#~bXD{HIegC9H4T`;Vt&+7W=!w@ zw^K6K|0mDMOrDaNU;}njMW$qY+1?q6Ovwbuc2`HHWYWpDeq>4}M7A>&nUX0`y-mr4 z=l>_o$^6TdOo`qQnUbj>hyOW^84T-wlc!{S2YU^QOvwbvc19voGIeCTq)f@U;g&bB zz*_9h$#5iO8(1P!GDBoLg2byN3Uf_>R_wDO(>zU+Ge z%l#JkveRbeeG7a=*8jkZf93PZt10#^y{$7qv9HMb_Dd@tQM7&6`IxX?z#skz)#hsK zvpbS^R*w8eOfxOmnfge+cT#?Wyj@hi{l<&^^GsxY`vsTi`sFqa9*kPSemgNaD%&p; zM(@ym*)Tdset#sg1N-H|==y1svi(F9U7uwC48KFv4pS$sFnv;ckzt3TI*$Q!LtenEz0bZP+vE2?T<5HK@3)xFrZ$Dj$Tj?iwd^9#{m}2^QI4W4V~XS%%CnT` zDKAl8rMyOYgYqWjZOUrOmz1w4-&0;YJm7pziOCH(J5WNDBFa;_ZooO{h=7wrIh=Ad z<#*4h+Q~pTwhiAm@!Zu?S zy`KHAf*Vjaq(m)W*#6tpsqRP~*M&FOjbmSQSAJTY=IpNxZp54Ho=xC2vf}`rMzK2k zihS5?Ot$|cYZJ<*l+7qM*<=Thgg2*bLD`a$OxbD*L&etMg{gk$1Xi-s6{HlC3wX7k zMD0erVrzeRN_0zXr*@Am{NdTF9eA&o7tZ;8>K5*FatdV|%C?m4D5;bf%J!7V0oeO? zqy#BDQFf;6LP?{<91{qC=tRZ_J0YpJOmmW1J{w2AY%3qHfzjd$qWDS zJ0H!vva#s1wi|hON~96#lky&9TUO6T_vCdiN(RNeHzjhCX0Z=DDUnNVAJNu(XRuCG zaihckceDS$?o%5cPtDH{IK`AQic7hUawBCiy~94iti`F6Klyrp8^5y;t0=Q?91mPI-v(G^LyJF6A4_ zFO)Ur1)Pm3LCQXqgDC}+D=8}|Z&SXe{7m_ivhMtVvk4`QGLw=+IhJw`WgexLa?kes i=TS-*<$cN!#jX>&M=sMU;qD|@7wFQ*V=2Zwf5R; z?|tBMnQeZV?SXWAST8QMH!6D&;^+(t0OAbJ0OB;4DUi|9P{BE6aN0HrJ0+}i-TSJE1;4l zKU?i_@@z#Wm#nIKH#3vtocgTHMAYWfm)-h+ktTY*Med)a4PJe{)~qV8{i5WXy0|sG zB3NNRqWI9hjvwlNytIf8aGxGye1a9VLVI-!Gp_aH71|cFhOxUJvBLdl@a@!_)a+DO z(LLwF@pink6v-;F+T#rpy826|p*m-t%`15uEoaf`KKQ4jcBA3mBme)A7kaM*D4?Of z8$d@5zOjC7rWkqqWUYI05aD>$XctaeMcbEDZJu&)Z4EtHtIp3Z$iqzNzU)?pKNV8aG0&Zl#9?WP0nmn{~6yDxebwUI!{h zM$7~_LAMUlA~g<5M*5dX9duA*WIC(Gu~GfTbgxCvu3B8PdXfv6!}v4RM-NB6=i0q= zbLiygh0M>f=)RBnv8s7%KhRa>@RTa2p)rw<`PoKOV@!S;W4if)ZfDEd57*^~dzzo| zgTw#eXL7VZ-4qi_s|Kt8PwV<~{(R^=L)?h*tVoAs0cqP#17b%KW3`wRi|pO)^g-N0 z(p0^B&M*S&>D=M*P$3o$p8#~nNS@Y>qfkf}jUPn{GwJy8-rz(ZYW<;t_8hSv>G2Wq zP(tlqxQG2;UdTYzf8wOWBWLzL$Sx_K(^i=76rS)zwaX+TT4l28-{PS7J%H+UqXr^% z8NCP%tQZ{+WoT?29Xn;FFV2AdV(f%81&Ctl zr00}yh?Y(Yq`yv?4u#^&Q{5C$%miZAD?cmYfVg^A3_z*)`RsND7{pKCIE^P;%$S=_ z@Lu@oZw2Ufdr}*m6xYn(4ED#(SDlikCcDE?Iw08x4$}$AKIE*PCMSE7Q+m2K`4G9F zr*SD>q)IQok}?MKsuy=HT&I8oG$ge@(pOV`smC%`x;FJPl+xKt{NbSZ_7Wb5QBU*I zLP&$2ewh};FO^pSEr&f_zc`elH+jXVcQGB>0?`WckvFjY+Vb?%b#*9Xa&a#{QbxohFOE_=M@Ybj#=X#9xI~Myi$G5k zwtR#JJGV5Gnnv2R^+mEbn+E8-=@^;?2kAF-9IO_3-7|R6*3gJ;fhe1?Z3?Mvq@~-2 zxU9-CSv=06#RB?pTOT&yqu+)lc~CzNE2vW+>w3Txs1}BBEW6osv=B^g*3dK|46H08vB zRap3aLql@gpIL9(f>Cl6XxEDodES8g`BJ``JlILo@(YmZ_0e5&JBK>#D*fXGdS=&r zI86ucjzz`AyBGG^Zd#UAX{kYLmhl{0Drj}|x81qqK`zZLm;fKswgP`#@PIv@JputT zc=^%JL{T1`7BB8;fhW54qt`x}fUXDZUFY(JIpJTknmI{N?M)iF+bpSMk}`9l9k#rc z3SJ?d5~F!YenxHa+edy#jWslNUpl#4ORw)sV(?Pozn&0CU18P}rEy}}e!UHDK=*s}WzzJtT@+`F8vvKqS~eNV#i56$0qTnM)3LyIzR_?juqfA5 zVS%h0>5+qdSnu5Y7`5OxU;XG!=J}u1wQqd^n~n6^(IEt(_c0T^dW>h>+sBfgY_R><05<-7MIQul zQpI*#ypvnMcok`U<#Z?$KdfA38`*Ah8ALqQV5vs4Obt9l5l`vkSWUF|Ocw;MJX@T4 z{%sPjyUG&4rVfT6;s)r%{p*jKSC}RZDw~V8EOBR$o7e(ChPPdIB z_Rc-zPkJ3~GP;9Kd|<>sOLUZ6nu2utr7w{BUrt8)-sL<`c_H=~hhnT8wN^)m*DOSp z;+p4>8f!w3{$4XM)Uv{Oi>fTL4^TRToUyJ|udICy=YCt;3+XSl1CfT-@kl4sO(MAL zyt;S~Ifes@0Hr0DI@(dUmTA0uzLU^4q^Gv5iYRml6QqbUvf@_s3KC$?Xn zjZ-m{MUBBM#vP6Q-7Rh>T2iB<4UJx?^>bq!(#Wfux@T`d&*IQbS7v(rwq7&Z+B0q#u08 zYUKQP!;!k)m~RQrv+Gdl==(P!ECcS=164QDa9;e)vq)8~%)apwlo-|m=g?!^AtyM9P--eqC=+*^Tk`@JDZtM8ow-R=*6#P299 zv7g?4vfKXmgHbo(ew1anTNVoLZ^q$44`w3W@_^-H=0kKXW@Wmw|`N%;A4Lb&Y=nG921;AKR^DHr&ME$lQ5bBEdZU>H8^36Vf{ z91t`<@SM=$0Xt!}LEnoB&wpkX_Vor8tQVAC&`!=Bx000$k=`h~YmynENKpEM2KE~U z`NAn@QeQ9p8U%Y8?g@sykY#u&1dSoA)rkiwIgic=uEQYI_xo9d(`IJkf1C2gt%2~ArBe^Z6(@{4 zcIj;KZNv0okgE^`Ekp~sBfv{Y8iBpnUjTdI&PcE`^nL+i$Sazu>GRUkHHm2pmM&eO zS)4W}QS;{Fw3PJJ#5wcQHH%Z{Em|;lUSinaP^L*-wsijDw0U#G7Nn;yn-?}<@Stc- z`rH&v+OqVeU8<=ImnAJ&WOyYW1RLNCcgDd74z`@>XIM1_db(!hpT&U7-5x1a+(eWY z1IKwWl=z=)IL;k;f^CJZikpL2fJ`4Nek<|;R=f`R5ai__n&cGNzQOs9tdHaUBtC-) zR-lG2qRK(VvFJPy?GXJC?GXbd43jVt(E;VdBz}~{Pef$%rXea36A&?e?lnYaCkc_w zOGU&OxHJbTaDpI>=SlbpB6C=R$O11zWQIRQWC8p~!lM$N zKx6?`N*L&nVUFx86tD=5h%8l?5t)H2lKdJXbI^*&9LO2?L6YA?WP!9JvK7ji14pyI z0+HFZMPzy|h|Hc_26mWZA4x$@shmoGNm1Ssd5ij@oCO$!$P8*Ey-10VmG}{e%>Fn@ zK3S4amoQ@%c9(B z`i{i6O9)O(p22Z;rVj22qBAObAu@x!B!3Q(1sHQtK&$cH$oIA4OOX$?;>#Z6^~h(ib1xeV zKmp5u%m+Tk55_SUZ1Uxlf@xt6JMD36Smk5efLV&bwgp=rwmsPPV=KkRjx*Ccgnf3h zDxC2ApF@Tfn-Q@A+jVR|V(Y-BaK^pF=7LRy%@bQ6Y)m&8u|GC;0vr6z^0BZ!z0(=s7FMv?;fl|1*0ET&W;4r&Q z*)7a|tOm26S8)@Bpk#Po9e|f=0*ZQLW4XDZG+*Q)m^(8se3J}sgs5CqraQJ5>aZU( zQy!|~rVwn{zk-eF8*PNd6d1a_(1RP4`57nJ;~e yKkyj897{LIN}uu1A|EY;{vCXtJrb_sW(26XSFz2)#?2H~ECNr%lE1@uq5lPfj(;uy delta 6563 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 QYmtOW4toDN@U;7X07=eI?EnA( diff --git a/plugins/official/solidity/dist/plugin.wasm.sources b/plugins/official/solidity/dist/plugin.wasm.sources index a61266d3c..623c361f2 100644 --- a/plugins/official/solidity/dist/plugin.wasm.sources +++ b/plugins/official/solidity/dist/plugin.wasm.sources @@ -1 +1 @@ -ae73ca009c7b36b3dd118a3a903c0132baf9c78baaceffe8d2a8a4ea8d182d1d +9e8e7a1fc6aa73e11655114e4cf8c642ea6ea2318b0711fb4e1a82fb0f353bae diff --git a/plugins/official/string-tools/dist/plugin.wasm b/plugins/official/string-tools/dist/plugin.wasm index 58e1b37e98a8a341be0fe39f75782f0af3f2519f..4f7b8ac752f367774dcca4237e41129b5ac200f1 100644 GIT binary patch delta 6836 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 delta 6981 zcmdT|X;f547Jj$7S!AoKt!^#d z$xm9Cp0wEey#v|5MLg?}VC&$hRspC$rBVrFTcx&Afr|}r0N_U4065|#K4=vJ z;4tK$@CAGc`(dcK!|ecZ-b>4qxLCfA){!sMi*wyeRnF(~WmX$xmFR^mU7MDU{Qo~M z&g)K7uud%4Sshnc1?!{)>(&(h{|P6~tGyWI+t;R@KCJ?mQuFPGq$G}W^nEu8kx$YK zJGyKo2h#*Tz^?;+vNbjNdHSylHfmJ?D*Hiyn2M6}a?5XIB?^fF(@9~Pa6Q0H_qjnX z057eI-=*k0^@2{ZUDsdjph0x(sZ+x(F(@>Oc;8Bw%^z1pwQaR7Jg0RxyHTAkY=310 z+!SkHAu8rgT|d7Of9}o3`ad3iE~Evwi8Z8d68nh@G$CA z20O;Dg9^bXS}PQc(+Yg_6z?N!iM1SGtY@j$5-rhuEVBr&j@49(2cvg_T?OMf5n*Xm zJ0WqR8>+~i_&(DYKIs_!!4Euyv*YrRyD(~qmn_@T5ml;Vb)4o2))4B~JZ9)9G)xL3 zm3o>L3VmH}E9b^1pjGo%^kU-VkpNY~*KbaODzVd)sR8gzxc*+-rp?6hwR-V`jbZAS z4G1&R-9?WrJ}(^C^`rT}m*BM2SXwI(3b#dmjwpts@KFb#)9&{$&B^k{&qn*~C$CWY* zm1PJU>Uxms3}Jtrf!xXv#ys*Ml^NoqM`Hm@LisOmlH^R$>(@RilASL`{dNf$hCDrB zLo)T^-TK2eq&SoARzW{fnkn5=!F0g7kVe@+S9>QFo;`O!WtRx+K)4p&mgYFa2|CjS z7Q=1nv+lNxJCc&4#99sy5tVs2&v4H>^z_cA=Ozl z+zSRd-^#LzNgCY_x&Ync1<%Nl0-DkhW`Rkn?FgfRBxg(gw6IS_&rg9?^tmrMlIjBL z=m#0ZkWCBypo`0o+sfIs_mJ(LQ@PR^KNt+8T%hg!F{mptYNfaRVIU!y0+qVJ$E31Q zdMg0h0@fDC_ss+VIIavfIs$P@N55 zQY=e+!=Xr09C}zqAAj6PXLkp0AFIJZ+*oIDblhth1OTnl_X?GXh1T#gsW4&V+Ze0jEzIN6_eGIr!Rd0BQTq&T5y-{6`k)G%c z{WLkU2oK>LTb~OB)U6M6As2G!z&;S@pOh;nG>sKMUQryALiJX22%D4L2c!5phxQ4D z$)qM*IkuXDRx3gGmsR!;@y z!4PN8yrG`%kAMzXcSh)o0oFJx}@vEu0f06!qD$ISk*0-kNselr68u%hg2d9C-mXuK% zJsUR$;=b7sjVL+Hf%Ueb7i9Zgh`SCN?J7JSXd#rin-3fv;Xjol$0VKlL^`|>)(|k! zflI*6{p2=Qy4MWM_kFc;zJ533h+mG zbp>=qSg-m zj;ruqGSN3yVGWt+oK>)iaUZOL)kwy^12Yi5eh0etRD9OjhLSRsBY9Q%H&?199(SE> zlY1uGc{POL^qAG)Y0j0_E|h32%WKP13+WxG+XrtppMDpIRA!aP??Q0`5;(L|r1T;qtV^~iut5RX$o z-2^8P)@+uw@7fFpk(!?(`%#!8`_bV&=#4Lz$oIgDmF1!>@(#(`BG0JU0!NX#ITZ%j zn{x zp!~6H2yGN-mOYIC87NRJz!ZdfK~7>-4)afXngdBJQLFM~ci+qhPkJ;DK0?+KDjx~E zsXX!ng@Q))%~GQ`KxkhjL>$z$!>$SW$&{>ZQw4 z+vBj(mSkO)GQWeVKn%Z24^Lqnr0NTrbPoLK$TMIhNzbI3GmM*aO5rX)3mUTbIgPG{ zCuIKxE9Uj*bn{tcUX+>DWXEM1eIA0y_RG?y^AO?0Y#+Ue7c64rEqo!N4~4gwZhgLV z<~Fz!ay*;PxC5?vHTcj&=KD1;0fz3OL<3g1=rR;jftuso=nI99=z^uj_Z`-aG%aoAD8MBumQ1 z?}!9~=x!Ubc+B{O+3^X%%jPXv6q67f6u&%S+48vHWlNSUoHZ|I{^Eq-gk>=^7tRih ziHV;zFSK`HOk5mNZ^gu~n7=r9;ryAwYzD)G_*rsa8evO9;V)N9ciWM%RI($p{(9Bk z4#b_#uqPA#deyh>$xP`Fdr|}tB-J?(?})@CJ^rv<>T=pf!!5-60Y(Q|(c{semlZu3X%8!UHqrrB^em*& zK%>4TFU(&c)4iGmCLn{YTxVwu=ZVM?iTUDOhiMvD;0n@yG;#z<9o`+g7l;PGm@13r zZbiFb-a9Z6yb zEyfa>iae&BdC&^!DTu6`T439R%Q+d5RR!~Gl%0l)MC^*eDKwojip=a<*0L!`9G2~r zjzC=)Q54dbu`&5Dds;J!1hul*<&nqiG|K}&eYuNg-W~Q%W zzZOdr#`e9`FOm%J{%;c1Jp2Fv diff --git a/plugins/official/string-tools/dist/plugin.wasm.sources b/plugins/official/string-tools/dist/plugin.wasm.sources index ac204d044..d7bedcb6c 100644 --- a/plugins/official/string-tools/dist/plugin.wasm.sources +++ b/plugins/official/string-tools/dist/plugin.wasm.sources @@ -1 +1 @@ -730d2bc7b15d2598840ec8668555f89cdf77b800c2ce21df7601880c57be6b2b +428dd3b2ebc9bc248775e385fc431f0621e564533ed54f70d12bf5db950627cb diff --git a/sdk/rust/openidea-plugin/src/host.rs b/sdk/rust/openidea-plugin/src/host.rs index 3e5f06ec3..66ffea31a 100644 --- a/sdk/rust/openidea-plugin/src/host.rs +++ b/sdk/rust/openidea-plugin/src/host.rs @@ -369,6 +369,10 @@ mod imp { Ok(entries.into_iter().map(|e| super::fs::DirEntry { name: e.name, kind: file_kind(e.kind) }).collect()) } + pub fn fs_plugin_dir() -> Result { + wit::fs::plugin_dir().map_err(error) + } + pub fn fs_write_file(path: &str, text: &str) -> Result<(), Error> { wit::fs::write_file(path, text).map_err(error) } @@ -1032,8 +1036,9 @@ pub fn unsubscribe(kind: EventKind) { } /// Files outside the open projects, for a program the plugin integrates with -/// or a tool installed elsewhere. Every path needs an `fs.read:` -/// (reading) or `fs.write:` (writing) grant covering it; without one a +/// or a tool installed elsewhere. Outside [`fs::plugin_dir`], paths need an +/// `fs.read:` (reading) or `fs.write:` (writing) grant covering it; +/// without one a /// call returns [`Error::Denied`] naming the capability the manifest has to /// declare. Paths are absolute, or start with `~/` for the user's home. A file /// inside a project is [`Project::read_file`] / [`Project::write_file`]. @@ -1041,6 +1046,14 @@ pub mod fs { use super::imp; use crate::types::{Error, FileKind, FileStat}; + /// The plugin's private persistent directory (0700, owner-only ACL on + /// Windows), removed on uninstall. Files created here are owner-only and + /// need no `fs.*` grants. Suitable for editor content and large caches; + /// retained across idle reclaim, reload, and application restarts. + pub fn plugin_dir() -> Result { + imp::fs_plugin_dir() + } + /// An entry of a directory ([`read_dir`]). #[derive(Clone, Debug, PartialEq, Eq)] pub struct DirEntry { diff --git a/sdk/rust/openidea-plugin/src/mock.rs b/sdk/rust/openidea-plugin/src/mock.rs index 7d2d1b50e..056b6fcac 100644 --- a/sdk/rust/openidea-plugin/src/mock.rs +++ b/sdk/rust/openidea-plugin/src/mock.rs @@ -518,7 +518,14 @@ pub mod current { /// `fs.read:` (or `fs.write:`) covers `` itself and what is /// under it: `/a` covers `/a/b` but not `/ab`. + const PLUGIN_DIR: &str = "/openidea/plugin-data/mock/files"; + fn require_fs(s: &State, kind: &str, path: &str) -> Result<(), Error> { + if (path == PLUGIN_DIR || path.starts_with(&format!("{PLUGIN_DIR}/"))) + && !path.split(['/', '\\']).any(|part| part == "..") + { + return Ok(()); + } let prefix = format!("{kind}:"); let covered = s.capabilities.iter().any(|c| match c.strip_prefix(&prefix) { Some(base) => { @@ -581,7 +588,7 @@ pub mod current { .filter_map(|c| c.strip_prefix(kind)) .any(|base| base.trim_end_matches(['/', '\\']) == dir) }); - granted || has_children(s, dir) + dir == PLUGIN_DIR || granted || has_children(s, dir) } /// What a write has to get past: an `fs.write` grant, a path that is not a @@ -899,6 +906,10 @@ pub mod current { }) } + pub fn fs_plugin_dir() -> Result { + Ok(PLUGIN_DIR.to_owned()) + } + pub fn fs_read_file(path: &str) -> Result { with(|s| { check_external(s, "fs.read", path)?; @@ -938,7 +949,7 @@ pub mod current { return Ok(FileStat { kind: FileKind::File, size: bytes.len() as u64, modified: None }); } // A directory is a prefix of the files the mock holds. - if has_children(s, path) { + if path == PLUGIN_DIR || has_children(s, path) { Ok(FileStat { kind: FileKind::Directory, size: 0, modified: None }) } else { Err(Error::NotFound(path.into())) @@ -988,7 +999,7 @@ pub mod current { _ => {} } } - if entries.is_empty() { + if entries.is_empty() && path != PLUGIN_DIR { return Err(Error::NotFound(path.into())); } Ok(entries.into_iter().map(|(name, kind)| crate::host::fs::DirEntry { name, kind }).collect()) @@ -1254,7 +1265,9 @@ pub mod current { pub fn open_location(path: &str, line: u32, column: u32) -> Result<(), Error> { with(|s| { - require(s, "project.read")?; + if require_fs(s, "fs.read", path).is_err() || !path.starts_with(PLUGIN_DIR) { + require(s, "project.read")?; + } s.locations.push((path.into(), line, column)); Ok(()) }) @@ -1751,6 +1764,24 @@ mod tests { assert_eq!(mock.diagnostics()["/project/a.java"].len(), 1); } + #[test] + fn private_directory_needs_no_filesystem_grants() { + let _mock = MockHost::install().with_capabilities(&[]); + let dir = host::fs::plugin_dir().unwrap(); + assert_eq!(host::fs::stat(&dir).unwrap().kind, FileKind::Directory); + assert!(host::fs::read_dir(&dir).unwrap().is_empty()); + let file = format!("{dir}/fake.txt"); + host::fs::write_file(&file, "fake text").unwrap(); + assert_eq!(host::fs::read_file(&file).unwrap(), "fake text"); + host::fs::write_bytes(&file, b"fake bytes").unwrap(); + assert_eq!(host::fs::read_bytes(&file).unwrap(), b"fake bytes"); + assert_eq!(host::fs::read_dir(&dir).unwrap()[0].name, "fake.txt"); + for path in [format!("{dir}-other/file"), format!("{dir}/../other/file")] { + assert!(matches!(host::fs::read_file(&path), Err(Error::Denied(_)))); + assert!(matches!(host::fs::write_file(&path, "x"), Err(Error::Denied(_)))); + } + } + #[test] fn fs_write_needs_a_grant_of_its_own() { // `fs.read` does not let a plugin write. diff --git a/sdk/rust/openidea-plugin/wit/fs.wit b/sdk/rust/openidea-plugin/wit/fs.wit index 5be15207f..7cd07fd71 100644 --- a/sdk/rust/openidea-plugin/wit/fs.wit +++ b/sdk/rust/openidea-plugin/wit/fs.wit @@ -3,8 +3,9 @@ package openidea:plugin@1.3.0; /// Files outside the open projects: the configuration of the program a /// plugin integrates with, a tool installed elsewhere, a licence file. /// -/// A plugin's own WASI has no preopened directory, so every path here is -/// checked against its `fs.read:` (reading) or `fs.write:` +/// A plugin's own WASI has no preopened directory. Every path outside its +/// own `plugin-dir` is checked against its `fs.read:` (reading) or +/// `fs.write:` /// (writing; it doesn't imply reading) grants; without one covering the path a /// call returns `denied` naming the capability the manifest has to declare. A /// file inside a project is `workspace.project.read-file` / `write-file`. @@ -13,6 +14,11 @@ interface fs { use types.{error}; use workspace.{file-kind, file-stat}; + /// The plugin's persistent private directory, created owner-only (0700, + /// owner-only ACL on Windows), removed on uninstall. Reading and writing + /// under it needs no fs.* grant; files created there are owner-only. + plugin-dir: func() -> result; + /// A text file, decoded as the editor decodes it (BOM and encoding /// detection), at most 16 MiB. Unsaved editor contents win, as they do /// for `project.read-file`. diff --git a/sdk/rust/openidea-plugin/wit/views.wit b/sdk/rust/openidea-plugin/wit/views.wit index 6fa5e51c9..92db335e7 100644 --- a/sdk/rust/openidea-plugin/wit/views.wit +++ b/sdk/rust/openidea-plugin/wit/views.wit @@ -139,6 +139,8 @@ interface views { /// Opens `path` (project-relative or absolute, inside the project) in an /// editor of the window the call came from, the caret at `line` and /// `column` (0-based; UTF-16 column): a view's links to code. + /// An absolute path inside the plugin's own fs.plugin-dir also works, + /// without project.read or an open project, from a command or event. open-location: func(path: string, line: u32, column: u32) -> result<_, error>; } diff --git a/wit/fs.wit b/wit/fs.wit index 5be15207f..7cd07fd71 100644 --- a/wit/fs.wit +++ b/wit/fs.wit @@ -3,8 +3,9 @@ package openidea:plugin@1.3.0; /// Files outside the open projects: the configuration of the program a /// plugin integrates with, a tool installed elsewhere, a licence file. /// -/// A plugin's own WASI has no preopened directory, so every path here is -/// checked against its `fs.read:` (reading) or `fs.write:` +/// A plugin's own WASI has no preopened directory. Every path outside its +/// own `plugin-dir` is checked against its `fs.read:` (reading) or +/// `fs.write:` /// (writing; it doesn't imply reading) grants; without one covering the path a /// call returns `denied` naming the capability the manifest has to declare. A /// file inside a project is `workspace.project.read-file` / `write-file`. @@ -13,6 +14,11 @@ interface fs { use types.{error}; use workspace.{file-kind, file-stat}; + /// The plugin's persistent private directory, created owner-only (0700, + /// owner-only ACL on Windows), removed on uninstall. Reading and writing + /// under it needs no fs.* grant; files created there are owner-only. + plugin-dir: func() -> result; + /// A text file, decoded as the editor decodes it (BOM and encoding /// detection), at most 16 MiB. Unsaved editor contents win, as they do /// for `project.read-file`. diff --git a/wit/views.wit b/wit/views.wit index 6fa5e51c9..92db335e7 100644 --- a/wit/views.wit +++ b/wit/views.wit @@ -139,6 +139,8 @@ interface views { /// Opens `path` (project-relative or absolute, inside the project) in an /// editor of the window the call came from, the caret at `line` and /// `column` (0-based; UTF-16 column): a view's links to code. + /// An absolute path inside the plugin's own fs.plugin-dir also works, + /// without project.read or an open project, from a command or event. open-location: func(path: string, line: u32, column: u32) -> result<_, error>; }