From 2dc078b93bfb5b6afa18db5a08b5d6ef62638d2c Mon Sep 17 00:00:00 2001 From: l0ng-ai <24760907+l0ng-ai@users.noreply.github.com> Date: Sat, 7 Nov 2026 16:06:03 +0800 Subject: [PATCH] feat(plugins): commit workflow API for plugins Plugin API 1.3 adds what commit-message generators and before-commit checks need: - `menu = "commit.message"`: a plugin command, with the plugin's icon, in the toolbar above the commit message of the Commit tool window and the Commit dialog. - `commit.pending-commit()` (`vcs.read`): what Commit would commit right now, per file its repository, path, status and a `git diff` of only the included files and changed blocks against HEAD (1 MiB in all), plus the message, Amend and a revision. The diff is made by the same selection the commit uses, in a copy of the index, so the index and the working tree stay as they are; unsaved editors of the included files are saved first, as Commit does. Only in trusted projects. - `commit.set-commit-message(revision, message)` (`vcs.write`): replaces the message only while the draft is still at that revision, so text the user typed meanwhile is never overwritten (`stale`). - `[[contributes.commitChecks]]` and the optional `commit-checker` export (worlds `plugin-commit-checks` / `commit-checks`): checks listed in Commit Options (on by default, `vcs.commit.disabledPluginChecks` turns them off) and run after the IDE's own; their problems, optionally with a location, stop the commit until Commit Anyway. The window answers the host through `CommitRequested` / `plugin_answer_commit`, also for remote windows. The Rust SDK gains `host::pending_commit`, `host::set_commit_message`, `openidea_plugin::commit` and their mock; a `commit` test fixture exercises them. All components are rebuilt for the WIT change. Refs #1650 --- crates/ide-core/src/workflow_settings.rs | 3 + crates/ide-host/src/plugins/api.rs | 174 ++++++++- crates/ide-host/src/plugins/commit.rs | 28 ++ crates/ide-host/src/plugins/mod.rs | 62 ++++ crates/ide-host/src/plugins/points.rs | 1 + crates/ide-host/src/plugins/remote_host.rs | 23 +- crates/ide-host/src/plugins/types.rs | 70 ++++ crates/ide-host/src/plugins/ui_points.rs | 38 +- crates/ide-host/tests/plugin_commit.rs | 253 +++++++++++++ crates/ide-plugin/src/runtime.rs | 66 +++- crates/ide-plugin/src/types.rs | 34 ++ crates/ide-plugin/src/wit_host.rs | 77 +++- .../tests/fixtures/commit/Cargo.lock | 333 ++++++++++++++++++ .../tests/fixtures/commit/Cargo.toml | 20 ++ .../tests/fixtures/commit/README.md | 9 + .../tests/fixtures/commit/dist/plugin.wasm | Bin 0 -> 100245 bytes .../fixtures/commit/dist/plugin.wasm.sources | 1 + .../tests/fixtures/commit/plugin.toml | 21 ++ .../tests/fixtures/commit/src/lib.rs | 57 +++ .../tests/fixtures/hello/dist/plugin.wasm | Bin 141675 -> 143250 bytes .../fixtures/hello/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/hover/dist/plugin.wasm | Bin 86889 -> 89569 bytes .../fixtures/hover/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/indexer/dist/plugin.wasm | Bin 79961 -> 83007 bytes .../fixtures/indexer/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/jobs/dist/plugin.wasm | Bin 141249 -> 144315 bytes .../fixtures/jobs/dist/plugin.wasm.sources | 2 +- .../tests/fixtures/misbehave/dist/plugin.wasm | Bin 98289 -> 97260 bytes .../misbehave/dist/plugin.wasm.sources | 2 +- .../fixtures/semantic-tokens/dist/plugin.wasm | Bin 88969 -> 91798 bytes .../semantic-tokens/dist/plugin.wasm.sources | 2 +- crates/ide-vcs/src/lib.rs | 12 + crates/ide-vcs/src/write.rs | 149 +++++++- crates/ide-vcs/tests/repo.rs | 65 ++++ plugins/README.md | 109 ++++-- .../official/ai-completion/dist/plugin.wasm | Bin 169214 -> 173529 bytes .../ai-completion/dist/plugin.wasm.sources | 2 +- plugins/official/checkstyle/dist/plugin.wasm | Bin 166564 -> 169535 bytes .../checkstyle/dist/plugin.wasm.sources | 2 +- plugins/official/csv-editor/dist/plugin.wasm | Bin 130695 -> 133387 bytes .../csv-editor/dist/plugin.wasm.sources | 2 +- plugins/official/git-toolbox/dist/plugin.wasm | Bin 108537 -> 110075 bytes .../git-toolbox/dist/plugin.wasm.sources | 2 +- plugins/official/graphviz/dist/plugin.wasm | Bin 126156 -> 129117 bytes .../graphviz/dist/plugin.wasm.sources | 2 +- .../official/key-promoter/dist/plugin.wasm | Bin 97412 -> 100191 bytes .../key-promoter/dist/plugin.wasm.sources | 2 +- .../official/license-header/dist/plugin.wasm | Bin 150820 -> 152616 bytes .../license-header/dist/plugin.wasm.sources | 2 +- plugins/official/mybatis/dist/plugin.wasm | Bin 166812 -> 168336 bytes .../official/mybatis/dist/plugin.wasm.sources | 2 +- .../official/regex-tester/dist/plugin.wasm | Bin 932676 -> 932270 bytes .../regex-tester/dist/plugin.wasm.sources | 2 +- plugins/official/solidity/dist/plugin.wasm | Bin 105079 -> 108021 bytes .../solidity/dist/plugin.wasm.sources | 2 +- .../official/string-tools/dist/plugin.wasm | Bin 162880 -> 165771 bytes .../string-tools/dist/plugin.wasm.sources | 2 +- sdk/rust/openidea-plugin/src/commit.rs | 38 ++ sdk/rust/openidea-plugin/src/host.rs | 50 +++ sdk/rust/openidea-plugin/src/lib.rs | 63 ++++ sdk/rust/openidea-plugin/src/mock.rs | 42 +++ sdk/rust/openidea-plugin/src/types.rs | 29 ++ sdk/rust/openidea-plugin/wit/commit.wit | 75 ++++ sdk/rust/openidea-plugin/wit/plugin.wit | 12 + src-tauri/src/commands/mod.rs | 2 + src-tauri/src/commands/plugin.rs | 27 ++ src/bindings.ts | 80 ++++- src/features/plugins/backend.ts | 14 + src/features/plugins/runtimeUi.tsx | 43 ++- src/features/plugins/uiPoints.tsx | 91 ++++- src/features/vcs/CommitOptions.tsx | 26 +- src/features/vcs/CommitView.tsx | 19 +- .../vcs/__tests__/pluginCommit.test.ts | 110 ++++++ src/features/vcs/changeOps.tsx | 80 ++--- src/features/vcs/commitSelection.ts | 158 +++++++++ src/features/vcs/index.ts | 3 + src/platform/locales/text/zh.json | 3 +- src/platform/workflowSettings.ts | 4 + src/workbench/contributions.ts | 58 ++- wit/commit.wit | 75 ++++ wit/plugin.wit | 12 + 81 files changed, 2605 insertions(+), 148 deletions(-) create mode 100644 crates/ide-host/src/plugins/commit.rs create mode 100644 crates/ide-host/tests/plugin_commit.rs create mode 100644 crates/ide-plugin/tests/fixtures/commit/Cargo.lock create mode 100644 crates/ide-plugin/tests/fixtures/commit/Cargo.toml create mode 100644 crates/ide-plugin/tests/fixtures/commit/README.md create mode 100644 crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm create mode 100644 crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources create mode 100644 crates/ide-plugin/tests/fixtures/commit/plugin.toml create mode 100644 crates/ide-plugin/tests/fixtures/commit/src/lib.rs create mode 100644 sdk/rust/openidea-plugin/src/commit.rs create mode 100644 sdk/rust/openidea-plugin/wit/commit.wit create mode 100644 src/features/vcs/__tests__/pluginCommit.test.ts create mode 100644 src/features/vcs/commitSelection.ts create mode 100644 wit/commit.wit diff --git a/crates/ide-core/src/workflow_settings.rs b/crates/ide-core/src/workflow_settings.rs index 3b31a576f..5549be1af 100644 --- a/crates/ide-core/src/workflow_settings.rs +++ b/crates/ide-core/src/workflow_settings.rs @@ -113,6 +113,8 @@ pub struct CommitSettings { pub body_limit: u32, pub show_right_margin: bool, pub wrap_at_margin: bool, + /// Plugin before-commit checks turned off (`/`); the rest run. + pub disabled_plugin_checks: Vec, } impl Default for CommitSettings { @@ -132,6 +134,7 @@ impl Default for CommitSettings { body_limit: 72, show_right_margin: true, wrap_at_margin: false, + disabled_plugin_checks: Vec::new(), } } } diff --git a/crates/ide-host/src/plugins/api.rs b/crates/ide-host/src/plugins/api.rs index e2f6977e9..5c379f866 100644 --- a/crates/ide-host/src/plugins/api.rs +++ b/crates/ide-host/src/plugins/api.rs @@ -1,14 +1,14 @@ //! [`HostApi`] for one plugin's code: what its imports reach in the IDE. //! Capabilities were checked by the runtime before any of this runs. -use super::{PluginContextKey, PluginEvent, PluginEventSink}; +use super::{CommitAnswer, CommitRequest, CommitSelection, PluginContextKey, PluginEvent, PluginEventSink}; use ide_core::ipc_path::to_ipc; use ide_core::{CancellationToken, TextEdit}; use ide_extension::Package; use ide_language::ProgramPin; use ide_plugin::{ - EventKind, HostApi, HostError, HttpRequest, HttpResponse, NotificationLevel, ProcessOutput, Prompt, - RepositoryStatus, StatusItem, + CommitChange, CommitDraft, EventKind, HostApi, HostError, HttpRequest, HttpResponse, NotificationLevel, + ProcessOutput, Prompt, RepositoryStatus, StatusItem, }; use parking_lot::{Mutex, RwLock}; use std::collections::{BTreeMap, BTreeSet, HashMap}; @@ -23,6 +23,11 @@ const MAX_KEY: usize = 256; /// Most status bar items per plugin. const MAX_STATUS_ITEMS: usize = 8; const MAX_CONTEXT_KEYS: usize = 100; +/// Most diff text of a pending commit, all files together. +const MAX_COMMIT_DIFF: usize = 1 << 20; +/// How long a window may take to describe its pending commit (it saves editors first). +const COMMIT_SELECTION_TIMEOUT: Duration = Duration::from_secs(30); +const COMMIT_MESSAGE_TIMEOUT: Duration = Duration::from_secs(10); /// (window or `None` for every window, plugin, key). type ContextKey = (Option, String, String); @@ -51,6 +56,10 @@ pub trait PluginWorkspace: Send + Sync { /// Shows `items` as producer `source`'s diagnostics of `path` (replacing earlier ones). fn publish_diagnostics(&self, source: &str, path: &Path, items: Vec) -> Result<(), HostError>; + /// The encoding git content of `path` is read in (the project's file encoding). + fn vcs_encoding(&self, _path: &Path) -> ide_vcs::TextEncoding { + encoding_rs::UTF_8.into() + } /// The user's values of `plugin`'s settings: the project's at `root` /// (over global), or global. fn plugin_settings(&self, _plugin: &str, _root: Option<&Path>) -> serde_json::Map { @@ -150,10 +159,15 @@ struct TaskEntry { cancelled: bool, } -/// A question a plugin's call waits on. +/// A question a plugin's call waits on: the user's (a prompt) or a window's. struct PromptEntry { plugin: String, - answer: std::sync::mpsc::SyncSender>>, + answer: Waiter, +} + +enum Waiter { + Prompt(std::sync::mpsc::SyncSender>>), + Commit(std::sync::mpsc::SyncSender), } /// State shared by the host and every plugin's [`PluginApi`]. @@ -211,7 +225,7 @@ impl Shared { }) } - fn workspace(&self) -> Option> { + pub(super) fn workspace(&self) -> Option> { self.workspace.read().clone() } @@ -358,8 +372,22 @@ impl Shared { /// The user answered (`Some`) or dismissed (`None`) a prompt. pub fn answer_prompt(&self, id: u64, answer: Option>) -> bool { - let Some(prompt) = self.prompts.lock().remove(&id) else { return false }; - prompt.answer.send(answer).is_ok() + let mut prompts = self.prompts.lock(); + if !matches!(prompts.get(&id), Some(PromptEntry { answer: Waiter::Prompt(_), .. })) { + return false; + } + let Some(PromptEntry { answer: Waiter::Prompt(tx), .. }) = prompts.remove(&id) else { return false }; + tx.send(answer).is_ok() + } + + /// A window answered a [`CommitRequest`]. + pub fn answer_commit(&self, id: u64, answer: CommitAnswer) -> bool { + let mut prompts = self.prompts.lock(); + if !matches!(prompts.get(&id), Some(PromptEntry { answer: Waiter::Commit(_), .. })) { + return false; + } + let Some(PromptEntry { answer: Waiter::Commit(tx), .. }) = prompts.remove(&id) else { return false }; + tx.send(answer).is_ok() } fn end_task(&self, id: u64) { @@ -540,6 +568,91 @@ fn kill_group(child: &mut std::process::Child) { ide_core::process::kill_tree(child); } +impl PluginApi { + /// Sends `request` to `client`'s window and waits for its answer, until + /// `cancel` fires, the plugin stops or `timeout` passes. + fn ask_commit( + &self, + client: &str, + request: CommitRequest, + cancel: &CancellationToken, + timeout: Duration, + ) -> Result { + let id = self.shared.next_prompt.fetch_add(1, Ordering::Relaxed); + let (answer, answers) = std::sync::mpsc::sync_channel(1); + { + let blocked = self.shared.prompts_blocked.lock(); + if blocked.contains(self.id()) { + return Err(HostError::Cancelled); + } + self.shared + .prompts + .lock() + .insert(id, PromptEntry { plugin: self.id().to_owned(), answer: Waiter::Commit(answer) }); + } + let request_id = id.to_string(); + self.shared.sink.emit( + Some(client), + PluginEvent::CommitRequested { plugin_id: self.id().to_owned(), request_id: request_id.clone(), request }, + ); + let deadline = Instant::now() + timeout; + loop { + match answers.recv_timeout(Duration::from_millis(100)) { + Ok(answer) => return Ok(answer), + Err(std::sync::mpsc::RecvTimeoutError::Timeout) + if !cancel.is_cancelled() && Instant::now() < deadline => {} + Err(e) => { + self.shared.prompts.lock().remove(&id); + self.shared.sink.emit(Some(client), PluginEvent::PromptClosed { prompt_id: request_id }); + return Err(match e { + std::sync::mpsc::RecvTimeoutError::Timeout if !cancel.is_cancelled() => { + HostError::Failed("the window did not answer".into()) + } + _ => HostError::Cancelled, + }); + } + } + } + } +} + +/// The changes `selection` commits, diffed repository by repository. +pub(super) fn commit_draft( + workspace: &dyn PluginWorkspace, + selection: CommitSelection, + cancel: &CancellationToken, +) -> Result { + let mut changes = Vec::new(); + let mut budget = MAX_COMMIT_DIFF; + for repo in &selection.repositories { + if cancel.is_cancelled() { + return Err(HostError::Cancelled); + } + let Some(r) = ide_vcs::Repo::discover(&repo.root.0).map_err(failed)? else { + return Err(HostError::NotFound(format!("{} is not in a git repository", repo.root.0.display()))); + }; + let pending = r.pending_changes(&repo.options, budget, &|path| Ok(workspace.vcs_encoding(path))).map_err( + |e| match e.kind { + ide_core::error::ErrorKind::InvalidInput => HostError::Invalid(e.message), + _ => HostError::Failed(e.message), + }, + )?; + let root = to_ipc(r.root()); + for c in pending { + budget -= c.diff.as_ref().map_or(0, String::len).min(budget); + changes.push(CommitChange { + repository: root.clone(), + path: to_ipc(&c.path), + old_path: c.old_path.as_deref().map(to_ipc), + status: c.status.to_owned(), + diff: c.diff, + truncated: c.truncated, + }); + } + } + Ok(CommitDraft { revision: selection.revision, message: selection.message, amend: selection.amend, changes }) +} + fn failed(e: impl std::fmt::Display) -> HostError { HostError::Failed(e.to_string()) } @@ -577,7 +690,10 @@ impl HostApi for PluginApi { if blocked.contains(self.id()) { return Err(HostError::Cancelled); } - self.shared.prompts.lock().insert(id, PromptEntry { plugin: self.id().to_owned(), answer }); + self.shared + .prompts + .lock() + .insert(id, PromptEntry { plugin: self.id().to_owned(), answer: Waiter::Prompt(answer) }); } let prompt_id = id.to_string(); self.shared.sink.emit( @@ -597,6 +713,37 @@ impl HostApi for PluginApi { } } + fn pending_commit( + &self, + client: Option<&str>, + cancel: &CancellationToken, + ) -> Result, HostError> { + let client = from_window(client, "read the pending commit")?; + let workspace = self.shared.workspace().ok_or_else(|| HostError::Failed("no workspace".into()))?; + let root = + workspace.project_of(client).ok_or_else(|| HostError::Invalid("the window has no project".into()))?; + if !workspace.trusted(&root) { + return Err(HostError::Invalid("the project is in Restricted Mode: git does not run there".into())); + } + let answer = self.ask_commit(client, CommitRequest::Selection, cancel, COMMIT_SELECTION_TIMEOUT)?; + match answer { + CommitAnswer::NoRepository => Ok(None), + CommitAnswer::Selection { selection } => commit_draft(&*workspace, selection, cancel).map(Some), + CommitAnswer::Done | CommitAnswer::Stale => Err(HostError::Failed("unexpected answer".into())), + } + } + + fn set_commit_message(&self, client: Option<&str>, revision: u64, message: String) -> Result<(), HostError> { + let client = from_window(client, "set the commit message")?; + let request = CommitRequest::SetMessage { revision, message }; + match self.ask_commit(client, request, &CancellationToken::new(), COMMIT_MESSAGE_TIMEOUT)? { + CommitAnswer::Done => Ok(()), + CommitAnswer::Stale => Err(HostError::Stale), + CommitAnswer::NoRepository => Err(HostError::Invalid("the window's project has no repository".into())), + CommitAnswer::Selection { .. } => Err(HostError::Failed("unexpected answer".into())), + } + } + fn reveal_view(&self, client: Option<&str>, view: &str) -> Result<(), HostError> { let client = from_window(client, "reveal a view")?; let declared = self.shared.ui.items(super::ui_points::VIEWS, Some(self.id())).iter().any(|i| i.key == view); @@ -1112,6 +1259,15 @@ impl PluginWorkspace for HostWorkspace { Ok(()) } + fn vcs_encoding(&self, path: &Path) -> ide_vcs::TextEncoding { + HostWorkspace::projects(self) + .into_iter() + .filter(|p| path.starts_with(&p.root)) + .max_by_key(|p| p.root.as_os_str().len()) + .and_then(|p| p.vcs_encoding(path, None).ok()) + .unwrap_or_else(|| encoding_rs::UTF_8.into()) + } + fn plugin_settings(&self, plugin: &str, root: Option<&Path>) -> serde_json::Map { let Some(host) = self.0.upgrade() else { return serde_json::Map::new() }; let settings = match root.and_then(|r| host.projects().into_iter().find(|p| p.root == r)) { diff --git a/crates/ide-host/src/plugins/commit.rs b/crates/ide-host/src/plugins/commit.rs new file mode 100644 index 000000000..4f3a26076 --- /dev/null +++ b/crates/ide-host/src/plugins/commit.rs @@ -0,0 +1,28 @@ +//! The Commit view's side of the `commit` API, as the window commands +//! `plugin_answer_commit` / `plugin_commit_checks` serve it — the desktop for +//! local projects, `openidea-server` for remote ones. + +use super::{CommitSelection, PluginCommitCheckRef, PluginCommitCheckResult, PluginHost}; +use ide_core::{IdeError, IdeResult, RequestId}; +use std::sync::Arc; + +/// Runs the plugins' before-commit checks `checks` on what `selection` commits, +/// until request `request` is cancelled. +pub async fn commit_checks( + host: &crate::Host, + plugins: Arc, + window: &str, + selection: CommitSelection, + checks: Vec, + request: RequestId, +) -> IdeResult> { + host.require_trust(window)?; + let invocation = super::views::view_invocation(host, window, None, None)?; + let cancel = host.begin_project_read_request(window, request); + let result = tokio::task::spawn_blocking(move || plugins.commit_checks(invocation, selection, checks, &cancel)) + .await + .map_err(|e| IdeError::internal(e.to_string())) + .and_then(|r| r); + host.end_request(request); + result +} diff --git a/crates/ide-host/src/plugins/mod.rs b/crates/ide-host/src/plugins/mod.rs index 527142e71..be40ee1c5 100644 --- a/crates/ide-host/src/plugins/mod.rs +++ b/crates/ide-host/src/plugins/mod.rs @@ -16,6 +16,7 @@ //! projects) and folders linked with `openidea-plugin link` (`links.json`). mod api; +pub mod commit; mod hover; mod icon_extensions; mod icon_patterns; @@ -1366,6 +1367,67 @@ impl PluginHost { prompt_id.parse().is_ok_and(|id| self.shared.answer_prompt(id, answer)) } + /// A window answered a plugin's `CommitRequested`; false when the call no + /// longer waits. + pub fn answer_commit(&self, request_id: &str, answer: CommitAnswer) -> bool { + request_id.parse().is_ok_and(|id| self.shared.answer_commit(id, answer)) + } + + /// Runs the plugins' before-commit checks `checks` (`(plugin, check)`) on + /// what `selection` commits. A check that fails or isn't available is + /// reported with `error`, so the commit still stops for it. + pub fn commit_checks( + &self, + invocation: Invocation, + selection: CommitSelection, + checks: Vec, + cancel: &ide_core::CancellationToken, + ) -> IdeResult> { + let declared = self.ui.items(ui_points::COMMIT_CHECKS, None); + let wanted: Vec<_> = checks + .into_iter() + .filter_map(|c| { + let item = declared.iter().find(|i| i.plugin_id == c.plugin_id && i.key == c.check)?; + Some((c, item.decl["title"].as_str().unwrap_or_default().to_owned())) + }) + .collect(); + if wanted.is_empty() { + return Ok(Vec::new()); + } + let workspace = self.shared.workspace().ok_or_else(|| IdeError::unavailable("no workspace"))?; + let draft = api::commit_draft(&*workspace, selection, cancel).map_err(|e| match e { + HostError::Cancelled => IdeError::cancelled(), + HostError::Invalid(m) => IdeError::invalid(m), + e => IdeError::unavailable(e.to_string()), + })?; + let mut out = Vec::new(); + for (c, title) in wanted { + if cancel.is_cancelled() { + return Err(IdeError::cancelled()); + } + let granted = self + .plugins + .read() + .get(&c.plugin_id) + .is_some_and(|p| p.meta.lock().granted.contains(&Capability::VcsRead)); + let result = if granted { + let (check, draft) = (c.check.clone(), draft.clone()); + self.code_call(&c.plugin_id, invocation.clone(), "checking the commit", move |rt, inv| { + rt.commit_check(&check, draft.clone(), inv) + }) + .map_err(|e| e.message) + } else { + Err(HostError::Denied(Capability::VcsRead.to_string()).to_string()) + }; + let (problems, error) = match result { + Ok(problems) => (problems, None), + Err(e) => (Vec::new(), Some(e)), + }; + out.push(PluginCommitCheckResult { plugin_id: c.plugin_id, check: c.check, title, problems, error }); + } + Ok(out) + } + /// Kinds of workbench events some running or activatable plugin wants; /// the UI reports only these. pub fn event_kinds(&self) -> BTreeSet { diff --git a/crates/ide-host/src/plugins/points.rs b/crates/ide-host/src/plugins/points.rs index 940ac19c2..53bbe5603 100644 --- a/crates/ide-host/src/plugins/points.rs +++ b/crates/ide-host/src/plugins/points.rs @@ -68,5 +68,6 @@ pub fn register_builtin_points( registry.register(Arc::new(UiPoint::new(p::CUSTOM_EDITORS, ui.clone(), p::custom_editor)))?; registry.register(Arc::new(UiPoint::new(p::FILE_ICONS, ui.clone(), p::file_icon)))?; registry.register(Arc::new(UiPoint::new(p::FILE_TEMPLATES, ui.clone(), p::file_template)))?; + registry.register(Arc::new(UiPoint::new(p::COMMIT_CHECKS, ui.clone(), p::commit_check)))?; Ok(()) } diff --git a/crates/ide-host/src/plugins/remote_host.rs b/crates/ide-host/src/plugins/remote_host.rs index 6815ca382..be67dd51a 100644 --- a/crates/ide-host/src/plugins/remote_host.rs +++ b/crates/ide-host/src/plugins/remote_host.rs @@ -15,7 +15,7 @@ //! `plugin_post_events`, `plugin_event_kinds`, `plugin_status_items`, //! `plugin_context_keys`, `plugin_cancel_task`, `plugin_answer_prompt`, `plugin_set_active_file`, //! `plugin_line_markers`, `plugin_view_render`, `plugin_view_event`, `plugin_service_detail`, -//! `plugin_service_log`) +//! `plugin_service_log`, `plugin_answer_commit`, `plugin_commit_checks`) //! carry the desktop commands' names and arguments, so a remote window's UI //! routes them here unchanged. Plugin results come back as `plugin` //! notifications ([`PluginEventMessage`]); secrets stay in the desktop's @@ -122,6 +122,7 @@ pub fn forwarded(event: &PluginEvent) -> bool { | PluginEvent::PromptRequested { .. } | PluginEvent::PromptClosed { .. } | PluginEvent::RevealView { .. } + | PluginEvent::CommitRequested { .. } ) } @@ -422,6 +423,26 @@ impl RemotePlugins { async move { Ok(alive(&h)?.answer_prompt(&c.arg::("promptId")?, c.arg("answer")?)) } }); let h = host.clone(); + d.add("plugin_answer_commit", move |c| { + let h = h.clone(); + async move { Ok(alive(&h)?.answer_commit(&c.arg::("requestId")?, c.arg("answer")?)) } + }); + let h = host.clone(); + d.add("plugin_commit_checks", move |c| { + let h = h.clone(); + async move { + super::commit::commit_checks( + &c.host, + alive(&h)?, + &c.window, + c.arg("selection")?, + c.arg("checks")?, + c.arg("request")?, + ) + .await + } + }); + let h = host.clone(); d.add("plugin_set_active_file", move |c| { let h = h.clone(); async move { diff --git a/crates/ide-host/src/plugins/types.rs b/crates/ide-host/src/plugins/types.rs index 5090998a8..61b75abb8 100644 --- a/crates/ide-host/src/plugins/types.rs +++ b/crates/ide-host/src/plugins/types.rs @@ -232,6 +232,55 @@ pub enum PluginEvent { /// Bring the tool window of the plugin's view `view` to the front. #[serde(rename_all = "camelCase")] RevealView { plugin_id: String, view: String }, + /// A command needs the window's Commit view: answer with + /// `plugin_answer_commit(request_id, …)`. Closed like a prompt (`PromptClosed`). + #[serde(rename_all = "camelCase")] + CommitRequested { plugin_id: String, request_id: String, request: CommitRequest }, +} + +/// What a plugin asks of a window's Commit view. +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Type)] +#[serde(tag = "kind", rename_all = "camelCase")] +pub enum CommitRequest { + /// What Commit would commit now ([`CommitAnswer::Selection`]); unsaved + /// editors of the included files are saved first. + Selection, + /// Replace the message if the draft is still at `revision`. + SetMessage { revision: u64, message: String }, +} + +/// A window's answer to a [`CommitRequest`]. +#[derive(Clone, Debug, Serialize, Deserialize, Type)] +#[serde(tag = "kind", rename_all = "camelCase")] +pub enum CommitAnswer { + /// The window's project has no repository. + NoRepository, + Selection { + selection: CommitSelection, + }, + /// The message was replaced. + Done, + /// The draft is no longer at the revision. + Stale, +} + +/// What a window's Commit view would commit: per repository, the options +/// `vcs_commit` would get. +#[derive(Clone, Debug, Serialize, Deserialize, Type)] +#[serde(rename_all = "camelCase")] +pub struct CommitSelection { + /// Changes whenever the message, the included changes or Amend do. + pub revision: u64, + pub message: String, + pub amend: bool, + pub repositories: Vec, +} + +#[derive(Clone, Debug, Serialize, Deserialize, Type)] +#[serde(rename_all = "camelCase")] +pub struct CommitSelectionRepo { + pub root: ide_core::IpcPath, + pub options: ide_vcs::CommitOptions, } /// Delivers events to the UI. `client` is the window that invoked the plugin @@ -300,3 +349,24 @@ pub struct LineMarkerInfo { /// Opened on click. pub target: Option, } + +/// A plugin's before-commit check to run (`[[contributes.commitChecks]]`). +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Type)] +#[serde(rename_all = "camelCase")] +pub struct PluginCommitCheckRef { + pub plugin_id: String, + pub check: String, +} + +/// What a plugin's before-commit check found. +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Type)] +#[serde(rename_all = "camelCase")] +pub struct PluginCommitCheckResult { + pub plugin_id: String, + pub check: String, + /// The check's declared title. + pub title: String, + pub problems: Vec, + /// The check could not run (the plugin failed, timed out or lacks `vcs.read`). + pub error: Option, +} diff --git a/crates/ide-host/src/plugins/ui_points.rs b/crates/ide-host/src/plugins/ui_points.rs index b5bd0047e..71e28882e 100644 --- a/crates/ide-host/src/plugins/ui_points.rs +++ b/crates/ide-host/src/plugins/ui_points.rs @@ -5,7 +5,7 @@ //! //! ```toml //! [[contributes.menus]] -//! menu = "editor.context" # projectView.context, editorTab.context, tools, viewItem.context +//! menu = "editor.context" # projectView.context, editorTab.context, tools, viewItem.context, commit.message //! command = "check" //! when = "editorLang == java" //! # view = "" # required for (only allowed on) viewItem.context @@ -42,6 +42,10 @@ //! icon = "icons/drawing.svg" //! iconDark = "icons/drawing_dark.svg" //! +//! [[contributes.commitChecks]] +//! id = "conventional" +//! title = "Conventional Commits" # Commit Options › Before Commit; `commit-checker.check` runs it +//! //! [[contributes.fileTemplates]] //! id = "drawing" //! name = "Excalidraw Drawing" @@ -66,9 +70,13 @@ pub const VIEWS: &str = "views"; pub const CUSTOM_EDITORS: &str = "customEditors"; pub const FILE_ICONS: &str = "fileIcons"; pub const FILE_TEMPLATES: &str = "fileTemplates"; +pub const COMMIT_CHECKS: &str = "commitChecks"; const VIEW_ITEM_MENU: &str = "viewItem.context"; -const MENU_IDS: [&str; 5] = ["editor.context", "projectView.context", "editorTab.context", "tools", VIEW_ITEM_MENU]; +/// The toolbar above the commit message (Commit tool window and dialog). +const COMMIT_MESSAGE_MENU: &str = "commit.message"; +const MENU_IDS: [&str; 6] = + ["editor.context", "projectView.context", "editorTab.context", "tools", VIEW_ITEM_MENU, COMMIT_MESSAGE_MENU]; const MAX_TITLE: usize = 256; const MAX_SETTINGS: usize = 200; const MAX_PATTERNS: usize = 16; @@ -122,6 +130,9 @@ pub(super) fn menu(pkg: &Package, decl: toml::Value) -> Result { return Err(format!("contributes.menus: unknown menu {:?} (one of {})", d.menu, MENU_IDS.join(", "))); } declared_command(pkg, MENUS, &d.command)?; + if d.menu == COMMIT_MESSAGE_MENU { + pkg.manifest.needs_api(&format!("contributes.menus: {COMMIT_MESSAGE_MENU}"), 3)?; + } if let Some(w) = &d.when { validate_when(w).map_err(|e| format!("contributes.menus: {e}"))?; } @@ -554,6 +565,29 @@ pub(super) fn file_template(pkg: &Package, decl: toml::Value) -> Result Result { + let d: CommitCheckDecl = decode(COMMIT_CHECKS, decl)?; + pkg.manifest.needs_api(&format!("contributes.{COMMIT_CHECKS}"), 3)?; + validate_item_id(&d.id, "commit check id")?; + title(COMMIT_CHECKS, &d.title)?; + if pkg.manifest.wasm.is_none() { + return Err(format!("contributes.{COMMIT_CHECKS}: needs `wasm` (the checks run in the plugin's code)")); + } + if !pkg.manifest.capabilities.all().any(|c| *c == ide_extension::Capability::VcsRead) { + return Err(format!("contributes.{COMMIT_CHECKS}: needs the `vcs.read` capability (checks read the commit)")); + } + Ok(UiDecl::new(d.id.clone(), d.title.clone(), json(&d)?)) +} + #[cfg(test)] mod tests { use super::*; diff --git a/crates/ide-host/tests/plugin_commit.rs b/crates/ide-host/tests/plugin_commit.rs new file mode 100644 index 000000000..095d10716 --- /dev/null +++ b/crates/ide-host/tests/plugin_commit.rs @@ -0,0 +1,253 @@ +//! The `commit` interface and the `commit-checker` export, through the +//! `test.commit` fixture and a scripted window answering `CommitRequested`. + +use ide_core::ipc_path::to_ipc; +use ide_host::plugins::*; +use ide_plugin::{HostError, Invocation, Limits}; +use parking_lot::Mutex; +use std::path::{Path, PathBuf}; +use std::process::Command; +use std::sync::Arc; +use std::sync::atomic::{AtomicBool, Ordering}; + +fn fixture_dir() -> PathBuf { + Path::new(env!("CARGO_MANIFEST_DIR")).join("../ide-plugin/tests/fixtures/commit") +} + +fn git(dir: &Path, args: &[&str]) { + let out = Command::new("git") + .current_dir(dir) + .args(["-c", "init.defaultBranch=main", "-c", "user.name=T", "-c", "user.email=t@example.com"]) + .args(args) + .output() + .unwrap(); + assert!(out.status.success(), "git {args:?}: {}", String::from_utf8_lossy(&out.stderr)); +} + +struct Workspace { + root: PathBuf, + trusted: AtomicBool, +} + +impl PluginWorkspace for Workspace { + fn projects(&self) -> Vec { + vec![self.root.clone()] + } + fn buffer_text(&self, _: &Path) -> Option { + None + } + fn document(&self, _: &Path) -> Option<(u64, String)> { + None + } + fn apply_edits(&self, _: &Path, _: u64, _: &[ide_core::TextEdit]) -> Result { + Err(HostError::NotFound("not open".into())) + } + fn trusted(&self, _: &Path) -> bool { + self.trusted.load(Ordering::Relaxed) + } + fn project_of(&self, _: &str) -> Option { + Some(self.root.clone()) + } + fn publish_diagnostics(&self, _: &str, _: &Path, _: Vec) -> Result<(), HostError> { + Ok(()) + } +} + +/// The window's Commit view: its draft, and whether the user types between +/// the plugin reading it and writing the message. +#[derive(Default)] +struct Window { + revision: u64, + message: String, + selection: Option, + type_after_reading: bool, + requests: Vec, +} + +struct Fixture { + host: Arc, + window: Arc>, + workspace: Arc, + project: PathBuf, + _tmp: tempfile::TempDir, +} + +impl Fixture { + fn new() -> Self { + let tmp = tempfile::tempdir().unwrap(); + let project = tmp.path().join("project"); + std::fs::create_dir_all(&project).unwrap(); + git(&project, &["init", "-q"]); + std::fs::write(project.join("a.txt"), "one\ntwo\nthree\n").unwrap(); + git(&project, &["add", "."]); + git(&project, &["commit", "-qm", "base"]); + std::fs::write(project.join("a.txt"), "one\nDO NOT COMMIT\nthree\n").unwrap(); + + let window = Arc::new(Mutex::new(Window { revision: 7, ..Window::default() })); + let host_slot: Arc>>> = Arc::default(); + let (w, slot) = (window.clone(), host_slot.clone()); + // Answers on another thread, as the UI does through `plugin_answer_commit`. + let sink = Arc::new(move |_: Option<&str>, e: PluginEvent| { + let PluginEvent::CommitRequested { request_id, request, .. } = e else { return }; + let (w, slot) = (w.clone(), slot.clone()); + std::thread::spawn(move || { + let answer = { + let mut w = w.lock(); + w.requests.push(request.clone()); + match request { + CommitRequest::Selection => { + let selection = w.selection.clone(); + if w.type_after_reading { + w.revision += 1; + } + match selection { + Some(s) => CommitAnswer::Selection { selection: s }, + None => CommitAnswer::NoRepository, + } + } + CommitRequest::SetMessage { revision, message } if revision == w.revision => { + w.message = message; + w.revision += 1; + CommitAnswer::Done + } + CommitRequest::SetMessage { .. } => CommitAnswer::Stale, + } + }; + let host = slot.lock().as_ref().and_then(std::sync::Weak::upgrade); + assert!(host.unwrap().answer_commit(&request_id, answer)); + }); + }); + let host = Arc::new(PluginHost::new(tmp.path().join("plugins"), sink, Limits::default()).unwrap()); + *host_slot.lock() = Some(Arc::downgrade(&host)); + let workspace = Arc::new(Workspace { root: project.clone(), trusted: AtomicBool::new(true) }); + host.set_workspace(Some(workspace.clone())); + host.install_from_dir(&fixture_dir(), &Consent::all()).unwrap(); + Self { host, window, workspace, project, _tmp: tmp } + } + + fn inv(&self) -> Invocation { + Invocation { client: Some("main".into()), workspace_root: Some(self.project.clone()), ..Invocation::default() } + } + + /// `a.txt` included whole, with `message`. + fn selection(&self, message: &str) -> CommitSelection { + let revision = self.window.lock().revision; + CommitSelection { + revision, + message: message.into(), + amend: false, + repositories: vec![CommitSelectionRepo { + root: self.project.clone().into(), + options: ide_vcs::CommitOptions { + stage: vec![self.project.join("a.txt").into()], + run_hooks: true, + ..Default::default() + }, + }], + } + } + + fn markers(&self, message: &str) -> Vec { + let check = PluginCommitCheckRef { plugin_id: "test.commit".into(), check: "markers".into() }; + let cancel = ide_core::CancellationToken::new(); + self.host.commit_checks(self.inv(), self.selection(message), vec![check], &cancel).unwrap() + } +} + +#[test] +fn a_command_reads_the_pending_commit_and_writes_its_message() { + let f = Fixture::new(); + let selection = f.selection(""); + f.window.lock().selection = Some(selection); + let out = f.host.run_command("test.commit", "describe", None, f.inv()).unwrap(); + assert_eq!(out.as_deref(), Some("chore: modified a.txt")); + let w = f.window.lock(); + assert_eq!(w.message, "chore: modified a.txt"); + assert_eq!(w.revision, 8); + // Reading the draft left the index alone: nothing is staged. + let staged = Command::new("git").current_dir(&f.project).args(["diff", "--cached", "--name-only"]).output(); + assert!(staged.unwrap().stdout.is_empty()); +} + +#[test] +fn typing_meanwhile_makes_the_write_stale() { + let f = Fixture::new(); + let selection = f.selection(""); + { + let mut w = f.window.lock(); + w.selection = Some(selection); + w.type_after_reading = true; + } + let err = f.host.run_command("test.commit", "describe", None, f.inv()).unwrap_err(); + assert!(err.message.contains("stale") || err.message.contains("changed"), "{}", err.message); + assert_eq!(f.window.lock().message, ""); +} + +#[test] +fn no_repository_and_restricted_mode() { + let f = Fixture::new(); + let err = f.host.run_command("test.commit", "describe", None, f.inv()).unwrap_err(); + assert!(err.message.contains("no repository"), "{}", err.message); + + f.workspace.trusted.store(false, Ordering::Relaxed); + f.window.lock().requests.clear(); + let err = f.host.run_command("test.commit", "describe", None, f.inv()).unwrap_err(); + assert!(err.message.contains("Restricted Mode"), "{}", err.message); + assert!(f.window.lock().requests.is_empty(), "the window is not asked"); + + // Outside a window's command there is no Commit view to ask. + let headless = Invocation { client: None, ..f.inv() }; + let err = f.host.run_command("test.commit", "describe", None, headless).unwrap_err(); + assert!(err.message.contains("from a command"), "{}", err.message); +} + +#[test] +fn checks_report_the_message_and_markers_in_the_included_changes() { + let f = Fixture::new(); + let results = f.markers("wip"); + assert_eq!(results.len(), 1); + let r = &results[0]; + assert_eq!((r.title.as_str(), r.error.as_deref()), ("Commit Markers", None)); + let found: Vec<_> = + r.problems.iter().map(|p| (p.message.as_str(), p.path.clone(), p.range.map(|r| r.start.line))).collect(); + assert_eq!( + found, + [ + ("The message does not start with `type: `.", None, None), + ("Remove the DO NOT COMMIT marker.", Some(to_ipc(&f.project.join("a.txt"))), Some(1)), + ] + ); + assert_eq!(f.markers("fix: drop marker")[0].problems.len(), 1); + + // Unknown checks are not run, nor those of a plugin that lost `vcs.read`. + let other = PluginCommitCheckRef { plugin_id: "test.commit".into(), check: "other".into() }; + let cancel = ide_core::CancellationToken::new(); + assert!(f.host.commit_checks(f.inv(), f.selection("x"), vec![other], &cancel).unwrap().is_empty()); + f.host.set_capability("test.commit", "vcs.read", false).unwrap(); + assert!(f.markers("wip").iter().all(|r| r.problems.is_empty())); +} + +#[test] +fn the_commit_points_need_plugin_api_1_3() { + let tmp = tempfile::tempdir().unwrap(); + let host = + PluginHost::new(tmp.path().join("plugins"), Arc::new(|_: Option<&str>, _| {}), Limits::default()).unwrap(); + let manifest = std::fs::read_to_string(fixture_dir().join("plugin.toml")).unwrap(); + for (what, manifest) in [ + ( + "commit.message", + manifest.replace("[[contributes.commitChecks]]\nid = \"markers\"\ntitle = \"Commit Markers\"\n", ""), + ), + ( + "commitChecks", + manifest.replace("[[contributes.menus]]\nmenu = \"commit.message\"\ncommand = \"describe\"\n", ""), + ), + ] { + let pkg = tmp.path().join(what); + std::fs::create_dir_all(pkg.join("dist")).unwrap(); + std::fs::copy(fixture_dir().join("dist/plugin.wasm"), pkg.join("dist/plugin.wasm")).unwrap(); + std::fs::write(pkg.join("plugin.toml"), manifest.replace("\"^1.3\"", "\"^1.2\"")).unwrap(); + let err = host.install_from_dir(&pkg, &Consent::all()).unwrap_err(); + assert!(err.message.contains("new in plugin API 1.3") && err.message.contains(what), "{what}: {}", err.message); + } +} diff --git a/crates/ide-plugin/src/runtime.rs b/crates/ide-plugin/src/runtime.rs index 085a63950..98b44c195 100644 --- a/crates/ide-plugin/src/runtime.rs +++ b/crates/ide-plugin/src/runtime.rs @@ -4,7 +4,8 @@ //! themselves are in `wit_host`. use crate::types::{ - CodeAction, CompletionItem, InlineSuggestion, LineMarker, Location, PluginHover, ProviderDocument, SemanticToken, + CodeAction, CommitDraft, CommitProblem, CompletionItem, InlineSuggestion, LineMarker, Location, PluginHover, + ProviderDocument, SemanticToken, }; use crate::types::{ EventKind, HostError, HttpRequest, HttpResponse, Invocation, Limits, NotificationLevel, ProcessOutput, Prompt, @@ -15,8 +16,8 @@ use crate::types::{ ViewField, ViewListItem, ViewTable, ViewTreeItem, Viewport, }; use crate::wit_host::{ - bindings, hover_bindings, indexing_bindings, providers_bindings, semantic_bindings, services_bindings, - syntax_bindings, views_bindings, + bindings, commit_checks_bindings, hover_bindings, indexing_bindings, providers_bindings, semantic_bindings, + services_bindings, syntax_bindings, views_bindings, }; use ide_core::CancellationToken; use ide_core::ipc_path::to_ipc; @@ -33,6 +34,7 @@ use wasmtime_wasi::{WasiCtx, WasiCtxView, WasiView}; use bindings::openidea::plugin::events as wit_events; use bindings::openidea::plugin::types as wit_types; +use commit_checks_bindings::exports::openidea::plugin::commit_checker as wit_cc; use hover_bindings::exports::openidea::plugin::hover_provider as wit_hover; use indexing_bindings::exports::openidea::plugin::document_indexer as wit_index; use providers_bindings::exports::openidea::plugin::providers as wit_prov; @@ -115,6 +117,22 @@ pub trait HostApi: Send + Sync { Ok(Vec::new()) } fn vcs_fetch(&self, root: &Path, cancel: &CancellationToken) -> Result<(), HostError>; + /// The commit being prepared in `client`'s window (`None`: no repository), + /// waiting for the window until `cancel` fires. + fn pending_commit( + &self, + client: Option<&str>, + cancel: &CancellationToken, + ) -> Result, HostError> { + let _ = (client, cancel); + Ok(None) + } + /// Replaces the commit message of `client`'s window if its draft is still at + /// `revision` (else [`HostError::Stale`]). + fn set_commit_message(&self, client: Option<&str>, revision: u64, message: String) -> Result<(), HostError> { + let _ = (client, revision, message); + Err(HostError::Invalid("no commit is being prepared".into())) + } /// Subscribes to (or unsubscribes from) a kind of workbench event. /// Project files matching `glob` (root-relative), at most `limit`. fn find_files(&self, root: &Path, glob: &str, limit: usize) -> Result, HostError>; @@ -526,6 +544,7 @@ struct Exports { semantic: Option, services: Option, hover: Option, + commit_checks: Option, } /// Most results one syntax call may return (more are dropped). @@ -608,6 +627,7 @@ impl Runtime { let semantic_indices = wit_sem::GuestIndices::new(&pre).ok(); let service_indices = wit_svc::GuestIndices::new(&pre).ok(); let hover_indices = wit_hover::GuestIndices::new(&pre).ok(); + let commit_check_indices = wit_cc::GuestIndices::new(&pre).ok(); let instance = pre.instantiate(&mut store).map_err(api_hint)?; let plugin = plugin_indices.load(&mut store, &instance).map_err(api_hint)?; let syntax = match syntax_indices { @@ -638,9 +658,13 @@ impl Runtime { Some(indices) => Some(indices.load(&mut store, &instance).map_err(api_hint)?), None => None, }; + let commit_checks = match commit_check_indices { + Some(indices) => Some(indices.load(&mut store, &instance).map_err(api_hint)?), + None => None, + }; Ok(Self { store, - exports: Exports { plugin, syntax, providers, views, indexer, semantic, services, hover }, + exports: Exports { plugin, syntax, providers, views, indexer, semantic, services, hover, commit_checks }, limits: setup.limits, version: setup.version, }) @@ -1009,6 +1033,30 @@ impl Runtime { } } + /// Runs the plugin's before-commit check `check` on `draft`. + pub fn commit_check( + &mut self, + check: &str, + draft: CommitDraft, + invocation: Invocation, + ) -> Result, CallError> { + if self.exports.commit_checks.is_none() { + return Err(CallError::missing_export("commit-checker")); + } + let draft = crate::wit_host::commit_draft_to_wit(draft); + let result = self.call(invocation, self.limits.timeout, |e, store| { + let ctx = store.data_mut().new_invocation()?; + let checks = e.commit_checks.as_ref().expect("checked"); + let r = checks.call_check(&mut *store, check, &draft, wasmtime::component::Resource::new_borrow(ctx.rep())); + store.data_mut().drop_invocation(ctx); + r + })?; + match result { + Ok(problems) => Ok(problems.into_iter().take(MAX_COMMIT_PROBLEMS).map(commit_problem_from_wit).collect()), + Err(e) => Err(CallError::Guest(e.into())), + } + } + /// A user action in a view or custom editor. pub fn view_event(&mut self, view: &str, event: ViewEvent, invocation: Invocation) -> Result<(), CallError> { if self.exports.views.is_none() { @@ -1207,6 +1255,16 @@ fn opt_clip(s: Option, max: usize) -> Option { s.map(|s| clip(s, max)) } +const MAX_COMMIT_PROBLEMS: usize = 50; + +fn commit_problem_from_wit(p: wit_cc::CommitProblem) -> CommitProblem { + let (path, range) = match p.location { + Some(l) => (Some(clip(l.path, 4096)), Some(range_from_wit(l.range))), + None => (None, None), + }; + CommitProblem { message: clip(p.message, 4096), path, range } +} + const MAX_SERVICE_TABS: usize = 8; const MAX_LOG_TOGGLES: usize = 8; const MAX_LOG_ARGS: usize = 256; diff --git a/crates/ide-plugin/src/types.rs b/crates/ide-plugin/src/types.rs index f0d2989a9..ccd915739 100644 --- a/crates/ide-plugin/src/types.rs +++ b/crates/ide-plugin/src/types.rs @@ -210,6 +210,40 @@ pub struct RepositoryStatus { pub changed_files: u32, } +/// A file a pending commit changes (WIT `commit.commit-change`). +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Type)] +#[serde(rename_all = "camelCase")] +pub struct CommitChange { + pub repository: String, + pub path: String, + pub old_path: Option, + /// `added`, `modified`, `deleted`, `renamed`, `copied` or `type-changed`. + pub status: String, + /// `git diff` of the included changes; `None` for binary content. + pub diff: Option, + pub truncated: bool, +} + +/// What Commit would commit (WIT `commit.commit-draft`). +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Type)] +#[serde(rename_all = "camelCase")] +pub struct CommitDraft { + pub revision: u64, + pub message: String, + pub amend: bool, + pub changes: Vec, +} + +/// A problem a plugin's before-commit check reported (WIT `commit-checker.commit-problem`). +#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Type)] +#[serde(rename_all = "camelCase")] +pub struct CommitProblem { + pub message: String, + /// Absolute path of the file it is in, if any (IPC form). + pub path: Option, + pub range: Option, +} + /// Resource limits and supervision policy for plugin code. #[derive(Clone, Copy, Debug)] pub struct Limits { diff --git a/crates/ide-plugin/src/wit_host.rs b/crates/ide-plugin/src/wit_host.rs index 43ee90b66..350f3d539 100644 --- a/crates/ide-plugin/src/wit_host.rs +++ b/crates/ide-plugin/src/wit_host.rs @@ -42,6 +42,7 @@ pub(crate) mod syntax_bindings { "openidea:plugin/editor": super::bindings::openidea::plugin::editor, "openidea:plugin/invocation": super::bindings::openidea::plugin::invocation, "openidea:plugin/vcs": super::bindings::openidea::plugin::vcs, + "openidea:plugin/commit": super::bindings::openidea::plugin::commit, "openidea:plugin/events": super::bindings::openidea::plugin::events, "openidea:plugin/tasks": super::bindings::openidea::plugin::tasks, "openidea:plugin/diagnostics": super::bindings::openidea::plugin::diagnostics, @@ -69,6 +70,7 @@ pub(crate) mod providers_bindings { "openidea:plugin/editor": super::bindings::openidea::plugin::editor, "openidea:plugin/invocation": super::bindings::openidea::plugin::invocation, "openidea:plugin/vcs": super::bindings::openidea::plugin::vcs, + "openidea:plugin/commit": super::bindings::openidea::plugin::commit, "openidea:plugin/events": super::bindings::openidea::plugin::events, "openidea:plugin/tasks": super::bindings::openidea::plugin::tasks, "openidea:plugin/diagnostics": super::bindings::openidea::plugin::diagnostics, @@ -96,6 +98,7 @@ pub(crate) mod views_bindings { "openidea:plugin/editor": super::bindings::openidea::plugin::editor, "openidea:plugin/invocation": super::bindings::openidea::plugin::invocation, "openidea:plugin/vcs": super::bindings::openidea::plugin::vcs, + "openidea:plugin/commit": super::bindings::openidea::plugin::commit, "openidea:plugin/events": super::bindings::openidea::plugin::events, "openidea:plugin/tasks": super::bindings::openidea::plugin::tasks, "openidea:plugin/diagnostics": super::bindings::openidea::plugin::diagnostics, @@ -109,8 +112,8 @@ pub(crate) mod views_bindings { } use bindings::openidea::plugin::{ - diagnostics, editor, events, invocation, log, net, process, secrets, settings, storage, tasks, types as wit, ui, - vcs, views, workspace, + commit, diagnostics, editor, events, invocation, log, net, process, secrets, settings, storage, tasks, + types as wit, ui, vcs, views, workspace, }; /// A project handle: its root. @@ -571,6 +574,62 @@ impl vcs::Host for StoreData { } } +impl commit::Host for StoreData { + fn pending_commit(&mut self) -> Fallible> { + if let Err(e) = self.require(Capability::VcsRead) { + return Ok(Err(e)); + } + if let Err(e) = self.require_interactive() { + return Ok(Err(e)); + } + // Waiting for the window (saving, diffing) doesn't count against the call's budget. + let client = self.invocation.client.clone(); + let started = Instant::now(); + let draft = self.host.pending_commit(client.as_deref(), &self.cancel.token()); + let waited = started.elapsed(); + self.deadline += waited; + self.call_started += waited; + Ok(draft.map(|d| d.map(commit_draft_to_wit)).map_err(to_wit)) + } + + fn set_commit_message(&mut self, revision: u64, message: String) -> Fallible<()> { + if let Err(e) = self.require(Capability::VcsWrite) { + return Ok(Err(e)); + } + if let Err(e) = self.require_interactive() { + return Ok(Err(e)); + } + if message.len() > MAX_COMMIT_MESSAGE { + return Ok(Err(wit::Error::Invalid(format!("a commit message is at most {MAX_COMMIT_MESSAGE} bytes")))); + } + let client = self.invocation.client.clone(); + Ok(self.host.set_commit_message(client.as_deref(), revision, message).map_err(to_wit)) + } +} + +/// Longest commit message a plugin may set. +const MAX_COMMIT_MESSAGE: usize = 64 << 10; + +pub(crate) fn commit_draft_to_wit(d: crate::types::CommitDraft) -> commit::CommitDraft { + commit::CommitDraft { + revision: d.revision, + message: d.message, + amend: d.amend, + changes: d + .changes + .into_iter() + .map(|c| commit::CommitChange { + repository: c.repository, + path: c.path, + old_path: c.old_path, + status: c.status, + diff: c.diff, + truncated: c.truncated, + }) + .collect(), + } +} + impl events::Host for StoreData { fn subscribe(&mut self, kind: String) -> Fallible<()> { let Some(kind) = EventKind::parse(&kind) else { @@ -828,6 +887,20 @@ pub(crate) mod services_bindings { }); } +/// The optional `commit-checker` export. +pub(crate) mod commit_checks_bindings { + wasmtime::component::bindgen!({ + world: "commit-checks", path: "../../wit", + with: { + "openidea:plugin/types": super::bindings::openidea::plugin::types, + "openidea:plugin/workspace": super::bindings::openidea::plugin::workspace, + "openidea:plugin/editor": super::bindings::openidea::plugin::editor, + "openidea:plugin/invocation": super::bindings::openidea::plugin::invocation, + "openidea:plugin/commit": super::bindings::openidea::plugin::commit, + }, + }); +} + pub(crate) mod semantic_bindings { wasmtime::component::bindgen!({ world: "semantic-tokens", path: "../../wit", diff --git a/crates/ide-plugin/tests/fixtures/commit/Cargo.lock b/crates/ide-plugin/tests/fixtures/commit/Cargo.lock new file mode 100644 index 000000000..a8964abce --- /dev/null +++ b/crates/ide-plugin/tests/fixtures/commit/Cargo.lock @@ -0,0 +1,333 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "anyhow" +version = "1.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" + +[[package]] +name = "bitflags" +version = "2.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06" + +[[package]] +name = "equivalent" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00d174d5400e5e8fd687ad1049e2f578285fa914201b1af7e8b112a4546bd826" + +[[package]] +name = "foldhash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" + +[[package]] +name = "hashbrown" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "foldhash", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + +[[package]] +name = "indexmap" +version = "2.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855" +dependencies = [ + "equivalent", + "hashbrown", + "serde", + "serde_core", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + +[[package]] +name = "log" +version = "0.4.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d15f86d12da44cd8d4ec3c73984537eb7f4cadcb9776a575a0a8a05ca11005c" + +[[package]] +name = "macro-string" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e7b3a5bbb2f63aaa223a671ea1bd0e7bc16bd30ce387324cf63995deaddbbd2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "openidea-plugin" +version = "0.1.0" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "openidea-test-commit" +version = "0.1.0" +dependencies = [ + "openidea-plugin", +] + +[[package]] +name = "prettyplease" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bfe0f4c752e450fc2faf62654f1c134747922825d5b04ca717b8874f41a40c0" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "semver" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.154" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "syn" +version = "3.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563" + +[[package]] +name = "wasm-encoder" +version = "0.262.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4495a6f85dd94c411c749303efcbc5defade0b0cbdbc0541495241ab917a9b5a" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.262.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c86ff6668190d9fb70372b306b4f9fe8930f0e2f57ce72e4922bf2f117900949" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.262.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "974d643b125b272607e2fff8012ea14a8328acd7621e4bafa7afb32500052b1b" +dependencies = [ + "bitflags", + "hashbrown", + "indexmap", + "semver", +] + +[[package]] +name = "wit-bindgen" +version = "0.63.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b85a987ab61d365382d25c7d47e26edd48941b3bf6e3fbf76eff918bc71dab06" +dependencies = [ + "bitflags", + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.63.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e122e390603abfacd548027016cd0113a6e2bf2f8ce6bdd3658b013456ea8" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.63.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84e26e13b9d972026778d2ffb7985736de116026fdc8d9464f966e12df2eb240" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.63.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16a008a0d6b4840677326beb4edbeb210a2f1b7d0183fb7cc33f466b90fd7fb6" +dependencies = [ + "anyhow", + "macro-string", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.262.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "078def49fdb49cab405c3006e05793b3fdaf7069126ba6b9c97d01ec8c98fe4c" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.262.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00f0dc051466ffe46787721fca3d088536f158ae400be044f1b1c386ba9397ad" +dependencies = [ + "anyhow", + "hashbrown", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-ident", + "wasmparser", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/crates/ide-plugin/tests/fixtures/commit/Cargo.toml b/crates/ide-plugin/tests/fixtures/commit/Cargo.toml new file mode 100644 index 000000000..322fc7b87 --- /dev/null +++ b/crates/ide-plugin/tests/fixtures/commit/Cargo.toml @@ -0,0 +1,20 @@ +[package] +name = "openidea-test-commit" +version = "0.1.0" +edition = "2024" +publish = false + +[workspace] + +[lib] +crate-type = ["cdylib", "rlib"] + +[dependencies] +openidea-plugin = { path = "../../../../../sdk/rust/openidea-plugin" } + +[profile.release] +opt-level = "s" +lto = true +strip = true +codegen-units = 1 +panic = "abort" diff --git a/crates/ide-plugin/tests/fixtures/commit/README.md b/crates/ide-plugin/tests/fixtures/commit/README.md new file mode 100644 index 000000000..8b1271a5f --- /dev/null +++ b/crates/ide-plugin/tests/fixtures/commit/README.md @@ -0,0 +1,9 @@ +# Commit test fixture + +`Describe Changes` (in the `commit.message` toolbar) reads the commit being +prepared and writes a message listing its files; the `markers` before-commit +check reports a message without a `type: ` prefix and every `DO NOT COMMIT` +added by the commit. + +Used by `cargo test -p ide-host --test plugin_commit` to exercise the `commit` +interface and the optional `commit-checker` export. It is not a marketplace plugin. diff --git a/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm new file mode 100644 index 0000000000000000000000000000000000000000..b016857f50ce5a5545d35f3091eea8b18ca0d74e GIT binary patch literal 100245 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 literal 0 HcmV?d00001 diff --git a/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources new file mode 100644 index 000000000..36c7fcb14 --- /dev/null +++ b/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources @@ -0,0 +1 @@ +a85f313fdb635212cd96c7a9694cb64417bc40cddf5193a69b2873a7009f3f42 diff --git a/crates/ide-plugin/tests/fixtures/commit/plugin.toml b/crates/ide-plugin/tests/fixtures/commit/plugin.toml new file mode 100644 index 000000000..f913857f1 --- /dev/null +++ b/crates/ide-plugin/tests/fixtures/commit/plugin.toml @@ -0,0 +1,21 @@ +id = "test.commit" +name = "Commit fixture" +version = "0.1.0" +engines.openidea = "^1.3" +wasm = "dist/plugin.wasm" +activation = ["on-command:*"] + +[capabilities] +required = ["vcs.read", "vcs.write"] + +[[contributes.commands]] +id = "describe" +title = "Commit Fixture: Describe Changes" + +[[contributes.menus]] +menu = "commit.message" +command = "describe" + +[[contributes.commitChecks]] +id = "markers" +title = "Commit Markers" diff --git a/crates/ide-plugin/tests/fixtures/commit/src/lib.rs b/crates/ide-plugin/tests/fixtures/commit/src/lib.rs new file mode 100644 index 000000000..a9fc2d764 --- /dev/null +++ b/crates/ide-plugin/tests/fixtures/commit/src/lib.rs @@ -0,0 +1,57 @@ +use openidea_plugin::commit::{CommitChecks, CommitProblem}; +use openidea_plugin::{CommitDraft, Error, Invocation, Location, Plugin, Position, Range, host, register_plugin}; + +#[derive(Default)] +struct Fixture; + +impl Plugin for Fixture { + fn run_command(&mut self, id: &str, _: &Invocation, _: Option<&str>) -> Result, Error> { + if id != "describe" { + return Err(Error::NotFound(id.into())); + } + let draft = host::pending_commit()?.ok_or("no repository")?; + let names: Vec = draft + .changes + .iter() + .map(|c| format!("{} {}", c.status, c.path.rsplit('/').next().unwrap_or(&c.path))) + .collect(); + let message = format!("chore: {}", names.join(", ")); + host::set_commit_message(draft.revision, &message)?; + Ok(Some(message)) + } +} + +impl CommitChecks for Fixture { + fn check(&mut self, check: &str, draft: &CommitDraft, _: &Invocation) -> Result, Error> { + if check != "markers" { + return Err(Error::NotFound(check.into())); + } + let mut problems = Vec::new(); + if !draft.message.split_once(": ").is_some_and(|(t, _)| !t.is_empty() && !t.contains(' ')) { + problems.push(CommitProblem::new("The message does not start with `type: `.")); + } + for change in &draft.changes { + let Some(diff) = &change.diff else { continue }; + let mut line = 0u32; + for l in diff.lines() { + if let Some(hunk) = l.strip_prefix("@@ -") { + // `@@ -a,b +c,d @@`: c is the 1-based first line of the new side. + let new = hunk.split(" +").nth(1).and_then(|s| s.split([',', ' ']).next()); + line = new.and_then(|n| n.parse::().ok()).unwrap_or(1).saturating_sub(1); + } else if l.starts_with('+') && !l.starts_with("+++") { + if l.contains("DO NOT COMMIT") { + let at = Position::new(line, 0); + let location = Location { path: change.path.clone(), range: Range::new(at, at) }; + problems.push(CommitProblem::new("Remove the DO NOT COMMIT marker.").at(location)); + } + line += 1; + } else if !l.starts_with('-') { + line += 1; + } + } + } + Ok(problems) + } +} + +register_plugin!(Fixture, commit_checks); diff --git a/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm index 457c8acf27197a0b6b6626d75649ea894852c2b2..d12cb4711a1dad964d6cc8bd5177cd1b9ea8d7b6 100644 GIT binary patch delta 30294 zcmdtLd3+Q_^FKb-vzu(PyUBzkkc1<%n*d25ByuDK5EumHQb4>M8fP!v>T zkOAZrR7BBWz##HG1|L*V9>E(G6+Gb)6>n6O@4LEZHwmC0eV)(f_s1{1nx4L@tE;N3 ztE+ovKY!IX{{!F3#D~2+0GDM3aItZ(4kidXPu+j+#7q!epHiGe}E~LXmk2OjS4k&E&}OX)Z}ra#}6A@IC}iVtEU3FFxpdEQ?%cf)Wlwq)X>Rp zDg0D6Klwskm8Ck}TZ%+fxIXz3Sz%=Z;Rm`c>>HD_?M$PS%-o+O{HbN$Jes>XUK=)L z9BG9nrqZcBN$D?~u&x=1@BVE^Y{O9$0kg4N;{3Cm9 z#*hn$f7cOyznBW|3; znFrm(KUXVA24`;lNF~;M;&yXL#fJ~pbd&w2aIM1+s@x-PT;sN?{6ghdRBV@(_sIWW zlmEX_)iZ0fh`b>Zo+HvM@(+Dke@A?#-$iriZn}If?V~%yY;n7INIaq6BkmIqi#Nnm z;#YcH>=OSHmEvWwTWk<}#4BR6_>Eo=&x_Z^7V)ImC^m@-Q6*j!JH@NwHSwr;L>#9N z^nZw_#a8im@ql%=U zuh$>dAJ-qz-`4l)Rr)LXtNI)IA$^Q@J+xVRNkI5bO=So_;CXrl(JGoD+lw@`H$lY`v?5fuG<$ioPtu-UT2rBw zTfd;bwe=l-Ha1l`*^g7?r6sbYF$$KxEekfxsHo61f6jEqAgo!Rsv7N3eVnzVHxGQ=&C~Vzu}>vJ>Z5cyG6T}c3L>xG++hBmWL@%1WJU@ z6ei^hPpPh9?0z#~+wF#>1uQBL5i)|7m>Lc;MG|da`({P{fp`oc(@ZS4=AlwR?`{V2 zgcc5()R|_J88j0?CDiet&`!@OZfM2>S~y_(OwX7zg91<)fIToL+uqc^ZCt>LpwwQU zQ`TYYB01s$ldK(Y@uN|nYGl2dF@Dg_y0|>G{`p%qWKl2Fgugtd-)Xvy7T0qN9nYe34PA z7jsTt$OBs7p>4uPr+nr0aj_IpXC+;8*lpZg;6RD z^#u9$sV94BtLNwqdwA=vw8mc5x-I=+zuvlQvvn+ea=HW*+Js2Of@8&O=ugd}NUPZ8ZgVJ}3B2R}9( zHzq`Qij-p*9y6|-K)YlrU+u*h7vG+ z&G-_Y&t?K7)nA3>#vKFIj=|%O0m$b>$;~8x*iLr*< zGuDi693%i#F{uvLNJ*@TvBrNc*5qOh$^h%2MBC@0ZJ*xunFgEd&5(T_N^&RppfiHM zJHZ2((UB?T;UpejGS6!QWAL9*ZYCc~gn|NzJ>}tK`?_#TO14*pQ-=k45UdQ6SQ#X7 zBR^V*si1AJr1U zI$DAOu$JiPVMw}yM1UmaEy?sseUoJB42g#U@_QLqFAuUj9JIe^{~ziUyR1X|M!S@P zdA+XUw)Vbd&+HKP%+bkXcRwd>{=nw;M;)#Z$M)JiOL7~(dhfh9zuH#$)gEn@Ty}cQ z+qUtwV@p@8ek5W~FS+8Jef2c@1%)n<o6stz`xs7pC!>v5T3K}aNTFjEIp&1Z>f< z0UUuoo_sNESxE*EQQGH<@x9*KT@^ECg_M<(T z`j2Q)^XzB)^&a=K0vU70A1jcxXPn#Xe}&7o)$vH?0GqdP+`_nT|Z;jzsXeD9|mPRwq zdYwS4m3U^_pz6W}l2mclN&>0ufqg2oU9(|3#5^im#h9c@vP5_Lx3e2&VTuZ43qyud zVJ(Fz%^E+b***JqB4J1RHe+(F=-V=Mg1*hDqi<);9Mmf)?38}P?Dqy{*mv|x`QIU4 z)j#_6BRXm)4456kT9g1C7E;O-ru3LFMU`nhqb-%GUaL&wr7|s2%2cW}=n+~weE*-djZuMcagLuG%fVX1{gGstzlZ zN-xGPYFE8IQjC?y)jrEajeTwnd;O)Ge2=QclU3!Hy(oN3RqC~>E<@iW-y((5Yj)P~ zW~u8JOCp5;V6DpEVD}$>uGqY{YSr*Y#POC9aU9!QMqFYy9p!M=lcNk-wByPgS@gx< z-UiiQxN5G$n~Nu6V#$>P7Co;I*oBmc8xdj6 zyH=&9f+2gL{e0FztPcm|V&=0dU>^Id?`m^+_f|or;!?Eo<%!u`^RA{x2;`Tc0TnHEtnrat69BPb*K~QKB?4ELN=R%7*X__3NeeAlDM%e9x z68S@kZiw3gaVviDX^VEyi|mO94``~Br`5w ztQDbT00l}GcGnOg5jHIERO5&gIb`e=p%gF^Py0leONW<_@|=lkCcyJ2#X)Y7(Ht2yz6pY>JefR0J{NqCt^X zClx`8xagi!w1N!gR7?%`d97P#d%Qu%b_4x+0qiAv` za2y4!IBd`j@Qt^10oM|V^P5Q_I2l4ZZ}05)r?*fXh2JL1(XBJXc86O!D6XcvT-^(u z#$3JmmV8x!DJ0p=%8m=3zNLMW9T2Ib+6m*T+dF5st}hyk6uNf8?Pn;Z;}R02yZCl9jtO-Uh}=IXVP7p(H?Y1qxyopLkGkDH2uW?_yM$0;z+78Vp+;X)0eZ<=HpQ z2|#4;m}3sbs%MxOH@hp9GLR!{QVD<39^6y-WAUy_*)?BR<$*G3Qss<=w^$A{PfpmX=kDy2Kr`(m zry#Nmj#3`x4vvBEc8)>wc^qS4@NUU83_P#36a(~H+p&jN=B(GMlsTB^(HwaET$^bo zw}7D=Yp3eYMBR6J;9!e4PZu)@2Bw)RQ`pTY8&kHl|Lqht(SY0qZ5=+Da`~F3z1vbm-Qf*e+A1vyawvsadXDMQf*EbN!ZnZdvD(!)byQRwd z(6O>_7%V`*UbQ$}KOZ&@=fAnQWokWKvG{Smu_QgB25$5)XNUa{h3hCVHFTGHe}3r9 zSv8gtkd8^4l1 zg$Jl5@qj(bcpO^V_e5%SUzVTrs5?R?Flc(svNIY<-e6eRPD!F*2Z^#u`;}#7CzY`Q z!DXT4txhUqTaC*`EHAT8gvsU_$}l0+B8uMg^+7m2_z%sJ$+L3UYTugj9P~8~?X=Vf)P- zP9R5hx?Oh75Z`pw4_1YqP(HbV_EEJHXLYoPJ=`kTF_w`py4Z^!&Thy%T7{3I7WPo^ z3fV6`+|eGiF4JzZuDyLX;?e6`*!$LH*blAifW>I=x>WrC^}0*Nt8w=A(?XGs*d;?a z+am%&iV;E8_Cy3p!ET#VT@YbBgAieK15~OHcE!x+cuSKfMXTl3&X*@f^76(_^Tbef zq5^+UNz|EeRf)I|0MOOBs1x7I{_2s?-`H7!enuif&7pv7^2VA8BelAMb}7zF0Q6km zu=<#S#+!W11czcCVDhnUc^D-)y5@@mc*++h4x|}2oS4ACzW&kN2;=Otilf~2SqrdU z_}Kd$^@qs5Yvn=uKrWSf7?1hl+)^wM0E)*2(B)(K5j$Xv2)+xqQ}(wgL@LV z6?XRe^hT!3%bdB)_Nd>&w9i^!VqS%&YMKpYAd(2t+2G69HT%K!1(AA{lxKs9Ri_@G zxd%Lc)dRZIJ82$<31iBRVyEJ=v0&Sb?1sDlx|;sgD>6Sr4x3!dkzebAS^3;MrF=r z(q96PVj!ereef7HOidi}Lx%XE5fS?!A-Pz3E!_XOgS8rV7`R@8CEG+x&?11Q&@O1e z=SFZ_D&ZkJdqddcA4FuovMtrVVZ$=oX=gsMniB25Khcal_P!@BKiy+>n>3kE_jGJ$ z%|w|>?iX zbwo_f^$;JlFL`nSy;F7M$$vq&RsCbL;Aq=Z&k(Jvn*Q`tf~Gh_mr$C0!2$y?AVuWta0kt4}N9=9?$cn(7k4pgX^*~nnDG^W5)cnX= zu0~ULX>fIbFLvk|&~SM2mFm1#!V^{noVH4QGmY!G$#p~w-dvMRkPm-frJpf2R8D3RN5?grA!9t9UFd;Ut)* zNv03dg*y;zqIjy-)%-?O1xd(C$Q#cDBV%LLu4jdyC+*$a!&GhWdiH$#k*f>s-OmN> zPp&=-@zust^(AQwx3|YX@1v)yu6e#d2m9<5J15fXRmO`CQFLZQzrc9G^&9(zmsVgQ z{@bo6@PF3720>!S{OfK?UE{9GQe~@aI`;TC^X-z|O;PdO-NiJ=p0#@hZLLb!GfAM; z4X>7YP_pUGN06AduaG=51bOYjpQhUtZ#AYj?WJ!O;s0H4trWk;+vE4Ph?s0HVFvOU zLxL{XA!LZ|rZ9c|S&^7LCj+>L2L)8#TGOm&A_IaRKW}n)0&p&fh-za(iGYEN1~9t) z5P!L-;jDd3I2b)e<1J)Rb{B9@(ISwrBzcVH-bo0sC!4 zEfGzE?lBsZ4<1xRzEFUx2GIj90l>!%WsYauOaUA-k*~0T)v=yH`Xt;VD9?o7Ho?@@ zMK+&H2|l#**xTMNi5%WnQ-O72x8eif$1{3~3O&ByfFv#%NFu-)B8ebX8I(XR3F7{c z1b;w*$f-zh!uUOE{Gbw#7h?y}(r9E2jW z55HrO-~RO-GXlRl-{whB3OWHiXT~5T@^~e${g4ju8sdQ~MJydjxVeMdE1@{%oxe~c zD14cjjXd-fw65U3;&?Ggnv8o^ehbI1lG90?hbBU<5lJG#wI?zc;V-uWQ&nxO6ZLBA zTpQ&LrdkyhM>MQ83=_*p601iKACR#?f*g=l49LR0CsePf@bqnLLUltHp}vz$d46jq zgydDQL?&1P&ZkZGfDg~7$L!S~zDQ40jsK`z zNA0&i-QU5zF9EZ=16D-Q-9>TZK?Z`Q1m`}`QWaWAGgfhIYSzYs_LraC-DCFqTm|{sEbCn@1_?lav6p|oMGvcA3q zRGRknNnXpf72M;UGhznT+{QA zyu1m!8mbu}jzcg|7bjvK7~9h^H9hvIZ;P@8+HVBZFPXKb4NvV%|?Tf!aww=VWYK$PMa`(#J^l{kdo0h>|C$8wkp z3Xvx!L@Wm|&g3;n3+puQNh*9%GpuI(8<_uty&|8&x(RE2O3Nr^g2P zrt^3;|Lu0CU#DGc#`lQK>H%xwCRUPt!=kYn2M?#fhtMqfxg z8VwGza912&u=>Vw+;oiZL1@Mu!*O6Binrr`3#IN_Rl_XH#E9p)I>PS!+epl#mA^Hl z#dh^?t!SP7(QgCkh~4h^MYP?%^LX>pwNm_{4@w1FRzL2c8FyUd;Lz-lJJnU6Nd&^l*l+*rEnOcv=J;Y4jEd4>t9nqE^ zL6hqUxCQ}tW+IQ~J3k8Q6yohHq=C1ou;Hx=>{C5FZl(=V#)nQ{o!Vyn-jEzyr*OZY zcm2h&AF?#SMwWJ;ZYQFxuR}FR@lQWk#g;Rm?uDVjdPZVE)qKqI%_=?qL-W(J@f!4CwZ|)Kj5tQ z(mgqwzWsjBj<>h|c3hif#`W0!#M@6CS@7ceFSJ=RduW3pf5O`C42z=(z2_W=qvGEm zc78nNqSD#%)I}^h;LMGu&P^&mtl??zDp%7}sQGv*Vv#bwbUuow!MQaj+89vkD$kTk z0`GSmbT0JK6x!tM@=<=|h+63U#&b+Qpa-q+PkszR=we%Mll&V5>CwxDD}9(#xzKg8 zMW7s>vA31@ttyJjF&r_`%gk1^$k`pFjU3}U(f z_8)M%CQ)B{(3zb?O;h(D;BIRf?w>_=$}bskM)3tb4Q7S1e+9U~4ppe5m})$%CIFTS z7ER4ssf?zb++~O@*=Swspj*?}rOK3Dp~TA6{K-I%Z5=YclIZrMp6m`oRtOVA=`Jig z6&1!LwXf%A6VDJ7d#>9%n?*`zPh2&Gu zRvOcguEwM}(2#PtZd@ZeCs6s{TYvA22{@IR^c9bKRTlNlbYWs4Fx1>#rF*<^-IBd3 zJI&dWN!y%fGq5#=VmTvI>Z#G0RFE3o*u~3o_X^rzlQ@WJ)Rwp;3CWI-}I-A;Kx(&;QbiU_I&!)5JxU)MO9**fVoCYSG z`5!yW@TwYp;(TV()!}a#O<2}Y60UZu`KSi62Hwg$j>dlH<`5NRe$DkncmBs(B@h-o z9j)1ioNXb>pry_`A?ibplM|+JV`Wlf+o|5(!jj{ahLUb9afXKJs$ripwCILYb;wI5 zlQMen$l8d_0a?|0UNhcTnCif`9AfQayFH3+2sh#wH=reqyPf zA*V|&brOiL%_WoLCAsvs+&}Emf|0|$Hg8TLZqcVXPm4p&xaMH!_s)yWX(0XJWVN6| z`qAmrg8C0Q$`p`P$`ff|PzV?Q;*3L_%Z@ZPer);K8vre6R4|_K%EEQddkd_9pl*rC zFyoCw&Ic_hJK;NSi{wEkz9seT^>0pMj}RB|G30MK$!ie5du_-XBBg14hl~-GFg}u)!IUG>9m+e+Sn5n~4ZCBO6Vizk`!n<@uFtc{O2#YI$<@`0>|!Sdj&(~Y^##3DMI?sc9i zqV2SxdS)@L7tQWu8Obs=e=!L-3o#P8lVQI*8ICis9p&ZElk31JS;3tNE9ET76B%qO z$MT$&?I_*9q71Ng$7I6AZGlE2WD%bUECWF3*bg zuvriD=MZ941*nnT=rjiDbfavJH+Q2FTIhV$jWQTaLU-yF8(yW(uejHuH>x{K^@YwI zDtf#-b>=3AyHm^Th0JI9s(}d)JfDeraCG8>!x8RxW1-X5Qal)KQP?jl^LYXa7FyJn z@p#dq{AMoEp~E)vJ5uUjZT~4fD3$BB=s_Jh9@>K%yU6k@;YM`J6=$Jveh)AV=xyzR zkse4bRHMIeTJ&4_oU*YDD4cKJ;b_ZVN_i}A~3w#5@&c%*h2ua zvM1eH3qO(Jcj`rtaM5SI6wR}G(=<-c?~Q8_h+pbW|B6XNAPiptEZKbRo<%!3zTs@u%OhtKz8`YPxoV(7>b`*r zsmwvtj`PnRL_6s|Cu1<3!^yFODa`S_!K!)9VA{^eXbOcGvPcn=N6wwO`Mb= zG&hD+eSDu7qJ-$c3X(4U6|ndNle|o{PVCg{z^({`T)}jG~#`Y+P33KUI4X6_buo-KeSFZ$I zUpWl52b>GbX?{BwpoNt>>V)BIDQfnDFzYt5&aiSooV6eGqp_*F=@=S9{Wi;_Nzu(m zYz4sr_q1yDCT|gw;a9fysLCE|zXIa=exQZePq<|)&5pj5n+co1)gAY2l6`ySF2wm_ z99=-GonGVV5Tc?9RO+eJv7eo8QffTTL0HQ=6%!~w+5N-@AM|=)kvNqTC@q3rj*lJM zY#BnEGurC&0H7AX(aJ=V)mhx6$!)#DzVLQPcI)& z9tSS&G-u-^N}*Sr=O;Nx*trREvJcCXGt23A4VBg@mcGwA z#do6^{k?Dv^-6GoyzI5Rp3}rByOtU_-L55{)BjrP<*c}t`q5VB-`7%A!@n~zgM87% z_=kMtqq}FEs_TH?7U#X|FvAz^bQ)Yw%kW9J%Ihf}{CkW2q{geQRAKgj% zlc4ydh(5&t{m*)J=?!3Wm*1g-{0i$j8~|d6B>FdoY~p;f+`4fRzTpzWwK(-!6;B8> zz)1ohqKD&Z!k7{4T0Rr@+89fp1o6ay`M{viRjqIwOmlXT;Bu-q*{Ya+%gk#h!Dq}< z27P%jeJ~gNJ;2e5d1lDxjCqhUBU@gQ?2hA3teeaE8(0FzLpmGexMJHkD0*nPkbs?^ z%)$kYXqNm&7HZYW!X^ag2<~;AenB0VVUUr)8T^qRIiNUeCAvw{)Q8)!i{?MVyhyNy zPO?_wJyF>#!CDbv2*Nr2A=MD=Qn(Rug^UNzyimsl5Fr3^ zMF4bW86oK~1#9@Ugn7<_2KM72rd%+0_+w<4Va}23>B_99SyU~W;(re}w;~Y2s2bnu zOuT`zBkY33OX3hM%Rdzj{Zqqw|HiNu@!=P|1%w{?13S_3Xc1`gdqp6^?-c>_6N~yv zh_yZN$F6$wF#BSCLUk?)qtCF(F=A@P#H`G4N7j%yqx8TFwsn`5K-?nv*h}8c~Jw@{OR09{uw~AKaM5S+gn% zdrPNM#eR(+*nuTgF4pB))Emz$srO`g0D@zhTUgPmayb>nB#Wk<#Eb>I86ON@;1J5W z`X);KBgS|ppG3zfW5n+lor3z&R;MWXi;Ow$jWH(szhTTv&z_1g4IVr}co*$)_TEg* z{)kAY7}FmN_pgazjyu=}9xL&`8SRTZPBq$;6Gywl@m2isRQBG!K} z=e{`AV7tLM7(AVq_v+iH!;Zi;X1^1hL2W#^7B|r8HUnPEADnSBXey!)XVAdJM|Mh@ zC0J{n&NJx(-+Gz0gfnm^94VDEse|uvm8El5x+7-6hjHX%Cvz6HJ9nEj1)w-wV>a5_ za0>)<1Wx^M(FPaA11Yn3_9Dm=dW+=ML)9{bcTCuW8D~A=ESyCZuqhhdigU^8>N9Vp zplG`|PWW(CV70R3>6s6!IKbe8bMcL_s>DN`S%k|arWdy-)%xkIm<=YY4@>b^UKkZN zDq!kL*Qq{9-H7EJF0**$M--SOFHZ99t9Yn5zC4RdszF{eo{97;$3;hquH2jubrX6l z0Yf%m`e6{4hy7Sxa4Qu%2Pil8M+7C<7(`TMn7F{1$fv-Gash%X3nRhJVylqv%mn0^ z5=^a#0%5{R#%W+Jso>+|Lagy)VY!|5iX80k|@z(ZpjE16gbBB;el&BZfYi&esHWlPjMZO7f<+! zec_~stP1CfJE%bf0*db*{XF5ylWiKI7+b>q^`dwPZr|Qz<=ba0v zXV!--ki#!V_^)8mo5@m#03%k&E^+MypDe`qLRzd#tQcBffI>77CgC3s6$XRq*BL*D zLY?I^lMdg0VM1cKb;pT~iNq$cJ~E*o?o(HsKLbCwTjl0js7u@;BGd<+s*21n#Bm^VybSOjfm!3{HR7B#xuHJL&NvJofgf@S`x==d~e@JvcQ$Mr5oE5uowV--NX`hD{6_3>Rhzhs2dWIi?Jds@&8yr02j=KT!Bop)b;>>fZ&mbWTBy^BJw)cVsMU(u?y%g_^xEq_i7pfoQ2#$vD=TT`yNw7;i#uPII-;ZNu z;Bl1!^B*rrurdI5F<5M;>M8^5Nnl9JN*bm&E??CrI_^?wXqkZT)YeXX)knAu%-X(y zjtDB?k2(?DiPLmGHSvaUa^rKd=Hp=J8)wpdx)ssU`8ZLjTR#I~bWjVBvvi#A#wiml= zE%#%>XV@vb8#*5@qZYX?lk52A4!$ABo?*PigYaJ{Z%m~*-Ir5xyyEIB&iTu!IVgDJ za_a25fe3D(n&misf5mxQ6&_zso#NG34R>4^M*|~ESm1P{;BeBNpVUEG2sl@tO z=lxYw+^a(IlS|>W#H~-aRQAOam0R(-G@)>&s>~id*l?P)BMNHB{dA_-veUV16{g6O z_fs0A=ZZDd)H!%RHTBJL`*60chBqv?p7o5DwHbMPOVmlTXE9$5OLeSS+srI%d)+Hg=B@K>Ptm5qalKx>- zO@t+D5!1pQ?Ke{Fp#n7PV{JU#03T~(<@cH`np$3@X`QvC)_!F^@KzswTeelLAP)~F zsUD@83&-QEm_iM+xwzbd=PW9zOyQWM>dux2s1>#upFTjR(|i_tnC?I`q(k#-Io@vPC^JTcRPNg6eD14y{ZKC+pn>m{QkTY>D z)ZB>+f%7o6!9wu-!;};Mshn5yoFfmz{aLn-Oy`1iG?;Yf;dS&#d^MNC|9;UUbWbLn zVPGM&wktZ;LB;Fcj{YdMM3YvJLURkJ_oFl`0Yb5#eoq8rMxJHjEWYfZ_G&xFbp*-Y{u6y z;GNOyX%y(Qd%bi)4}MI#pdWmUS}PZHn)BIX_%`~&SDfU>sbjl369LNMq=~T9ojNSm zU4YIG_K}5V)jM91)cGglys)j?Qih9 zT`t#hoN35a7YvFyz1~#|E~`s*pDhIKSu6kKucPW$!PyU0U-(y4z24L7Qh|x60_M5Rnps{_10`H-Et67xmht6JE%skQ-P0GfR{(XRcLV*e{S98qii#S| zzxjgdcb=duJ#gNXQIn?>O}%QuxM5SA;-{!_+OT1hM_g6XzHr#YiDO3MY&+p-a(hK;&% zWc#v?9Y%C0E-Nb@ep>s}PAeH+GO}Zbl3`aCBfn_u=;4!xO}?&Z*x0cXMifn%Jfi5z zaZ}q&o}v{^zIw{k5k-F)(3Ghoi>5e>tEpw)pKa^Rsm4Nzugf(23j}HAOxaA?f4+~0 zo}^}_{Odda!Qh-N=;|-v*2!7+6s7)o-1a_29R~hcYQ0FKJJWZr%uO@E)IqBK=2hB6bz4+OU zy&rLI+D0v^Z+wQDVY_u*(>r#3b1X9OqVwY(%DZHov+kc*g=TJt-Fm@x%5he0$G!C{ zhm9UPYNR=Jf_cs4(Njm6*IYGW>?m{i)mL6QYO?e0b{g#reUADzKX2-l9eeRlRZSZ< zcJ#DZlkY)7~OcJ@svB;&E2KN39~7rU`_21RsKdkb;ox zh6ZjrfH(nx%l!z62*ElrmvcL=pM=m5f%CX7!{xU8%z@i+8HWfr;0oM`Gq~eagu0da znLFgpy$B2d#`jw_nt!&@Jl@c5Li#n7a4*sHt#0~|$IvDre?4hhW}WgQcs@(R_@fPU zPkjKX0FaAHzj_UAI^qjKr{X#Q%8}*{vp)sO-CvCJnFVYpkzZ*DbI}ylSdem`DMsJ z8?A?1a3*3FiXn)Bn>HLV3&4-bK>7{P^BBU9ijYtb;(0-cWT(O@5 z&6i?;eUQ(vGZ3O_7Q$HC`FKB-CeHC0T3=+}Ae`n0sD$T>1~SOd4Dm1Mf@ze7z<-Q> zMv52OIYJ8rrWMOPm*pYkW4_4FS|PD7 zPK{wFo_P|rMkqvJ3Hrn^xh=zN zgEZIYNtwVXuEvBLh(rNK#^N{yvVJjQ9wDb!J7Yh@p~`7^Y>Utip*=zegc1biUnxSA z7#;CkhQPRVM(BcYIzm^3UsDXN3F1ZwOxU@_Ope;|bi?x{AoRJ286}4ArX!f#3ZE9h zZvdW|qKqH^MJe80rWA#l%GL?#9!S^a+!;tm3B(Apa786#FeH?@$3*POibXyAe;ZFs zH8h;m94~F1XlT8FNpA$!MEu7hU-ysYn*aJa^fDZ}Z$Q)sA;}cS%+~rNM7hKSWP+ZJ z5d8!HCDlK1XVcwa5ziq0i?+J}&le(GgwPG}8RjQw$kT;|<`M*!u0?GPPz-;}1r98N z{KuVexSSLCi-5ym3ifN&SW;->g-4Z;S5tq9K}yovBGf_ACX1+P^&2R@xr znsZu~NR>Z&Daz83r+)5Ilr>ZZ{9~7*tdUCW$B$g z)f<|Ly9lSs-A$2Zlr`}2&xH;fK6X@U?$qlFoo5>1+@LHio1b?bp~gjJ=?(FGieCk7 zsD3uIQ4Byv1}gF|gf=M43{JRuDt@-JaLUxlqlS&k%5aXGqEUKTG{T3OS8 z{Gm^`MYBc>>+AH?xU%e~{8*8e*|^M%p;DhhA=4=ii*)CB3z4Xog+nUEKM$H(mUF@{ ziRQ|>8TPn_@o8nvlVd+Kst|4=+nQ-*El(`TlO-9>{szKFW!1NZ#Q^dDC)t=zPN#g) KMsM4u`2PVhgVr1X delta 28570 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
lEEr7 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 H#}xZNr+aEX 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 b05b93efe..28a0544c1 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 @@ -885badd4727639ad3205b2551d2b8406490fc05b72c684c5d17f09aadd9541bd +8c431ac710ce5b767bc8f15b93fbf02db7aef6d64656ca9ff92de92dc662e47a diff --git a/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm index 5ca3b5c9c4c52a08f25ce2ebed81fa2064d89185..cbedffa95784306630ac7adf43b430ba3537e85b 100644 GIT binary patch delta 22911 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 delta 20296 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 wXh($ delta 15269 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 foo!V|ho6Uik_x|IAM3&QF* 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 7d1c7e22a..c300b8de5 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 @@ -c9bb4bc3603d9e7c770cf13ad413f5b3a787e78dbeed8f41a3b8537c0740275d +58da8760b67495c4fb3d05f222f47884444c1191c67ecf6b2c0e8449687ff5c9 diff --git a/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm index 43c32455971bbea3b0fbc9e2cb490cdb76095729..b4e3e8f2735c09614b3ff02e9b2f71afd86ac7a3 100644 GIT binary patch delta 27240 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 delta 23505 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 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 8b5ca350f..69ff39593 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 @@ -0be22488fe8f20a59f48fc61089b3db791a5d723d71e4d654bfd008038c01003 +bff0a5b416c3bcd8e94ba8cf082843913067ec126f2ab4db45353db3b71e61a0 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 fcaf30d35212fcd9e40bdd881648d15f2fa4ba16..c57f5e9448ffb6f02b5d9352010dca04a5fdc2d3 100644 GIT binary patch delta 22779 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 NhF{A%tKB;1{Ws!0KcfHu delta 19693 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 C@UGJU 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 083d74781..a8f34c7e9 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 @@ -92ca920847c51036ac6dc7acd299ff9afaef9b4037e0112a0159bf50e822c7f3 +c58bf55470bd795f9e664ad3a8bd1173c863b1b9405d2e81f1da1c4039884dd3 diff --git a/crates/ide-vcs/src/lib.rs b/crates/ide-vcs/src/lib.rs index 07dd0cd89..9e59c7db3 100644 --- a/crates/ide-vcs/src/lib.rs +++ b/crates/ide-vcs/src/lib.rs @@ -8,6 +8,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; use std::path::{Path, PathBuf}; pub use text_encoding::TextEncoding; +pub use write::PendingChange; #[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize, Type)] #[serde(rename_all = "camelCase")] @@ -1069,6 +1070,17 @@ impl Repo { let _scope = crate::ExecutionScope::enter(self.execution_allowed.load(std::sync::atomic::Ordering::Acquire)); write::commit(self, message, options, &|path| encoding(path).map(Into::into)) } + /// What [`Repo::commit_with`] would commit with `options`, file by file, without + /// committing or touching the index: patches against HEAD, `max_bytes` in all. + pub fn pending_changes>( + &self, + options: &CommitOptions, + max_bytes: usize, + encoding: &dyn Fn(&Path) -> IdeResult, + ) -> IdeResult> { + let _scope = crate::ExecutionScope::enter(self.execution_allowed.load(std::sync::atomic::Ordering::Acquire)); + write::pending_changes(self, options, max_bytes, &|path| encoding(path).map(Into::into)) + } /// Switches to `branch`. With `create`, creates it at HEAD. Without, a remote branch /// (`origin/x`) gets a local tracking branch and any other revision is checked out /// detached. diff --git a/crates/ide-vcs/src/write.rs b/crates/ide-vcs/src/write.rs index 6262afe7c..64958f0fb 100644 --- a/crates/ide-vcs/src/write.rs +++ b/crates/ide-vcs/src/write.rs @@ -372,10 +372,10 @@ pub(crate) fn commit( args.extend(["-F", "-"]); Some(message.as_bytes()) }; - if options.partial.is_empty() && options.stage.is_empty() && options.exclude.is_empty() { - run(r.root(), &args, stdin)?; - } else { + if selects(options) { commit_selected(r, &args, stdin, options, encoding)?; + } else { + run(r.root(), &args, stdin)?; } // A commit concluding a merge brings back the local changes put aside for it. let _ = crate::preserve::restore(r); @@ -393,9 +393,13 @@ impl Drop for TempIndex { } } +/// Whether `options` commit something else than the index as it is. +fn selects(options: &CommitOptions) -> bool { + !(options.partial.is_empty() && options.stage.is_empty() && options.exclude.is_empty()) +} + /// Commits a selection of the changes through a copy of the index (`GIT_INDEX_FILE`): -/// `exclude` goes back to HEAD in the copy, `stage` takes its working-tree content and -/// `partial` only the chosen hunks. The working tree and the user's index are left alone +/// see [`select_into`]. The working tree and the user's index are left alone /// except that the committed files' entries end up matching the new commit, so changes /// left out keep their staged state. fn commit_selected( @@ -406,6 +410,23 @@ fn commit_selected( encoding: &dyn Fn(&Path) -> IdeResult, ) -> IdeResult<()> { let tmp = TempIndex(r.git_dir.join("openidea-partial-index")); + let env = [("GIT_INDEX_FILE", tmp.0.as_os_str())]; + let rels = select_into(r, &tmp, options, encoding)?; + cli::run_env(r.root(), commit_args, stdin, &env)?; + // The user's index still holds the partial files' previous entries: align them with + // the commit so the remaining changes show as unstaged, nothing as staged. + run_paths(r, &["reset", "-q", "HEAD"], &rels) +} + +/// Fills `tmp`, a copy of the index, with what a commit of `options` holds: `exclude` +/// goes back to HEAD, `stage` takes its working-tree content and `partial` only the +/// chosen hunks. Returns the root-relative paths of `stage` and `partial`. +fn select_into( + r: &Repo, + tmp: &TempIndex, + options: &CommitOptions, + encoding: &dyn Fn(&Path) -> IdeResult, +) -> IdeResult> { let index = r.git_dir.join("index"); if index.exists() { std::fs::copy(&index, &tmp.0)?; @@ -459,10 +480,120 @@ fn commit_selected( write_index_blob(r, &rel, &bytes, &env)?; rels.push(rel); } - cli::run_env(r.root(), commit_args, stdin, &env)?; - // The user's index still holds the partial files' previous entries: align them with - // the commit so the remaining changes show as unstaged, nothing as staged. - run_paths(r, &["reset", "-q", "HEAD"], &rels) + Ok(rels) +} + +/// The changes a commit of `options` would make, as `git diff` reports them (renames +/// detected), from HEAD (an empty tree without one). Nothing is committed and the +/// working tree and the index are left alone: a selection is made in a copy of the +/// index. Patches stop growing at `max_bytes` in all. +pub(crate) fn pending_changes( + r: &Repo, + options: &CommitOptions, + max_bytes: usize, + encoding: &dyn Fn(&Path) -> IdeResult, +) -> IdeResult> { + static NEXT: std::sync::atomic::AtomicU64 = std::sync::atomic::AtomicU64::new(0); + let n = NEXT.fetch_add(1, std::sync::atomic::Ordering::Relaxed); + let tmp = TempIndex(r.git_dir.join(format!("openidea-pending-index-{}-{n}", std::process::id()))); + let env_tmp = [("GIT_INDEX_FILE", tmp.0.as_os_str())]; + let env: &[(&str, &std::ffi::OsStr)] = if selects(options) { + select_into(r, &tmp, options, encoding)?; + &env_tmp + } else { + &[] + }; + // `--cached` compares with HEAD, or with an empty tree on an unborn branch. + let base = ["diff", "--cached", "-M", "--no-ext-diff", "--no-textconv", "--no-color", "--no-relative"]; + let names = cli::run_env(r.root(), &[&base[..], &["--name-status", "-z"]].concat(), None, env)?; + let patch = cli::run_env( + r.root(), + &[&base[..], &["--patch", "--src-prefix=a/", "--dst-prefix=b/", "--full-index"]].concat(), + None, + env, + )?; + let mut changes = parse_name_status(&names.stdout, r.root()); + let sections = split_patch(&patch.stdout); + let mut budget = max_bytes; + for (change, section) in changes.iter_mut().zip(sections) { + if patch_is_binary(section) { + continue; + } + let charset = encoding(&change.path).unwrap_or_else(|_| encoding_rs::UTF_8.into()); + let text = crate::text_encoding::decode_raw(section, charset); + if text.len() <= budget { + budget -= text.len(); + change.diff = Some(text.into_owned()); + } else { + let mut cut = budget.min(text.len()); + // Whole lines only, at a character boundary. + while cut > 0 && !text.is_char_boundary(cut) { + cut -= 1; + } + let kept = text[..cut].rfind('\n').map_or(0, |i| i + 1); + budget -= kept; + change.diff = Some(text[..kept].to_owned()); + change.truncated = true; + } + } + Ok(changes) +} + +/// A file a pending commit changes ([`Repo::pending_changes`]). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct PendingChange { + pub path: PathBuf, + /// The path before a rename or copy. + pub old_path: Option, + /// `added`, `modified`, `deleted`, `renamed`, `copied` or `type-changed`. + pub status: &'static str, + /// Its section of the unified diff; `None` for binary content. + pub diff: Option, + /// `diff` was cut at the size limit. + pub truncated: bool, +} + +/// `git diff --name-status -z`: `M\0path\0`, `R100\0old\0new\0`. +fn parse_name_status(out: &[u8], root: &Path) -> Vec { + let mut fields = out.split(|b| *b == 0).filter(|f| !f.is_empty()); + let path = |f: &[u8]| root.join(String::from_utf8_lossy(f).as_ref()); + let mut changes = Vec::new(); + while let Some(code) = fields.next() { + let status = match code.first() { + Some(b'A') => "added", + Some(b'D') => "deleted", + Some(b'R') => "renamed", + Some(b'C') => "copied", + Some(b'T') => "type-changed", + _ => "modified", + }; + let two = matches!(code.first(), Some(b'R' | b'C')); + let first = fields.next().map(path); + let (old_path, path) = if two { (first, fields.next().map(path)) } else { (None, first) }; + let Some(path) = path else { break }; + changes.push(PendingChange { path, old_path, status, diff: None, truncated: false }); + } + changes +} + +/// The per-file sections of a patch, each starting at its `diff --git` line. +fn split_patch(patch: &[u8]) -> Vec<&[u8]> { + let mut starts: Vec = Vec::new(); + let mut at = 0; + for line in patch.split_inclusive(|b| *b == b'\n') { + if line.starts_with(b"diff --git ") { + starts.push(at); + } + at += line.len(); + } + starts.iter().enumerate().map(|(i, &s)| &patch[s..starts.get(i + 1).copied().unwrap_or(patch.len())]).collect() +} + +fn patch_is_binary(section: &[u8]) -> bool { + section + .split(|b| *b == b'\n') + .take_while(|l| !l.starts_with(b"@@")) + .any(|l| l.starts_with(b"Binary files ") || l.starts_with(b"GIT binary patch")) } pub(crate) fn checkout(r: &Repo, branch: &str, create: bool) -> IdeResult<()> { diff --git a/crates/ide-vcs/tests/repo.rs b/crates/ide-vcs/tests/repo.rs index c691f2ace..e1e85ec1e 100644 --- a/crates/ide-vcs/tests/repo.rs +++ b/crates/ide-vcs/tests/repo.rs @@ -1203,6 +1203,71 @@ fn partial_commit_of_chosen_hunks_leaves_worktree_and_index_alone() { assert_eq!(fx.read("f.txt"), "Z\nb\nc\nd\ne\nf\ng\nh\ni\nJ\nk\nl\n"); } +#[test] +fn pending_changes_show_what_the_commit_would_hold_without_touching_the_index() { + let fx = Fixture::new(); + let base = "a\nb\nc\nd\ne\nf\ng\nh\ni\nj\n"; + fx.write("f.txt", base); + fx.write("staged.txt", "s\n"); + fx.write("old.txt", "moved\nfile\nwith\nlines\n"); + fx.write("bin.dat", "\0\x01"); + fx.commit_all("base"); + let repo = fx.repo(); + let utf8 = |_: &Path| -> ide_core::IdeResult<&encoding_rs::Encoding> { Ok(encoding_rs::UTF_8) }; + + let edited = "A\nb\nc\nd\ne\nf\ng\nh\ni\nJ\n"; + fx.write("f.txt", edited); + fx.write("staged.txt", "s2\n"); + fx.git(&["add", "staged.txt"]); + fx.git(&["mv", "old.txt", "new.txt"]); + fx.write("bin.dat", "\0\x02"); + fx.write("added.txt", "new\n"); + let index_before = std::fs::read(fx.dir.join(".git/index")).unwrap(); + + // The index as it is: the staged file and the rename. + let plain = repo.pending_changes(&CommitOptions::default(), 1 << 20, &utf8).unwrap(); + let summary: Vec<_> = plain + .iter() + .map(|c| (c.status, c.path.strip_prefix(&fx.dir).unwrap().to_string_lossy().into_owned())) + .collect(); + assert_eq!(summary, [("renamed", "new.txt".to_owned()), ("modified", "staged.txt".to_owned())]); + assert_eq!(plain[0].old_path.as_deref(), Some(fx.path("old.txt").as_path())); + assert!(plain[1].diff.as_deref().unwrap().contains("-s\n+s2\n"), "{:?}", plain[1].diff); + + // A selection: the first hunk of f.txt, the binary and the new file, staged.txt left out. + let hunks = diff_hunks(base, edited); + let options = CommitOptions { + partial: vec![PartialCommitFile { path: fx.path("f.txt").into(), hunks: vec![range(&hunks[0])] }], + stage: vec![fx.path("bin.dat").into(), fx.path("added.txt").into()], + exclude: vec![fx.path("staged.txt").into()], + ..Default::default() + }; + let picked = repo.pending_changes(&options, 1 << 20, &utf8).unwrap(); + let by_name = |name: &str| picked.iter().find(|c| c.path == fx.path(name)).unwrap_or_else(|| panic!("{name}")); + assert!(picked.iter().all(|c| c.path != fx.path("staged.txt"))); + assert_eq!(by_name("added.txt").status, "added"); + assert_eq!(by_name("bin.dat").diff, None); + let f = by_name("f.txt").diff.clone().unwrap(); + assert!(f.starts_with("diff --git a/f.txt b/f.txt\n"), "{f}"); + assert!(f.contains("-a\n+A\n") && !f.contains("+J"), "{f}"); + + // Nothing changed: the index, the working tree, no temporary index left behind. + assert_eq!(std::fs::read(fx.dir.join(".git/index")).unwrap(), index_before); + assert_eq!(fx.read("f.txt"), edited); + let leftovers: Vec<_> = std::fs::read_dir(fx.dir.join(".git")) + .unwrap() + .filter_map(|e| e.ok()) + .filter(|e| e.file_name().to_string_lossy().starts_with("openidea-")) + .collect(); + assert!(leftovers.is_empty(), "{leftovers:?}"); + + // The size limit cuts at a line and says so. + let cut = repo.pending_changes(&options, 40, &utf8).unwrap(); + let total: usize = cut.iter().filter_map(|c| c.diff.as_ref()).map(String::len).sum(); + assert!(total <= 40 && cut.iter().any(|c| c.truncated)); + assert!(cut.iter().filter_map(|c| c.diff.as_ref()).all(|d| d.is_empty() || d.ends_with('\n'))); +} + #[test] fn partial_staging_with_built_patch() { let fx = Fixture::new(); diff --git a/plugins/README.md b/plugins/README.md index 337acad84..945f11ca9 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -34,7 +34,7 @@ plugins/ ├─ regex-tester/ # html view talking to its code, settings, the editor's selection └─ license-header/ # file-opened events, quick fix, project scan in a task sdk/rust/openidea-plugin/ # the Rust SDK (host API, Plugin trait, mock host) -crates/ide-plugin/tests/fixtures/ # test plugins: hello, jobs, language-toy, misbehave, semantic-tokens, hover +crates/ide-plugin/tests/fixtures/ # test plugins: hello, jobs, language-toy, misbehave, semantic-tokens, hover, commit ``` The plugin API is defined in [`wit/`](../wit/) (`openidea:plugin@1.3.0`, world @@ -137,23 +137,24 @@ work), but 0.1 code no longer runs: rebuild it against the 1.0 SDK. ### Contribution points -| Point | Declaration | Code needed | -| --------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------- | -| `commands` | `id`, `title`, `category?`, `when?` | to run them | -| `themes` | `path` (theme JSON), `editor-scheme?` | no | -| `iconThemes` | `id`, `label`, `path` (icon theme JSON, see §5) | no | -| `languages` | `path` (`languages/.toml` format, see §6) | no | -| `runDetectors` | `id`, `name`, `files`, `command`, `args?`, `test?` (§6.2) | no | -| `providers` | `kinds`, `languages` (editor providers, see _Providers_) | yes | -| `secrets` | `name`, `label`, `description?` (see _Network_) | to use them | -| `menus` | `menu` (`editor.context`, `projectView.context`, `editorTab.context`, `viewItem.context`, `tools`), `view?`, `command`, `when?` | no | -| `keymaps` | `command`, `key`, `mac?` (`Ctrl+Alt+C`; a chord: `Meta+K Meta+C`) | no | -| `statusBar` | `id`, `text`, `tooltip?`, `command?`, `align?`, `priority?` | no | -| `settings` | `schema` (JSON file), `title?` — one table, see _Settings_ | no | -| `views` | `id`, `title`, `icon?` (an icon name or a package SVG), `location` (`left`, `right`, `bottom`, `services`), `web?` (_Web views_) | without `web` | -| `customEditors` | `id`, `title`, `patterns` (file names), `priority` (`default`, `option`), `layout?`, `web?` | without `web` | -| `fileIcons` | `id`, `patterns` (file names), `icon` (SVG), `iconDark?` — whatever icon theme is in use | no | -| `fileTemplates` | `id`, `name`, `extension`, `path` (the new file's content; template variables work) — New menu | no | +| Point | Declaration | Code needed | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | +| `commands` | `id`, `title`, `category?`, `when?` | to run them | +| `themes` | `path` (theme JSON), `editor-scheme?` | no | +| `iconThemes` | `id`, `label`, `path` (icon theme JSON, see §5) | no | +| `languages` | `path` (`languages/.toml` format, see §6) | no | +| `runDetectors` | `id`, `name`, `files`, `command`, `args?`, `test?` (§6.2) | no | +| `providers` | `kinds`, `languages` (editor providers, see _Providers_) | yes | +| `secrets` | `name`, `label`, `description?` (see _Network_) | to use them | +| `menus` | `menu` (`editor.context`, `projectView.context`, `editorTab.context`, `viewItem.context`, `tools`, `commit.message`), `view?`, `command`, `when?` | no | +| `keymaps` | `command`, `key`, `mac?` (`Ctrl+Alt+C`; a chord: `Meta+K Meta+C`) | no | +| `statusBar` | `id`, `text`, `tooltip?`, `command?`, `align?`, `priority?` | no | +| `settings` | `schema` (JSON file), `title?` — one table, see _Settings_ | no | +| `views` | `id`, `title`, `icon?` (an icon name or a package SVG), `location` (`left`, `right`, `bottom`, `services`), `web?` (_Web views_) | without `web` | +| `customEditors` | `id`, `title`, `patterns` (file names), `priority` (`default`, `option`), `layout?`, `web?` | without `web` | +| `fileIcons` | `id`, `patterns` (file names), `icon` (SVG), `iconDark?` — whatever icon theme is in use | no | +| `fileTemplates` | `id`, `name`, `extension`, `path` (the new file's content; template variables work) — New menu | no | +| `commitChecks` | `id`, `title` — a before-commit check in Commit Options (see _Commits_) | yes | A `viewItem.context` menu needs `view`, the id of one of the plugin's own views. It adds the commands to the right-click menu of the items in that @@ -174,6 +175,10 @@ command = "kube.logs" when = "viewItemKind == pod" ``` +A `commit.message` menu puts the command, with the plugin's icon, in the +toolbar above the commit message of the Commit tool window and the Commit +dialog (see _Commits_). It is new in API 1.3 (`engines.openidea = "^1.3"`). + Declared contributions are live as soon as the plugin is enabled — commands show in Find Action, menus and the status bar, shortcuts work, themes and icon themes can be applied, settings pages are there — **before** any plugin code @@ -227,20 +232,20 @@ installing (or when a new version asks for more). Low-risk capabilities are listed; high-risk ones are called out as equivalent to running code on the machine. Users can revoke optional capabilities in Settings › Plugins. -| Capability | Risk | Unlocks today | -| ------------------- | ------ | ----------------------------------------------------------------------------------- | -| `project.read` | low | `Project::root`, `read_file`, `find_files`, `host::projects`, `publish_diagnostics` | -| `editor.read` | low | `TextEditor::document`, `selections` | -| `editor.write` | medium | `TextEditor::apply_edits` | -| `vcs.read` | low | `Project::vcs_status` (branch, upstream, ahead/behind, changes), `vcs_remotes` | -| `vcs.write` | medium | `Project::vcs_fetch` (trusted projects only) | -| `storage` | low | `host::storage` (1 MiB per plugin) | -| `events` | low | file opened/saved, editor focused, repository changed events | -| `events.input` | medium | `action-performed` events (which actions you run, and how) | -| `process:` | high | `Project::run_process`, language servers, debug adapters, runs | -| `net:` | medium | `host::fetch` to that host (`*.example.com`: its subdomains) | -| `secrets` | medium | `{{secret:}}` in request headers, `host::secret_is_set` | -| `clipboard` | medium | `host::copy_to_clipboard` and the clipboard API in the plugin's web views | +| Capability | Risk | Unlocks today | +| ------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------- | +| `project.read` | low | `Project::root`, `read_file`, `find_files`, `host::projects`, `publish_diagnostics` | +| `editor.read` | low | `TextEditor::document`, `selections` | +| `editor.write` | medium | `TextEditor::apply_edits` | +| `vcs.read` | low | `Project::vcs_status` (branch, upstream, ahead/behind, changes), `vcs_remotes`, `host::pending_commit`, before-commit checks | +| `vcs.write` | medium | `Project::vcs_fetch` (trusted projects only), `host::set_commit_message` | +| `storage` | low | `host::storage` (1 MiB per plugin) | +| `events` | low | file opened/saved, editor focused, repository changed events | +| `events.input` | medium | `action-performed` events (which actions you run, and how) | +| `process:` | high | `Project::run_process`, language servers, debug adapters, runs | +| `net:` | medium | `host::fetch` to that host (`*.example.com`: its subdomains) | +| `secrets` | medium | `{{secret:}}` in request headers, `host::secret_is_set` | +| `clipboard` | medium | `host::copy_to_clipboard` and the clipboard API in the plugin's web views | `process:` capabilities are also derived from what the contributions start: a language's `language-servers` and `debugger` commands and a run detector's @@ -349,6 +354,7 @@ then run `openidea-plugin check`. | `Project::root()`, `read_file(path)` | `workspace.project` | Absolute or project-relative; `..`/symlinks escaping the root are rejected; UTF-8 only, ≤ 16 MiB; unsaved editor contents win. | | `host::projects()` | `workspace.projects` | Every open project (for scheduled work without a window). | | `Project::vcs_status()`, `vcs_remotes()`, `vcs_fetch()` | `vcs` | `vcs_remotes` returns `(name, url)` pairs; fetch runs git, so only in trusted projects (call it inside a task). | +| `host::pending_commit()`, `host::set_commit_message(revision, text)` | `commit` | The commit being prepared in the calling window and its message; see _Commits_. | | `host::subscribe(kind)` | `events.subscribe` | For the session, across idle reclaim (an event activates the plugin). Or declare `on-event:`. | | `host::begin_task(title, cancellable)` → `Task` | `tasks.begin` | Shown with the background tasks; `report`, `is_cancelled`; the call may run 60 s instead of 5 s while it is open; dropping it ends it. | | `host::storage::{get, set, delete, keys}` | `storage` | Survives restarts; the instance's memory does not. Deleted on uninstall. | @@ -395,6 +401,45 @@ a new API: an IDE refuses a kind it doesn't know with `invalid`, and a kind newer than the plugin's SDK arrives as `Event::Other { kind, data }` (JSON). The SDK's event enums are `#[non_exhaustive]`; match them with a `_` arm. +### Commits + +A plugin can work on the commit the user is preparing, in the Commit tool +window or the Commit dialog (API 1.3, `engines.openidea = "^1.3"`): + +- **A button above the message.** `[[contributes.menus]]` with + `menu = "commit.message"` shows one of the plugin's commands there, with the + plugin's icon. +- **The pending commit.** `host::pending_commit()` (`vcs.read`) returns what + Commit would commit right now: per file its repository, path, status and a + `git diff` of only the included changes (the checked files and changed + blocks, against HEAD; 1 MiB in all, then `truncated`), plus the message, + Amend and a `revision`. Unsaved editors of those files are saved first, as + Commit does; nothing is staged or committed. `None` without a repository. +- **The message.** `host::set_commit_message(revision, text)` (`vcs.write`) + replaces it only while the draft is still at `revision`. If the user typed + or changed the included changes meanwhile, it fails with `Error::Stale` and + nothing is overwritten. The user reviews the text and commits. + +Both work from a command or event of a window, in a trusted project; they wait +for the window, which isn't charged to the time limit. A message generator +calls a model with `host::fetch` and a `{{secret:…}}` key (see _Network_) +inside a task: + +```rust +let draft = host::pending_commit()?.ok_or("no repository")?; +let message = ask_the_model(&draft.changes)?; +host::set_commit_message(draft.revision, &message)?; +``` + +**Before-commit checks.** Each `[[contributes.commitChecks]]` (`id`, `title`) +is listed in Commit Options, on by default. When the user commits, after the +IDE's own checks, the IDE calls the optional `commit-checker` export +(`register_plugin!(MyPlugin, commit_checks)`, trait `commit::CommitChecks`) +with the check's id and the draft. Problems (`message`, `location?`) stop the +commit and show beside the message with the check's title, until the user +changes it or chooses Commit Anyway. A check that fails, times out or lacks +`vcs.read` is reported as a problem too. + ### Providers Declare what the plugin provides in the editor; only plugins whose diff --git a/plugins/official/ai-completion/dist/plugin.wasm b/plugins/official/ai-completion/dist/plugin.wasm index 31eeb2c1d1955aa10bb733f18035467266d85e5a..3c75ed13401ad08b4981f4cf75207f0bf57a59fe 100644 GIT binary patch delta 47685 zcmeFad0-Vq5(`IBe`rD`}V|$OCP&#qK`0*88I(O^b%L{}?1lp1j6N#Hl zr+u$rgK#$WrGOC}J$dqk$rfeikp371XP?W~FnR;52trJH072s9@n*Bh157?r1Glvu6F5Tj+H`G0d4ddh#V>FC8_$)7VQVUN#k|#>r?Ymfma@H0u>C2se|Z8YD{r z7cV=rK%6_mjG~FDnZp9I!m{aRlgQXhHJ;yQo?{h~;mv5+%IX!2d3!QjdpAXU>$Ilc z&S<1@uV5kFyf(uaHRTdA41;Eyt-ar(--e?J`QPeKv)o|bhQKp{tZ>*OD`HvUa5y_` z;-6)DM>cYZyy1=dch3z6gI1&onUM%(hBHw#hax$VaKI!oO%ykX!VxQi>@WoaK|l$3 zZ#Qb+&7h!ZnL++95X=jhfuPmAMI;gqqn7*+)%kxprkP_%@Lt!(tqXzyG6N`-g)%`a zCo6({|37bR<9G>rLue>q1&N5ETLxK{0mLkBiO9lV{3GwN#^)!3fp9R8k3Qsvxr3kt z{tE{RjIb3778JA$1R}vmBp5_vVLSjWlW`_M;Qx>u2pUG96#!49%PtFAWHb!TG214{ zt*WXuq6x!&>T~s!AH*pp|B-KrHy3S`>D7zXbH0AA+NdgR(fRk@qrUH5uAZwl=;u@F zIp==$%wf>A~-SY1@tIu!pjFnhpWqe7*U7q@kwJk7xCLMS6N&lr2XHXSw zH501?ztfX6!>lr|HTTmd^I`LLbBp`^;)jU#1Ynk$@goz~sf66=0zsdc?|uXUR>$NI?h0yhO7w^m!LtS79etWT|fTAx{; zTmQ1Yux1CU166@r1M>p&1Gfa84QvQ33_KaA2|OLx64)BJKd?FQcHr-Uw*qelGH?5D z_?dudM7ISgl5ogb9c*y~wU|*=Rb@CKcRx+4>|{U)CiTmJ4sP6;U~# zUGFU^Zr64G%TGMM<6j#dnvt081WK&DzW1+q^sOg9oVlmt?CK%?vP~!8Mk*bv*fjW0 zz<$K*=v1DfK)g_=MK|DP*>locj|bf6m(&6&wWdYv5)vIkk2y6_L+Cr7~8)@%5_}#2%Q zIN88OsMqES7gX-cJg@pRqulHX7%Pc;0qBo=tK&z}%iiAj2ztmHS~#J(k8qV)X-kAr zkUO%)d#|v&X4SSEye38MX`@$B)CQF=DsoYIMNvtirq`R~1Peh{rrkEY1H>GvEHk$d z2>C-%ahthJbEI-32Wyb&yTxEX?jm02nUzIMUL*R2NmfF<{suMkN{dI=k?e~PE7{o~4MT`iN<`@oL=?r1 z=z-&5W4mr`BrNyPL`T&nQY$g9SXfw?W0;(9hy?#f>PeZ`|`XKdc?fE4uexX9oL~<9i9TYy4vc0M$WNV z#|2o&;ScM$jqTcatvhDN|A>C`E$`O#x!(C5uSntf&yGbc4oyTa-l;P2M_{#VS}EDI z{)}ucj+&I9YYOGqaCaEv;$byToUmh+nOS&1(M3$}jU$_R@y=y#QKfFlba&lZ%ZfVU znC@Qn+SJ|vJPjvYY!<~$H_<;k;K;8o3<_^0X0dli=d=2$-aMdch3$n3Fq9bzrN9AD0?3>#GXW(xhADy( z0aCDTT(al-#43&jCCyx7ih+6^V-_QiDaf&$kYn;}g38Q`JjIz@Jc4Cr!p;hE26*MD z{DL$*(^%wK3Oj&JaR>7lf2DD!++>dN+?EvvTz|SKR>Wia0(=1`iXuGiN+)5u*Dqu; z$yRNt;F?s7}Sf>MqG{ zf&TM#zd9;0C}uHm=hpA+$7!8aTw-aI+-Hab_#LA&9x1mfv;^Q0QS!i=APdBiQrgj; zsb*UjLo&g1a~IshBH(5-I0$C3nP;z+vTe8tHj|{3m#TGp;ej;h0$FYCb* z@%lV!;mt3*AT`tNFDt5p5FOH7Fj6y_@dq=RcUigfhjz<)P{#2@Sx3+8>08N)`)41P z`$-ewFCYX?KwU%by<^InV&pSmkO zHPcVs^c^sIY17Hs8x9dp(7-dTP7XRTq)f;Cj6(q8L5+;=e7-q*Jkm(4r&j3boXkzR@# zZf<3qw8ly$I(4OZ*|7y$C!meZ$9|Ohc=))%x$9(u0bakY)vr6eF30!wj_Wr;jV2f( ztje?GOu+>)QvlLy{jSx+04;mx_Mei1`)>c^GoF#aEcBxI_%Bmgc?0@2*dVh^-Ja=n zKK@8=#eka%BrRi@Qq*h&jGmJvu_nFV8#*x8u2mJ04QEENz0JF9;97G|wbyY_^+}2{ zW|A^?W!%)1(TQxl@kDn(I!vhg>E7>y^4#Pg2V&4Kpg{eqNX*l-0nf1qKsj^pjj67G zHTX;jLEjUuqP5<$CtTfJb(dgtV#;5Fr`x5{A@1vGC-$S2-l7vPLCMHT*Q7w)eA4t@ zbvqi+eGKT1Tl(A5-(=5|*pvOdckIcr#6kL$rt!FF^b|P{LIMvWT8EN1vR{(CAuuM- z-lhrG(Vr=YkeM)H>J)po3~5|X>(-~MS39I2uAqUQY0yCaG*rFchZMH1)0=3t{tSLw zk7gNL6<+pcZ{*O92XESw=$iHmXu8=+$0$~-Ili7fz!tRui%T1#V17DEl6uibsIQrT ziN%|F@?hHGy>@b!uIqT=6>Xr!B&`hBOC`@%#It{$;n}AgqZyVO+>q--R;@#h6vTri ztL|}`6t1da7W0%&IYv3XSkBW@{Y2jsIz(I1=o0bRW@_T~aa*t=JJTHWI2XS^aAYq{M; zX&YERqorlT~b<7SDEf8{_R)y>HGbrPo%s9R4j? zE=^h;J+C#T*t>d!~H=fV3 zLReDEJS-eJGgoKkab`g>lfNAP1D~iWuZmab;>U5`0M7F&E-U~7=gPlVUf2Wgt1fi# z_w@@~;_r7Cmf>&P(N0*k`h<7l=$7c-xY0geqV8O9A<87ze2Kcum#C}w^3TzgVEaiI zHA4q4x`-*d;G(9~1a$6g|51b)#Xo8jXhCBblhzjXSo*ddcpvyG6k-HmfKeal13SKO4u8bH|T2 z+p96EXDZN$J^D(^)YIru@7ZBpfXF{CWq!4ukdME8CLDpk6DD-W-{ljW-jYPXfhyx+ zCj_5Nl$Vnsbj=MUxe(}NILrl@wMG1=SaRX_2~6#RiO084bjF-!SF-1gZ4JhWS#|Zq zA~%`cy%JNl76#IAAIYJCViPuZAKU61}yl|auTNRORF`<#mNV()EIDu;X*850bX>^ zC49iwGKZh|u9jI5zf2aFS*Xj**Jb9ROo?U3;HH7nk9ogN&PpuTWtQqPn7EPY_;89C z&MIAIr7p7qWw6Ns#}gjiV&$qR>#s7|JqQa2+Z?-DAY>{)M%{w(5FakH1zn23B%%_tmb{Or7GtzUE^Db+ zkGf1Sa+d>wmK3hE4j4t846d}wEH@3+?0SmJuB?$>Ns?;dn`E<~o9X7MW=lX{R8!6F z!>h)i3czgcu$$oh8jwAc$5f^hQDX`^J#9=eb1Py@Gi<8hFZ6&$Qqh|r|EUz!ktL}V zCs1zHGBXvWKaj5_=8$p|`$ui?C9$-2>LSehFY(T_z~2=N$Qv}R)1ZA^0POyOpE+gd z8nT(+l6XEw;BXA&F9E+{{-Q`Ry63aH#9Tw=)++D$Y4L;v2l`5IkfuX}1F;!gV-0R4 zD#^-7U2c|JToHXV=duU^zd8JbOM*G}8|P_8R&#pea%&+!O}Mn?^NZY_b&cbD8%y!2 z`=g`{l(aW7U!kLR7;ePZaArm79|IraCcw7BYo#ip-Uf>z=mJAmiTr6fAu_E%FoXr1 zEEKm~W4J7*dE$3xi0Vy=IUcHkIvG{Ov@AA<$8z{FG6tb3HZP1pB8$zbu?Q39@>ni^ zjp4RZwyflG+VM5A~6OzTI#+uKr{BMX?@8__Qg7|FTSwV z?@JZSL$($!Uov&av8&O5l}Q;y3a}dhDmp=(98)^dfgZG;5sxbD%@Q+rKW?Ju3~8c=Y<%U)IMsUJT-j6gKcbmgtoq;c zs$NaiC@L`xB{{sG#TBnRNEX)Dob~oq9S*3Kr?Q$&?{!9ffR4-p*Z;$-45`U12a1e$ zhS39_D|}b7`X1(gDp{9eS?fJ8{Rnf}OwsU4YR)c)pQiT`-*ljSen0VQHZNvg&8Eha z^6ytNrS&yzrBz%bt+#86@qX4G`NtG(v!#!7LkEK6xg@4>`H z^rUB3ogx1=@upWT*XFh*4J^xjGilbzI=(>D2l>pR5PQl;vJWA|J55L80S|gl z_0?S!$KUQ6I9KS-&8bFVC#fR#Q>@$|_@QF+IB!dJQC4^Cpvzs8klWMyxw=Dk&tyW0 zd8F5McI&1rj0ztmI|zk=qu9G(c2Doi+0DH*v%7oku5IqowQaqr*XDW0T-&1wBs;wZ z)N_ed>|KBD>As2fMkr)Iy9 z-~(-3hzAOd1XPS630g5w0U8do1eH%?%OxU(aP2IRILe8`AcR@ao5+Fr%q9rlN=ytp zJdwxRWH^Km6AYq0*g_6Ul@S8&Rw8MO>;6PiYlw(D9~MMJt|8<&(zvCBOZI5Ev}*B+ zX}6pWTKPI3bHR9iErwGG!8$4xNL{WHfoK(q_Dps6c_lQykn)pjJ6ci-=cHy#AmV*K zr_31xSe8_0BN?icW+goUU1AyD(bu;xtW$`k?0|9+@5bv3>Xn23JD{BHy>fl~f?G?(RZ2~NA8fh`Po`2-5xWWCCIyc?z#jfu}sIRj0Gff zG8}7MJm`i8^E?fyuW%q(cnd(4Sj;`lX)=;66JqNU(&c_4)(~*w@U+EconVZl!a*@jX>y82t3y(b5h78T^#I^7S;}#H{jFT}MGW|BNPKdJc&Csorv#}Al^QO`S zm{5tOhSZ2IO^#*jS93CqB$aASjx}I(WuKxQ4TA;l1b}9ng6$5Ds8dKrI~n92Gl?f_ zxAml0P*x##1So)!6`JYt^v0WMU7R@r*F^Db5Ssp>N;d>d1pbptjFb5Sy(Pgl3WOf2oIvJN{NBA)w>l38T$KsNo^9ZIYo=}}qZV2`g zlgcp%qHB1-#>)yt9oVy#;E!7|ARA6}nJyQnG9w;f)tqyUEGT)Pc$SDYL@Jop z2#|w{WsR8N4JWH|4JH44RyCBRB&!-ajU=liG{2PMQKK{-0V4}uoa_)J9WRpEh@~TR z0W1k5&}fy-AC}9^uc`_R%vbb;lu;HNaUj7GiZ_Icjy2|wg#>FIPtd6eKYcn?Q@p7% z9g#Ra-ppyt!=cH^*>JNIn-k-33|GdQyM~iDF4n?n$cdLH;`!rZ1w2EJiM33MdrL{W zu7)w^0mj{MnmG+CW6eM})NbfBb@KTCgY)A7cs4-shJ*7V2e}S}F^IBwK&BPXP}z2x zRf4n4nT@E&L-FKnW>mwIvlG}~;ISA)Z9I4c0ZA;y5bDaYmj?U_QGm=x^G-pmDaUl^ zA~v^!7(x_+yaahv1|jZj@Bt_Ny@ zNo`d!sr%9_#LOB_bEb78(3(le^pZ;%MHWfhKj`!E*`^d5+iA}9$zv4^K+@6*fpefb zJTIE)h%-JU)tfs73Xy}*O_9yO>|1>B8Z!})#ab??Oa=V6Lkx*+%9 zHFf+?dd(NT4;PerdAHvS-~IaA^RP^M>-KSgD z*cpmd^Huch>x??9;*pr$`e$c@nNSTA%Pn>^v63jaV5IWf$a0IdJsYe%Bgi!ee__qx zVn*>sh;A{zS(G=sm&@e{n0BPB;$pfO;7wT6>_*Jc=5au-D72Z?}W4jsz7h4F6ZXaA7G< zzD>pr|9MD>|9hbRCrF9^m-|;2DR4i{dUYdiUcwLD|7&Ec12)OAWPo?beM~wkb$~b3 z5AfzKtDqA>#S+M@yF`KWbq%|(vCdIo-IY4iYkB8OIZEDsP!qr!@B2G9G*n4`jGz6? zOtH5QHMUJ?P2N?IOH{I7_WpU-5n8t(J-}WG&SnLz8iJleN+ixR`K{hDcem>!A;&|h zuvi)3%H<%E$q>M2P|P@>wPkmAWY@;_yPM@D9q$2l%%>Xle!sifQNOaC{#XWt@2WEPo-}5*>7T((q zkJTIRok)ZCFk%g&4bT+mV%p!U?}qvt0jvL3DVQBm!v2r?vQWoPm3f+%zTUX|-iMQ? z|NUdV+WUtjUXlJLzyw$1mV&*NQ(^{OZvHN+V?;L*g)kGc^DR(Hw^^_kv&O@2%NidK zjf-KnX9<|7XnVt6zWG zZ=C6^d+@%-bs`z$lv(3VeCSxSW`@|x&cN{xSFpf8`fwlm(fjJ*kF<{1HdnT}PPM5M z=ia0ey{}ic<5-^DN6ysxW4E$x)_GSv!a1w&c_creB9buLS1+$+sqcX?{+lYdz;>2(dlK|3U-V-VdD!8S!>Jada0&%ekswi_`msnej`7Vlg1ER3#RyK6-U$OLuR* zriORrlbeo`fZ~Sx)_t;DT^z$*sR*;64phTkt4cU1v0j((uBh2brg!$bqw*9&OH_tN z=v|UWHkz*9yzVBmM3<<;ina#mWx$wcYOyXth{;;-n0HTUw1ZoZMstv?_&meAasAES zFV9pr{#gxtc&&;cQ7CmAi7w|+t~dReYXTVVG z)5bNjrkRTAjsD_&v|)Ofw-ZhGU2oL0S0vv*dG=TxRyoh>@Z7*;`c=;zq3P%;f><8a z<`*Im#dK$weJFw$Lx8g|sLIS-bkA3p3%p;RYu_c3m6?`}I`I8rJlP*B)JiO;Z(=AP zl3;@xx!%y)R*7189WkxgJ5?dLSTSCqpDN;zwf@Uj>Mipt z4#%)Z;bCl!L!S73WYRJ^RGmi2O8v93VB$L7{@T`wTqp}@DP9k2j}#>P zk2Gv}Re`*0M^1;1;I6@mH5W;JnSE988dl>&;%mCUK{tHD*qZ1Jx?^@ShM||gvzk$b z*r$W#Ml9$p+SodAGB;jgAfSDKdc#Hs*OO|zT9bk|L_hUOFo$ATxMMk4iM{Uxh9&zp zK+Y1YqTGKQP;NwInsIWu(Exy%oq97LkzrC#N`yP7VVuGh41f@TPQzni#)YLDUvtPC zwJDYXY}m9yIKvH_3NnFC24_~2_vofpiHT?|qud&a2S_^{k4SH07=VPNg9MQdNCK{~ z*7MXGtaau9(uTo;$Kn=b+7F_mOYCN5wm=l@rQCn!O)3`+WHEA3`1V>!9?Kj2d^fY! z@UD5jtwaS-vFA8O!5^UTVoJqKiI=P_0dBmjUFm#^ePy=ItUzq9!r;` z8!$^GF$Ib^spF&Q<|4#nzU&RhRdR87mNDhXUi0c673IDerAAd39#sIXMipXa?v?K*eOL$6v}c zR7!zYviamAo>uftS|-skh)hgcmWDD=um$7ZtF#K)&w3AUE@<8C=e{_qiPW`h)o`Rm2qQi0*52&>{ly-->J~K#Ydy^#nTTsaBVb&> zAKc+3Cs1Qj&>OlxH-U*M7P2ZZa>=Z)cxYk9LihPaYHevR1ng&hg8F=5Gl@MAY_4PQ zu-y?xH{uzEH?r1dH?f>0+0hFVgvU4fCTGkbkA)!0YE)x_CyZ-*R&tqW^#7+mY++Ep$w8^_*{_VF z=e_B#9MM=U0;D01eIZD@z17?F$`s_5Z7s!MxM-^|udDXD*Y0?MkUjW~YiP6g${TUKfAfY2za(KB-YwgjF-FV(exnlui&BIITa%q9Q~W1$uqkZrkDGpl)F6RbpImsfhr-fj)YauBbv zu*wU$)1~|ODBk5W~HZ7{!xCb zax(8s%}(!sRBlUf?&4Hp?BhKe4G0Ri0izyblwPEC=SW^|-MX_S-S0iNvuOt(Ct%F$ zZk9gK$COo})h%~P3V!~sl0x3+0yzWH*6^+Cdy-{%WO);J#Rkg#FnC0dhw6sWHXajD zpkFM+vzUYZCISpgZh6!RDad#)LbayoFFO~P#Su39o$}o#@j^ze#=F3lNO?7EB|A zH{>%Gg%3XKP@p@+jmTn#`$UpnD9}G}XP81*gf;eheIEa#X8%X2^e+9V%sca69UUb- zu-$x#=E!5Wj+}OB1@)mUVMwHQ%%_Xw-hcfN#2PqJ>3#KuqYuz6N_L5v%ywT-X@N=a zNrXj;z&m_tXGFTi%Ud_6*DpQdqc0 zP-E}?FN>7tBsC^j*y@alV{+9%tSeVuY*!o4+tosO;UWEcNI^}xs&{y~OLi0E15PN) z$5I>Wp9lWVUAcWZ%m52b4B;$TZ~%Ze9-+KYXPXe!(QgbT7}gjMaBihK%~oLlY_IEA z<#3d-Gc1hxfX#J=#@p>!9cR@Wc$ilL8Z+#wNcv%ng7Qh*H@$r|jx`3{xr1VWIS8W> z?#%DLYLc0vkC*dxZ}^M;zZ_qsJA32GB5&t^a6W%Us9+7ufd~hu*>D1|DQM5zPe+1ELp=dLuq7vS9Ce*MHVi zk8(C^0mDH3rApRe_hR^VUOn*Jg+w*0KmD#PWlNU{ZMRs#sNzNj8V80 z&>MJGv38LTP0#`B;~>uqN(RwCq;aQ!6r7`I4KJ|D7SCAy*1tUy2OY=$*cryw!XNKQ zyv$>l_mv?VdaSKfPP_Z6kt2=FRMrP7E4eC4tF`{nS=;JnSxF5ZUF)s-=|a$}$-eoy zno#IPa@nxd+puqoH}~fg16A-Fc^~}TKe9&RYel_PKj*GK`j-M+k>qiY>)_SJ7eZ#pLRT`EH!DTIbjUqpcoOtR<#!*b88ItN!xBm^~5_ZDv_;LV0R1+cMt#h~Fi4YRZg0HiXJkx8+d6Eo>f(x=@-i!9npKZ>ku>a4w% z+tdPMofwc!3+N~DaW)kfXvZizhHz}Y9)c^m#oP%C9g$eEM_X>k3q!?U(a2 zcBzc~12U>N$;Mk8ka3sFXkI4+cUTy1jmpWYlfxO$tBl46WW0T-j9n@t=YSeN9Xtbf zn9P1&B79)$x2lW-VcmVGj7L<)f%w*{j01_1cwglleE`A>Uyx|!9+0t8WpqCvW2egK zctFP7%@S160U4_{pC)q-?BcVk%7Hz3U1by;0P7o-!IC1TH>7fXN_qE9;+ck2s@Bo4 z=4QVrTP%kTI0l03R!g53Ugj(3*Lu;o5%p_0yQ&KOznT9+*TA+FV;fP+RxjPbwNV$x ztnXk^jTusN!9v18G_kx9#q(e0^k~|S=z7&8c0_AFX++=o_cE*&@8nW3tzFQBmNrtB z+HN@tS$)`dh$os*(Mh-Ba!Q;nYIczYL#-SyLVelgreAn|m@Q zeCT)_4cCM5BiTCk7;(>=XwsC5$P~SsQj3$ItTBHE`|e-)Y2XajhHOf*;tjBAVe(?i z>YI5sucu@rC%#Sh8rT%vh`~r!LVx-%SFMY|T%9)M42LFIVd&;l%YM?BVo z3J0eaYSSI-v`3~t5Qo#hg!e4qOz&%)!YP@s-7;Y?Wjf)$p*c?Uk?AT@({y)`f3FoI z+CHB;9)RdhA5nB$BYI0dRV5LvMg9SZo?Jk^>7AMz3g}%^Z+6{ZGqyFIO4voMdDfu_ z(T(Dz7bd3S-K5` zHlpne%qS}M*uVQkp2Dw}80{mr9!vRYpjH-A!Qg{dRELk%SwhuF-E;7=T?_KFm4YEX zz$hVpDa3ruD{t5VuvFoK!7L1`I*b7iqZl?P5+dLQ7J8MC4+MwvbyRYyMx3yd$!GPV zC@eSVk$_8-Fcm|7ag_^$Q^#K+!*U;=p~&-Y_CiL;fxwrU;-(_H2q$X)@ECf{b8WyV z+9rN!3jw=LEG?n4@JO_y?isSrY>aqakMC9UpLS3ne!=;w;Cxw-w$+rjr!It;j*%Vc zJTO?)cAx>x4q}-8H%ysc*Z($6xC9>?sGN{*QGBv;?2}!~=U&>@36s#ynqk zLGYJz)b4YL%!Tot!A2P3wAqUu=3?Vw2%U=|VjPxj6v5h3$z?jxaX1yKW6Sw~Rsz>N zpdSi8vJ|g_FVD7q@q&rW6$`JCnnLlg$~txWhgS zyK2!K{xAC~*)7BFv(v)vbDV7W3?{`w%sxNto)Zzl9YQYQ*Ml zbU|`#BTOIC@9*>X6+6zRrrt4ogHfz!c+HV(Ut3)>`UvVsf&T`~i1*2cCT%f^vWE)R zzO9r#R)?5Fh#dib!V89Yy*uS5o?!GOR{^Y}im5Z*os6H0J04bZHd6y@d&GOP*y8|X zPu8G#Ll}dKAwU`j18`IU66YXZpg@&8uH1A~;t6GDu}T|RZgx~@W6BaZ%LQ9V>t@sC zQ)#BXMk-np2*CI;VG*#^1MFkqiCl>?!V+n;b{tk|d`MRTKcU>}seqrxN5YUl0OOcD zP)ft029R)q+O} zY7&Rtr}A5gi9LRe#zc+Ah1?v%FBG=y26r*R;6zs^+zc&|m((01>svjsUmt~($r%W_ z9N7z+;|)=sOmp}xu@sdZE5UK$%v4#qM3q$}n`9NqCLF&3i{N`nyY8nQ*b7Ni)3bkJ zOwhhnb~0e!q8TwyG%ANdFjw?1r`A0GTwG4==q7PXIi1GwiD$Ykh1rt^NA;9+SBSFU zMa~uDdt%mmRfwMSNjvbclsI?|cRhg15NnvJJp1SAFl;3CjAexLHj7#fO|$wRycjj(r!aED`BTtyQg( z482UrvV`52nrT?#mcEqL-OqxR?k}sKRzNb;@+u~!fE>8$l*1RWxA&!zaupOR*Y$kn zQCV2}v!L#$zJ4h>kHfy^y@DIfxC@3{G08yEiy}T}#eZL>QxPtSwbYF>h1-~R<0?B* znhPJshGVIO=JSO}dHJxDbeHEzrRZQxfgl_SCgvPRCk~p!=BN=xgk%qdttM|0UA~xA zC`^Uq=8Iw9$tyfayvpOKB)EKJM;ME3qIEy~uEJh%em|Pp6|zuexO?VHMSLT-@kn3i z+P+pbY&P9iuf*HMWS0i9G|T0}qgv1F3@E73U3<2cgAP1F5a(J%HAU8T~0Yq(bCGZ7s#c zhWZIV_osohQyhCd_0HbKvW?!N9s5&p!|~)_p1ku`@!|2*yy!Dk0NR@Mfx?enbbLM) zAuizJZ>nU5E_sW|*Bi47k~wmlcy1t-!X9{ICI7<@xvhMs4ir4cfT&_^KZlcjuC`ShvSOxi6aNo zGZ}K(4sYM01t(A*Ef&pBpw@#F16D8QYO1tf5fMM{F$^9?!9u_C61nPU-lB9tsWz@ISvpwgYb-4%1qZp*Z5@2C#}x-Zq$43#(I@dr+M0-PFVJc`@cB z>Zq5DFNwt`QC#PI={F}=Rsk7ymCO=5Poi^Zwm9-+YMZ|(N&I-QIvy^!wy5A^rvB9@ z(U%3!&50nUyJ>x($Vy}IQldyz~h|LsKbS-4;H&Kl6~MWM~XoariKGbBuBvya)`za zOf)b^uvC@aFg6nu1TFVF#8;;hYN79>tJgfw=5PnpFu~cFm6muTV!21OQNL}i^Y3qQ2ZPPcb`J&D+ZKQ2|Qh} zHw4$<;I4MgipyOR6DQxLmXgIm7)d0vP6HTAi^Umd(sA^wSbQcHJ%1N3pGn0)zPXy& z{n3~7+uib}n05{oX%Slbrnu)Ez}qACo&$H#gJSS-YOUh=-BnVPNDj02#H`@hxP_Lj zrf7omBEf!Oo~C)#$}K^~d@mLar$XH5{OoXQ%g$KdvEzYY|5NNAPJNmwyuf2Uy}O); zxqIlj)L)13U=%&+i86kPMvJo8bS{mD1FQ5r>fMER#n{Mzv5q(|XhUq0sjj2_ zs(`(T$q9_Ba45^FfPa48c~qFUP=bQi)&i`)?dQeT^C+HphXqjXrr}U8)}#U4pDN*C za7yosWq;3L<5=gwi06Y9*p|zNC5W}6+%?n@#yn5U-a7EAvZ26NrE@4;ol@{|$x2Sh zzI_J3=EVaH3!mEHg{6z0fKu0vpi?ye)-4u0M{3~jZ)bytcwn*G%!a>r`xEayv1k4(k9=dyu4Yda6)CVn0Eo4-&~cSRb9)2oiM2M{5@EDD-u!? zHLw4rY@n$95YN5nDb&FVevLsM(}(HfxSrg<0&r<$T-;RiFA8NIBxyKTp2Eng)zgF%^LV;2YD8Ax5+ed=V>EX2nOj3)&f=d+?DisXPKr#_>^34jUr-buJto1UZo@ zF^napb0M2mRW?E&ks#k4zG#B0yuejtcn8@proF!^LBZrD1)PmuG?-IK`I_^XtQ6wBGv*)i9IxA4l&+<>bNRDO@SKj;F#Fm_WegaX5Sj^bkZP{T8y6 zm^_|(i{eWuM?5{AvN6SP8BfpP;2qp3xIjbIka3{U0I5ldcY-ANp5v)Nfln1q2mkFQ z*!KyFl1m|f?}*AvX`Fg=%*9fLtxXwf$T2d}Y1r*Wz+mnuFf&kx*_OLeu@Ji#?kie% zf*Y2*N=gx4-tr4bX|UW{rCJ_it{^BTO{rSZyV9ID7}wHyqsMpOV<8LRx$OR-g;G5Fv6a{Sq%86DX37-3reK<0eHk>?JL28T=s0x<$JL-QzerbJ zP5u-bMkyV5)l_N&)v|0V6=_`j^)6Qsou|>)tO@h~CN*Kj->987i?y-q!!=-&g7dJY zjOckv6!H>=J)5;Aqy!UG1f~!hx4y#P{QPc~`;txj|fW6}-wXh$pUs$7{3r?JBzL#5cIx zm=lepOK{x+UWGu2q#Chnxj;1fUz4(Y1Hm2_H;SOQs`LyOBXkay#p~kP>C`lTpR{E3 z?9N+`972wXG+_TCzMD=1=s%+8)fA_F;+(6gIUbi?O=B9oDBID*S+_v!zM2ZkWTN|` zVLz+Tn&wP>S^rr+utS*}Wv z%QyQIvHlv$$I|d!RBTnXgz3P;31@A2K=F;Ty5XuNqDg{E8vn{@v8m!mmLOwjg8bi8 z!PiX*YN2HqUymhd)QNur6&D7Y{RsnS^U7aFD>nmZEln;6s|%3lR#D4T12d~=IK3r4 zuA-CaZBaS{0`rbIcLoh^_AWz%xbdu!3+~4FLLd8O@!Sk*e%!~L2?G{EcD&nxNg0AI ze_P9bS!Ut18UMm#fhv)UFRWmB(PO{K`A*p0A_`{Gz<#grC)P|MK3y2H|IVLm=E<@$ z6SBseX_o6SgyKs3EiNPXmQf7b3ieAPdlu!1O*64SC*MzpkX$fJip;gMs1RQd&4MKF ztNCaa;n(i=i&w9uwpb@FyN;TP=yjB#2~xX26kJF7jh>fCF(u6kOi8&A#DUjQJMF!$ zl~Tl=193{sJa!UEc|J%rw9qaEe8+Y0s6H=tT}NF8Zs9htK9s#vs)FqFM6Ex_-kMet zrZ6iNvR{>na)o^U9O}~GJ^qe^Aq|ZozeLpoQSYX{HTd^$hy73P&WZD+50L7 zwB@@Q`CzC0nrL%9RiFF;=Wxg~rkX5!JAb(Zy9Mhtxn=pG%EthOgxfok`Md$bZmy41 zK5*nIWrx^zJ(V_mP8NfZa(~^U?5{-68?eCsx47;GdV#*LIpIcn#BB97mule{(JuP8 zCDf`wss#H#qS?(ni)snotz*!YXzsl^zD8ea8J zG3RDPBYh{qT_Pt}#?9Wt32`i9Yo5EAexvM-{B1;~GvY_FWgeAjFW<^!t0r4xy4~uf zS{ZUotV)BEq*cd(=6ZB`)!3Q0nVBFS(FF$&bBcNFTmh&8JgSC9jxI9aCSA%%_SzO7Cbq zuzKPcav5S9N&Q}sPlZ4{6G~eXVdavV;@b(o$Lm87Jr>Z3sjnLr&~vG;p@RG$xB^z| z1ubmt*Hg5NfCv`u%1S~PQx=l{%cH2Wb0M`(feVAssjqH#P={^`T#_{yK=rtV^<>iB zR+n9C?x11nAdF@RZYH<*NI;6^z@XzI>X2%4#3E{*`l?z)W%)lysltIY9P@WFVi@*G z48-e;uq`)J{JIDpd7qrCEI$8|>TsvUFj9UHr>Mu@7E=%107PTWVrqxH4;E8PJbqc6 zE*o8O1zuD(9z&dn{ew7fNjjTvTSA4s(uvLLe2oS4)W0MGiV=D7P>Ocw_P0x@TkrJh z(9@DOSc-9whrg$xdc~XN{%=xYmmT%bz7qk`Nw(mZ1>LG^`1DJ%S#j5$B=m@g`XeIX zM0rFEx{FTCl#S!E0RUTe7ZeWCx86nVd(=Y;!9huw+!ciiutbPdDo3=xJ8As_;F!B< zwr)E!)pjPgZ7!wzQXGD4X*%~mT}l&Ed1o)9uBk6?8NF0bxUtFZSXj*@@e^0vLt~tu zSYY7ilpe;Y6gQ|RKiUP@(Y;ih0^IdpdL#7}U7n86(aULCDsTPrnF-mCYg3l2R%y;6C7AD~g{=!>QkbaBe|K{L-jKppE9$gNW#xPr!|;9b6g zo=<%p`(Qd&Qy!$Xsk|-^rT6rLhthlc$wSHg8KBVgVS1T<7CRrN4j61%E2(W;f3V>q zNnU*7r%ExX)jxkZ&w@2>e;NnMd(dwis$0&JyHJ#t(Hx^`v z9TQ>L12J|F`NstP9@Ztu1#8IP^9Av5T0^Dv=vP;A-dRI)Qs`W~mQGK7y|6Z2j&6A} zojA`uNgp;yA_uI<{!u(!18>03Vs{Olkb+XNF1_Bwb?N*sdy2|+aG6$ehOqG?6{*_2 z*Fy?6K1F}4*NeKHKJ{rTJvyCL@FOv^U@Y;pD|zNG8GN$U7mV7c(**-~=8L1Aq0K2& zGS{bf1c=p>4tABwmUy?ej&%I6K3zK6ZAh1n&07xf>C4tHVz08^ofG^nT;*?85*Nk{6Ri z7m4dOQQOXPEdXotB`%=HEY<>!ntt$B6vMs;76-6O%nI?3O;k8YZng8mL|QU9mZg?1 zuzzKkEX#mnvSW$&7Mn91W@6U360U;$gH zN`7fRQiRZl)Nz7W#KX^HD+Q|}zHl4ApOJ^!vPU=)p?k#bIPoAfzf~bSqOLwglgKE7 zVT%X$SEM6M?ui1ERMR-*z>6qeNXx%KkJnJ9yzEH1#w~He3zSj8olxeC4>7GfW_owz z?=NdGao^N?Mcn=Z#gE~zwYoiEXuw}?3dz=Ur8skkv*3=#a>50*^)8P1>IG^onr)_j zED+~yRswP5W~@ek6e~8<@tnMOGu_%dx$A@8>UVa4C`E=r^Xg}{nBUz($jnl~Q@y|0 zF~ZyVPAm3Qeefc+Y^K6gO!s4UN=TO;yW)1%*e@YEVyGI3t7Lta2^A@pv~OV{ex#at z8$H9098B~rs&K%4SGB6W|7-~H=G5vfaI3s5zT83=x7KK<9d23kxkMU=TOe=ZmzU{G za|XsmWB6S1wqn_U4-VjJwaUVc5{1%{;yO4nSfpMNYR@A;+_aTSV)_gytUcJYY{~JS z8g|&YACmFn^{vz-u`wmtSjA%{=a(kAqvT?@4iGrPnqNU1L~~;xImlLfF*3{Kph?$6 z7H6O#2#icZ(1%Q7PY1$ZxRgAOic)->)=l8HKcoe9F^D<#SlC3BZH4;trwg1r8KHO} zA7yd90N;d;^+(X>yI(8idSKWDc$V?K| zuTqZ;C1*kR3$f`{YIEe5Qru)zR0IwajxTZa9K2-~%K)}bpa;Uf(Bdl26okUps7=LT zAl!N|2u-;6a6nGQ-ChvnMPkltbZUkY@Y}04iqBr7E7CqM+D<2=eLk}tON)oaKetn1 z<|>w$=nnykh*4)z^O}+!w8+GQvPF=N;TrZ0;Fru#o5d=A;W3D*yO&TpWz6qz#GLiKbt!{b`7m&A^+xN;>j_z45 z-g*lQth>ejw~`apGe3*&Z_}NH29MwWVjHUgR51!CZ#m*Ci>y-0>0^i=-bU0tM>9%I zaF?XQrl1v+2VP7yyf9gqIA04lFw_Xn88IlU(w#mDvjZRAjae23sQL#mRwV{mJX9Np z!1HD(CY5nG1B@X9EO7V?8lMYckrZIjazcDn)MS0}3U)c!H-@$Xe19~~JoIHXFwbGz zs{TJMTp!MmLK)(Aar`XDGRVYrVHSH<5brxM+w5x~$Q~X(nS=vWeiDNEkTkNA4^{bT z@GxNmULQjllx@k|#c>p&qk#}$-N}%<6z${~X4-#*@tfg}oa8RWGFaBiaPLkq08>=# zM-Y^S?1}-nh#S5p`9?hCsV-=cJmk&;@E{q60S7pCjT%&{u{apf0~!R7%-|nslo?%M z;VYoGpgp;!f_qZ;-H?4pBF;9X`h|<{6$uffURY$K(SHeo;nPmE6fC$uFtE zt5beHu};XQ6j1iP0VI?FYbx9VeGZ4fqH{P81Cl6SD6crA3V^g&fXvd#3)@3-3-NbS z3|RIc5eULaDnVFu3>wNwG7#?C4b7VuXwAp?1SKl!g32TE3qJV%5n?pst?>^3=&o%YslI zG%M8t5ViUJC~ zI`!x6Shs4Y!7uO<;sa9#td!Z*AMZ=4KYon@0*)vIgfLX;d^t$XNiI!0fKBUWr?E+h z_o#8=Fq{cYJ~$njSBK6z6!m$AJ&-X2B|rZ(XZ8n^oM~N$Gk=jW-+q5E#x%OWo>;HH zR{ZilwK^P;4$>!IL=Tnqr+ZtdJKHGWX8xb__M3eN>utmOz1=O^e*m#Oj6@u&M+fKa zUt?{DRA=R>wdA1ti>#gZ^T9eR27O2;s8AjEiz-=yx189dVV!0~cLXRZgC!7bEdw1e z31i;~mziQrlaqK)U`LN& zcFMapGt>+p$34<)#o_@qf_9<|9gan)3^%hsuGhqwRvtM~sA*QsnYdpqo;8?fJr4b@ zS3JN6<5I=BElj~&2Z#I;M$ABYb(ctn1C@khW(H1n`nR)X!${ye-T15>=R}h^(aDqQ zT-?ST;XNy$pM@naUnYl^^*2u82ICGiV)P4tpg&oI&gI+@o>J2g_9G`=TdyJXr1nppOsA zHyq~9Ls}3v8#@H>#$Fh>M=+G{uV#LNMH-0T6+dGfXbiUvkNbLkfTVB_lAAa&T-Cr1 zkC6M8PY!%z8#|q}%wkmQZ3H0)q2318maZS%?uf@eq~1DE6Sy&L$^B6L{2@8@Q{S&C z`G~U3Zg+&t2v!Ad2UjYh2<&$dSn^jMe{V9)h1r;o`xcd!aYACoPAKe^+--RZlKUse ziaZhtYjcu1&JD?C`9jz?G!-6MljMtzIo0cX8MPf z`~ZWqpek_TgjP^YLR`s2_1Vaagx>qOr;- zrK~vL1H|JPSW7BII7|(e{5W~WofrD#XD8g2)6mnLfN7Ayx(poD~Q%4=v*M?vTE@!}CQP810 zvf>%(s?3n`0CkzBAd|ZR@2G(a8A-1K^uQ}U+WDd(%|*E~^fwaT^~ZRfs_=TS8qj)4 z9SBE=Av=V81(U9&SRM|ln^GDlk(DM%*?R31!`>0A8akY+!MHLj)Dj@sdtY%&G+ExD zyg%@Xz=Bto4*)S#R|!e+$DsJfp^LL}OH*f|=v_9t0VxTi_;aMT3R5+tMpT5%+DSa*yz(^; z%j^=3c2j$uze?3vEC%hS&uv6dgZGh2{1PQQqCz#td_$v6ZFbk{qAUlXI_`1M)AT&u zuFgPJow4*!W*iFCMGt0gB1Mf5^6ZC~dptXWV$&sM(kVcyNJ zG!>nHr3Rf86Vsge>;|;_AKubHEmptmv#

`eeu|IC%1fc=T7wYnN6x$aVeWhTkfL zl#z_O-~39wGu6?DTS!GOHx^aZ6iCD@s44^M$>er`XV|}p47>#1V1R$=KPy(a$CxL9 zX&l)Gr&Sv9WiQ!xsNmohLsS@NE9x5Q#5JO82~9JLYs!A3J(O5ase?qAmdqlamJDno zVcy5uEsh-_l*UpTmaj`l^|!&Xd%;LDYM&XG!Uy=7F<$=S6E-_4OAVusk%Kvx>&j)M zGHv0_L?8IZO5N8CSHlU2joYbdg7Yg~_&t5}*;AODUaaWF2t4HJ11IMA0e2y{06&8~ z6v8d}$5VL03Zg>U*PS8cQiUCZAYo>IUW!^6_b9~EOg8#134mYT(acIP8Pa%_BYEXt zTjnm6%^ZqX;NW4{r9hd7W7jJIQT#idRif18!S)eg9>PNMMQ4+E=yxjA$JaNBH-D$j z$&ZZvv|MeXxtsLCe@uw^dey@F8kmORGfo5c{(dU)>))PfK9Q#94?hbmA+uvsC4luf zI8S^;W76)rZCNi!%J8VVHfpy%e=L@xoHM^!eWu-2>+A1U59W7-d62-o}d`y3yAGLcy~u5WDsKfQb+15k!dZ`+`WM zF87iPG0sG4a{b23Gsq3k5?b?B$?Zn}QYbd-9H29(X(~l2@qsw;N!5YTdm=?Sn#i3I5W!JRkrm z-KoS?eKNpeQ}hd&g|teH4Vky5@z)BQ=cRpChRtL3gs4YsP>$H5s2s7pg?4a-^JfRr z;g#P1@j$wT%yjL0e%gqxr+p7Uq7O5i>uF!{Vc0zDVl{AADP- zVV@Iv4ZEgl#tIm&5%vGHPd~7tR!*$AlnjU&5pzXs8N$I7*p20)2N9P$B*uG z;i$=f8+)n9X-Fa;IiZ2s`Y#YsN=&2XmyVh?_To`f zNB>2I{(rhV zx7etPFpkfe?RB@^p6zzG+b!L0%L3)tt*}<`luL_(KrLdq6%m92MH@LbjM%Jhg@yd%Cz`5zwWqE=_OG&4kudO&9KzPG2~yv=`F~Wei-_Aoy!^U1=^!I8NqfL z70YrJLR^8oC~ts^DARzf#o{X%$Q@JiB}|ZS@JCr$8E^%1 z(Sa&qb|*-tZp?h__v2{$1W;$mbX`nC&hW*EqIJ10e!$-DM!6dSLX%aWE_7fYZtPvK z?pFD)*8PdiS%JxU_98&ZjJODbAXmYN=DAY`6~1;l&|&P{2$)z;xDi|_+bGWfJn(dQ zXQ?h$A|HW!c!}ieH9?*Yc(M{t<3kN_56aDe$AyW55{6VwlkRlj8K%o$TcL{u2+J;% z!|*S47;0)PhUr|80!$@#v|HBh;>L4GUP>n5aaaHr0tOzB&#xX`Y(dUDhvuAwycszo zg~2w4)3F-4foaQ;pT}|BguEV59xJx3ZW*)MQSJasz=Pl+uoO^_L9a}G80F=Fn?#>= zf=2+Cc5C)zq(O9+esv{R;og&63s3MtTqWy}(=OgLko`^t8)?*a+q*{AT92a0#D0YO zOiF$X<$O1GLtX=vt!t;qoRf9iI(4xg`3BGfSl$SfFX>nK&dLRbIwm|;{~g$p{K@$D z=Rd>Q=I%WKxXVo3{rvP~R@iD!MDdV3kKm@Gcm?qK+YXe2cA&fy^Z}K4{C9y41QIv- zECQIPk4g0#LU}LXv+EL`S=^YTxJnp=N`A+ctz5;sQxu+sH9TFa17$u)&f#uiL|um^ zJV5)velQHSb?M?eL^Rt+eeMZX@;GGP*WM0YlmS2ZaiOJ)8w(MFi|~{JjUWY;or28oUVJ2Uo$j;5xVsVvBXL0StlT;2d}XybeA9*TDDSckl-&ZP!HrG$--V20Fnu zZ~#09E`V3T+u$;|2E^tIJ@}S6YrSmt%x{^S*|1)IqiHES*&}ajsm#oc@~^o3dtN4S z2)`aFc(b@Lmd0-}?fWO>m!V3&9<||%_1>X@fsQ#XsTQ-e!M4uGc*OJuRipE*&TaLD z?DtN{s;F7!yjivF80hD>>Y)R}ZhLvi{u%9>X-|yGkTfgo-ccEin7TU{)%yoMyZD8++j%#XM6J^h2d14(D_dRHxmEm1y< uSL9UO1vEIFL+PzPUzOQ7wRO7NYTrC8eVUoE&dTSt|54Da)jX+|IsX9cg+e?4 delta 43553 zcmdqK349bq7C+vvdL}c;B%ujO2qc7_Nq~d^;S7ieX^=}$P*L#&6kG|&?Tt*3LsV3- z(Lx15yih@KQG<#S6crT_#e-ch*mYM_ypP58;QxJ9-7}Mb$L{|AzyIg+7kj$9j#sZ< zz4z+Xt5==ByqxjN{Tb^&3pOtxquC{6rjPGEesblM$rC45cka}+Q6guP33LX-4CEn1S1r=XrUaeU?U8Dqy!@)4SxULLT?D3nvD zh!$M`vGiC$0tqfY?$Yry{L){f7rFy8@?AS4gUeQA6a`AjXf20N5v>@fR&v;dBG0YO zaNMIKEpC}ALY& TREonvveBuOfS2n5X*EyLkZ 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 delta 34810 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 diff --git a/plugins/official/checkstyle/dist/plugin.wasm.sources b/plugins/official/checkstyle/dist/plugin.wasm.sources index dcbf2f781..dda99d364 100644 --- a/plugins/official/checkstyle/dist/plugin.wasm.sources +++ b/plugins/official/checkstyle/dist/plugin.wasm.sources @@ -1 +1 @@ -9d7e857ef367eaa9748d1a2b05b7b45226c254aa578c29e1ed987c7353738acf +a0b3353006032af9f9052c8413a00ff8069294d1c3e86ed520f9c4b8012094c1 diff --git a/plugins/official/csv-editor/dist/plugin.wasm b/plugins/official/csv-editor/dist/plugin.wasm index ddf8435b6637c76e05538481b52e1ce81abd3c76..bfb8ce3b9afca3208144d739e892ba1bced8ae66 100644 GIT binary patch delta 35576 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 QuE`_ktly}M0crVv0NQv|KmY&$ delta 32746 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 Nu21i5bnjgD{{deQyHWrE diff --git a/plugins/official/csv-editor/dist/plugin.wasm.sources b/plugins/official/csv-editor/dist/plugin.wasm.sources index f2b224e82..cae540e1e 100644 --- a/plugins/official/csv-editor/dist/plugin.wasm.sources +++ b/plugins/official/csv-editor/dist/plugin.wasm.sources @@ -1 +1 @@ -3e11039d36306f51c728bf9d08030fe620de461fa5b0037700aea95c4d27714c +7b055db21ef99eea933df6b311248ac18ec8a57d57cbe9af0bc5f694c8e8d48a diff --git a/plugins/official/git-toolbox/dist/plugin.wasm b/plugins/official/git-toolbox/dist/plugin.wasm index 860581e9e1b6bb2b9e8c8a30fec81cf821e899c1..285dacc0c883dee0f1e60eb0a62ad9b9ca619fc3 100644 GIT binary patch delta 22744 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 delta 21118 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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 22b2d4551..4be824457 100644 --- a/plugins/official/git-toolbox/dist/plugin.wasm.sources +++ b/plugins/official/git-toolbox/dist/plugin.wasm.sources @@ -1 +1 @@ -ef50957a407c9aff9999fdd197a5e72c90b7ba77aedbd7569408262ab7e158be +d742d45a1bee8c5d0c4c2bab9341eb3d3fc7feae1c1229485330dd0b58374092 diff --git a/plugins/official/graphviz/dist/plugin.wasm b/plugins/official/graphviz/dist/plugin.wasm index fac2c1dd2bc61e01a41d3da3fce0a6f6c26cab27..3006754db28d8c9f2fee7d095162d3ee65615d72 100644 GIT binary patch delta 29037 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 Zu(|KkXY~IUBb-Cd?H^Njy=V7|{{z=0ySM-V delta 26249 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 delta 19379 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 WQwd*C`2W?`s$pyRCRD5DCI1U&V&|X$ diff --git a/plugins/official/key-promoter/dist/plugin.wasm.sources b/plugins/official/key-promoter/dist/plugin.wasm.sources index 6ace343a1..ffdfa4ac5 100644 --- a/plugins/official/key-promoter/dist/plugin.wasm.sources +++ b/plugins/official/key-promoter/dist/plugin.wasm.sources @@ -1 +1 @@ -1f1afa285a64a7f7758f08a80306d6397c8aee4d2ac7ed43369e77aae61add04 +8b5e78147995375b841f342c7441158d20d33388be808f08c233eca27c3b4d7f diff --git a/plugins/official/license-header/dist/plugin.wasm b/plugins/official/license-header/dist/plugin.wasm index 65069c48a962f2914cf152221f46c7a8b4a7aceb..024bf460b43d37868408f4377df3df487c17a295 100644 GIT binary patch delta 42639 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 z
5=xh3JRK`8k9BYFjLr`oNp7DW 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 z zcmkQCf196FUNN44apYNeDuLpHL4gnD@2C>v_(|oBat}JaJH_0yPCqA7IK(&$8=}B{ z|MaWrAMW%sPNRP`tvRDy&^mX^)T8Jlx8}^Hw7zNmnKx5dGt-aUi_f~q)6PCsJ0xD< zgyL;u?R>@NYd<%F+#)}Bo1Ys+Zd*UM{$}1|=pl&QLO*w*pUXWI__*ofLo9oxT-_K>xa{SzfRc;axbLE(y{it6# zjNGW7`&4Fbwx9c)pUWL*`MEFqx!iBW&;6U9%aaTHxo;=^Y@S`n&)(qYGKzzK?x%h( z&pF`de&gqI5Adn$#ogxTGH7tr>)apwT;Pwe)ArhbQ&8=BH-AQVde=R0 z#_!v`>+|6w*p;sNFj*U#n$EtQ=zUe?{k>NCpy}NiA(JM!eNS%N^zDhRa6g=Fg9NXh zb9{jYWaB4HEtcDW;SG1=>^M{vlzM!_FLk%fxsc|&b#rae_^EsK+!H~}pUyo4J&ifH zE4_0=9+kT{oO`mTfT7CHbKg%VJ~;31w84Gg{GnP6fTAA&i;O|hFUK8b5;)SQZt#N3 z&}+j53sMc6@-7_gy9XLSZ5n$~M*jV0JZ(1Qune;oaj^d^>lSOFSbVag%Mz_z_Uq`gAY5e>=>fTE0p0619UbOCUI02kF zzq|X$f?gQ-qXnni9ox9s|si01Oq_nN-Eexhl@h;15q!&U+O4!va&LzrIAyW0i|ZYm6z5c9c7aakFl0XQx0 z`1=yctH7dd7*$vB9eQ5_*#`I?7D_$D63AQX)mh@zS&X9YrUm(ds>OcQQm(q(tJ>&Q zy+!q6`*q5>&PuP&3f$qGtP=N-yZOH2<2O?+cQ`Z=f%ptK#h&&fJ7c28Z=?UWTf9Uh7AQGhA5Z<__vT3DITb7F}c zHEd~m*zpW@g&4;&8y-_0ZZ&s+ya^bEA2HfW_u~~~Cr!`;jMx2-L+ut!NA+&qiT!2( zB(z&C5=wrq6xhlrUMXs=yO`KiF1n05rPFax#dTl8l;BLVsk>+)SKePitKF9SyCfM; zP_ofdbqsAmb; zVx9L07|e}c4PMdD@XRyC-+TOioMc?M*$;L(db()9q(Sbvg5HJP#>mo8l>)GI(95h4C_hja1-OX49X-ZTewZp zYTjHvcIYlHfTo1Zv$#v=C5=-z@KE1Eg&j;-VW-6_81+z}VL-V952X{BYdy&H&doPd zJX;guRuH1vklZ6P-lA1jXhjU zYuzpncP?nP_=DBjyC*!{kv9pz$wR|d;N+&j!9g})Yz2)b7JcWTSGI~+buLBbR`oba(@rebuI8#;5o1F5bV;@0p*?Z%R;$`=_SCdhSqB)ml{Oxo>W&F4B~&)KgUi zU7Q;pylT%PNMJ6yW>t?pS{3V}*Y?uN)p*HDrbLh7 zz*e!Y;Werfhl(2gpKay}!WkhdZbZd;F6MKxkdv$ulh{^65JQz1id&#c4A!Xux;Fj} z@cNG0Wt>2c9`rdiH23&#-g8)GSP+N0^-q<@2H^B6$p&4>8SFmvRF9m&sf_MosQdX- zor~BK((vf@MO`?@+>)mUyNyq`cc(u+!2JOC$DZ!$_WVn+`~A}cslr|MbOHW4f0>wk zBSe(+Bz7a!B_icYdRu=|dklM(ClX;~4ZsblzPN#q55)~6%4RWALvh2*$Ki&VAE8sD zVB=y|a4WI6jd^kpR@D@?;<#yr=rl+jA&0%J_U z4V5OLSI~#*IwkqgY9fRhZsS=HMHsWz61M!{1_#l=qZ-2wM+uG#SdihVyRcaxp>MTy zCc3Y*lqVV92)2wz1rZ1KDl&$qGt}5=I#Cc$tP;?3@Cdd&h*cc*xCCryIzLv3TQHfq zIv0appfdqTJ*uW>v!mXf@l4xxwztM*m#0}UYPq*QQ)QoprrI!^#GNQQ)a#C(;9PgN zKU0}(Rf*|ik9u&sMcBGfBVaglh!NnPl||aRIdlrxb$-==A`w-aOpxhzKlWFq&k&ErD4~%$@pgH(y*ssH}M{v7v zWB}`6>}f%J6(*7eCy0tOfzpH4uec*#h?|ILa*uqWoqO90hh^WW=xb?~u$sPp;Se0S z&w+C7_J3(mGRVj4m>IiNAQIU>qud#N<2j1(kyDQpPL7eE1quf{ugCix2~o zg+?5+z)lqOk!6Q?yX3_~Dwz#NLbV)arNmOXZSWSy1i*UHGXh4~d5c>l2KO3z91E10 zfC4g|gF4{Y0V}MHClM^bXpP_xm=`ZG;#w4FrHCHN=IEi_n*r~;w-Pp@hR`bqaPerc zWU-;0&7ZW?Gxu#kLV4W)3!-P(;`7j$1RjN2I)&Wa6msDg(&&XQgRm#<5R5R$e0mBN z#@CpVI<2Y{v*NNZq;m)sqt4C+IvqrJX;RK*L?xkV@DlJ^D|Z#}T+4B7-lTzNjjPs^ z9_ay{qxu99>s0|td65iOL17VLRrOkcL-JabvO^E+!zaLA|H;h7*d40~6RVBqve?RH zFmitlxu~M)5;VcufejU@6qDr@abPn=0S+jHLx(UqM{R&1MywqW2@p~Thg-daL-*=e zZ=+Y-o@<6ugF9_ab)jC+yKdkGMf*)y*3aBW*9@l5o4#3dDq-&*_4ntd+VHVMWbU&SMV0QdUAAQ}YEDKKf@l{zl#% znS=`ug_w9Mer}aM&bd}ID)3?~pzn0weOVAS&CzGT_vZA;FZzNSYI}i9&XU&s>A_+i zSM0gGb*XL|@=6<86~5>`|Ly?y`*%AfLkb1p9(9SZPrVVIzoOnOpL#>!l;Gtm_d2TCP7e6UOAd@ulN$2}iR z0ecnL?~1;Ipzi<}a$I8)Anp~Dq1`e0qoElAhp+CAN?^`MrCsa%$hgQrWqEvp!lfNY zBnag7$Q%x=;lrr}{4wYk~hFop4t0zpu4$mzr9GB{+$ z6hn3%F15B0X551v!f7$UjCi?#Hq6i_EbDg0KH#^U-b!l-vjAj4qRR7~^J^29({4A;4c>)c$QtPgMuJ7a;hrz~t?_~LO!hIxjq7B+W5Fe+e1R~VZU0IvKV6{NtfQ;D!9 zztuBdD`arDSetyOVniaZ1U-S>!TwG~pXMbQuX((Jt+JKs#)QqWB|JZC8PAMSU7X10 zTWO+=q8KF_@|6+>+~lJTz+)9EVS)D~^3t*GA;h*PEXGqoOQKLmuNSyuHnkzkJ#|w@ z{JmsTpMe(kNuG~KjtS4NV-WK>WC$22WW<}$9P^>;Vjo*}AyDkT{$U{n+-;jGlfa4q^H@-P}g4TZ%#wJrs`-iBSkSj3!lO^roG+?JY-j$(uJ0xiQ%))=(F z4f_r;JBBg5@ufdD-LT?-TOZwOAeIyI4|?rzTSdnZ4qdz*oQ@2?NAKV)wSy}UQ2k+A zAOQ5AZ)X7_eqa|&z|K!GY{1t>71{x}_a{Yx{JMnYj{2l~r+lXJnBENW0yMR_X@P2N zTkf@=lv2LC;*)a9a$oKKdk^N$9_7*1RmV0J{=wh z##tQ*U;tjdn8sEtjVToPK%h`fXcnaJ@YFb{mfoE@@R6VCG?7pu{j3Ij7W?!kKoMA33y-7uYTOye5hb zR>$gS4C%?AFUia2gUqnqrb@5`wA{cKRYiItS>9Niys_MIUlbRrts1~q&6tmS$rq)$ zS|e=m>)!Rn4aexLt*s=O4Q39`<}>t7dltew;SId5Rbi7!VQE>SwCT@ZjwaeDmlaWa zH|Ogfa2Zv9eMz1kZIuR~zQKL&>+c8ZyyyHp>}8hJO2L9&2jv%LT1rZ<)77@SoBur; zeGd6%Fd`o2d~*f8p@zzWh!k)~;kc#K=5eU7`QJU=n>Tla|Xs{Pky5$hBb;RNuBM>7Y=9uojF6bc*$nwgvbWo{V`8c zBMtzoKQ1|UZmPtZhSo^1319t{7Q*ZNhT?L4I?&|OSIfI>Dvo(Q}Jv8LB=ON`O; z%xLzqZYC_R8LDgB9}TB7!ug<*DH`dstUEw%N>~)ev)x~|^@hIQdwYj!eQ=|A)D-q$ z;fXPZ>0wO26{NpC7kbdZkESI{5R2y?4w z)NR?GNM!1vt(!J@O`8JWulC~%);0Zg$BAU=ow7mCHw^CF^M~7Tg8AwX-yq8Qi68sp zbo1XoUWn(jcEJ*C3jdVEL1feAzf402gWN*2f<9`#P0%huFUy;QbSGuYgF^)VC{GR1 zsl)WUS6C=B{gzfXYoE%Yf!v4+34w|Zw+qL4B77K87I5%@0_2VmT}SWBWDYgcdvZ`N z^`j5uv|K8okL2PAjHCwnMudjYe3_F)#kt#;Fz1CdVrSoH%?D)B_pmi(k0?zCuuG%l z1Xh@oBX0}RFxeqSBcmXHm}rR*q?`O*j5>CPwiO)Bq{-Y0+Y(z50M%KyK+!Zrja(KZ zyvc^VtUA0G2HMNDb0C7*G9QCmjFpWbLaDLmBAQH*tBwlPk&2D!sg#W_a_iy&7S)ib zSbyw$2gZuy$L=<06Wj}`LnSy=5hrU0Mt8*+P@!~$9*{7^=)%*m`A=zrdu9HXD-X<} zL+D+Ny?<)#ZBW?D_Pp$pNX~nO3f$atv*e$1sW+G#AK`!aXdd;Tz*mG-jIX64IWM2u z0o^gsy!DE_HJ>^smEDU0V@lNwTB})MLd+tV2qZY)aICN2Sb}bHAl@wkDQokd9Sw|j zrgo6GGWo9n8&U_bRbnw*SulBRbi*}Z)@t`J9J1_8Q7=ISWO+Un1*7vsCWrwBQQnwO zWqW}4SQ@;Ih&b32zAu1L557$bR0ZHyY6HScJIG|EUck4+K|kur8f04fsd$iC+!|(B z6&}#CIG++SuYe9{-q?oT^8*LB>K*CISBt2U{w22;(c7LVZC$iU28$u8=F6_d)G4Pq zNLjw`f1^CQm=Z}*!~ZcGW>yHROK+%<3aJ2B0;hsDU?Q0af%aGH7+ zKUTmda2AlsrR;E@q)Xw3H~sJ|s0>`%g3`XabTvvVbnY6ess`PwE}ug- z$7rGQJE&~w+_lJsV!^rhAa|V3ZA9)UIlMjfPJ#pTuEKIL>jh0>mduEm8=(OZ$g6(V zAn<8CRfw7FQdM~q24QHGH>pZg=)6&bL{FVJj*nkVJDUT*fb}89G@W0=I8f~e55hUk zNveasd;+5~D+Y-}bw!)cR8$_^?hwyBIL<*Kp*0yoKnsTO5=;rK;R4*SUl5a{7Kg02 zj~}ey3UP_`k-WA8b)kRAM>^20^fuykie+61@BZeSN@ygUc=BJR zbPPD>z>ahhT`L!Nq>?1K0bWo;G)4d}8{FViw2eL#i5nn&(^Pb58_qAkm~d^Yb!L|V zKd@m0Z^;qRL;x{+hn3Z2IFnd85qKj)WuYWW+d9+P6nm9|Aw z0s&Tu=3Q~>6sA|2OS;okK}+Pk9&|ZmU{+6RX}gyr)1Sif{hrh{Y4edbV8>YrH*VAj_-1X05@u z*D#FoSm7Loq2w4}0IgiXb2!K184wdS;q$o zfIB?!aR3w$HGdoqq%e&Fz^Z(H-ZVJ6A9KJd8+QP#@aoIs`%n=@<=K7kc?hhIdfi$} zk1Q-ZFC;ECSGC+x-pDz6BjYduClPiId-(N9N>p!Km5F@}?;1)^<8eZ~m2+pqJ;853 z>BY|FJT%eUJ69yRw%Xj7l-k@}8=G65cKEeTW(Fv4GZ$NYvw=7MxfV7I-qM3zi%BY) zc2EN20*ZSsmJqM*Gws1jR`1NRyDi=qUN-$&KJgOUz72d!E8?)B zplK~6NB*TRwf7|U3a?W0Cw-}7z&{toPJwidf!!7iq+On({gaCPXEmz1a}_;JfyHdy zemICOI|E9Ia-V^ZE5;HA29=^z3}|fv2eGbKECCX^G!DIyxe+rB6k?JfR;WfcSR*qK za3i+DnAPD8kpMeB(64-9F!f1#41?D+{hv*}j94O+8#F_Li~z8TWes8p^!xfa+QO!0 z2w{gJm>4cPfKiBnSY?RAzmZbc01=8*|;aL&W1VFtwD^QvdF zDa|e`2TNbxI^G}eR5H7X@-_jDGv>o~wmf7AxG5wEK+roWm^OF;WB@&Z^t6?r6f5=S zA>2slhE=QtjuOW5%Y$4^!-$Q>C%!?L4S)xayrZ%)CFLej;f1J*EvMcNg(C-xf!!!S z8ba|-Xy;jlYg!@BRs%FA4y23CfgkgskP*cp#Xv-iq-^aqJDJ}BPrivAH>_J(Lx8+o zvs1ot5FIm0TZJ$En``2zo0Un>4`dTe=FPg>t{jD;>Or_~y@P8y-*6v`zvX9Z8&{M6 zaHvO?FQI~R*wavkdkv>{9al3c13O@Ac$b~=%zU2z@Q#^0oVv-lL#wHSd}a<6(1Y?X z2g8a;-F`e6`bvwetf3L~tejOtW4!p@rQb-HL^i)U&gU~4LXJ7&NE96DLrYkts|2oP zoHk&C_MqQ^@BsH#tZmwkk=kYMX|@Y z7K`FwS%VyPSgQD2RZNe`yAGo>J(2Z}T0+M_s2@;hGV;(n{=8=RZ9ra>WQ5 z>7ihU0u$C#B9MBy-&r8@@M#(kb31m*ej}-!hlvGp>`3bAB`%lqM^eJ0^2I;!!01V- zVS(YvqjP+>$l@R5izDe|;IwQMxd#A@dLxcy#zHR*z_axZG)iYJI3+nt6+PqO)ur4W z@>k;ZrLFSwQPfp~oDj}}Th$!zXG*z3HL$kH9;2zmd9VRpGw)z~!(1CkAb9m2_N?=N zcHnOHu?j@yu&bGnU|%^D?nZo;%9#h@6p(EWr#_t-vQ-#YcL$~-oO=SbPGGjqkynqV zgFGC(D&H7Qi7Zxa*KrGZ_~BGmuBPa0*06d0fkKcg6a=N8V{IRj*Bwr0^Z~&2hI0k~ zt-XJ^y~q~#H?Tbf@!%nLNj=XN{YMxPWn-w9zmI;96UNYpPI|ESq*o1YP)*M2&9BGg zlVhkaQ2+H9YClm^u$mB*VBvJGEzKZ5#rz&xf8zEwA^fO+r;dKnw#!Xqi3@AvP`bH`?R-;vbW!|P)C`jPNaJtj9F zNqxKt-}r;KYsK9!LpI7Vc@d(ex-#}~)VJ79MuIk^Y zC^kAtesd1Bl@A<6aoF%{kD_C|;nwYxm1F4;FSU86Ja;S|P^<BW#16a@aV!*~7w(@`G_u z03Vav$I(G;bmuGe76GpZIrN)BT?S~70vY=vklGi_DwU1_Ezp6U4NsP$V|n}0G#QRN z7?H*Fw#2ur%4xkk_!v48nO7e}ecG(&rnb=U-oeJPHpssp1KaZ%S#&HNg<4aOrCxAe zxyRBGxqsoQ8qwbi0W8#LPygf?Sexne4gZykf z^^D!j6VP$j^QC#-ZWtQ0?)s zR4=gPh7jL1O2qk|M;w3+~=2f`}@%wD|-fY15^J#{>l4AlfgnXqb5f2D^MsD&rc`^66`6ly*T zbod_9oicj@b@6u4AMTKYCV+A_%S99DMA6V7Kb%0F^xLz}XNs!XjVIVPMIUf(Ej2AI z>j{=2-XOpdLt|i*K=E^eyzg@&mEoHS$DT-C<>e>RDCi$+PozQ!`j1bfkzLfx*#Cja zr&xuN!72=}3VHNNG@GuM&z(d=`m*1Vl@QqU2+?usSxMIO!szt@YZ+4&z^MkT5oc9AVpBt2{PrHm0dT(BKiH&&EW$7Q6#0iPPopxmmkJfcrwyQ}bYSVJ08R4io9v zN`)e4qpx!E$+BQM=_o=*l(Da`+$ZHky4_pMjXUK*r$F6nloy>s3;Sq1vk@O2{>XRR z*1oj<$)A5Q7TTfVuRXl};mu24x&Lc?KWMmdH1>vYmdoC!QZn}zJ!gN5K5^==A#(ev z;83^9lGCWSHq_wt0E*zrd1s3}@iZEk&=c9Ll^)+IALwO7nD0R!f^c4W8jbNLtQE9g zX&oCXfX=fOW5#EVcFHc3=yZ?m{!xdxk!?WPxN#D=i5_q5oh>X3qt-&+0+<}c^a6g2 zL$yeY8;U+8$n+hs&eT9pkzG;4BQ$P_%=(D+hT>rce|JwfS0U<_3)CMg zsYu4!!8KTkxhlek;#dJZFNq|0%Md(hEWaznVtf+J+R4NKnkH)-Kk;V)L5^&Ave`iT zg9NCctwU@8whontRXB~2S`DxN$|&60&cE(x;kkDKK=rM3O{ITfP`oD-@wjO#Rf#8x&F zA52iR3mVvd@h!67i|I?`_HOtM@X^@;TndW(P4Px3cnYt7`*Z>T%916h~ z$cV(AicXU?KjN(A{?nmRJt*Hloz~>uq-Yqi$sjQ>gVksJ8V!GUhN9u(Db!n26`RdA z8!{25;t5meGEd13I_n!1ZeL?X{w2+=x5;m(P))4|T3GQ8I8a#yfw#@WbI_?@rdqzp zE#L84GL)DOd(M5m@-toJZxlonrM~Lp7s*?u(qOtuzBQG~3bt||(Go0(hxEp8W%NuM z-On>(ZBQ+fjAEUcwHTT-EkzfSY@9@eZsV5$<*bJ18M{y$n5?1kD>q=k-gIE_>J7#= z0!ZI*HfnSF_q;%G8uMy<0KMeZw64-+T5~Pe+sugO0Vr0$$y%uv_i%WRH3V@3%b?gZ z2pLD~o_n01Z9MZXu`We z7)UY%nK8+%IrG;@Cj2`Z?=ec%WWQQeLB_uOJ6a!Af(K}Thep0|7L|3tBtaH+IG6;y zaFwVp9;jL}JdK8ws>nkYGK#7&Sr&iM09GaXp*&?8Jt4=}kyQ*|7Pv@Stg$;>4f40M zs8kOU@CHGAQM$5RP>ZwRpnSTPYOwi!siiu7>nUX&<(uc>EE}J+IGyQ$EyFY&n9hBA zb>S^`R_RAx41^&n&Vz@)_!ShPm`;mkNq^u4!m*l2Gh;J)oBZ&3I@X6w4tjx}moH7H zZXQP%bBJ2G|3nklWYEF=8P7NIbM!$H{E-fcTY>!cY-%SboK0=K@A1`ZRgzEe_~;H3 zVY=BWFF%{AJXW;!TlxIibo_s4F!&rgmp+ycoI@Sc?cO|xj_~BxX0=_I0{>TYp_807 zi+%)#&Yn$&w)Lc~?j2j-V*b#)at2MHG%K}cQ5SH^s##R74X2cW?=>)@_e&T!ZRPv3 zX*+7ZHHW%+*0X2l_+1-O7}Ie<{o5Z1jG za!j;Jk=l(jWH2>vUDT-ZySX$|{BeP6f72ccW%68_NH;WZI2Us&)$uJ%_krjhmVL+b zX+T_QHyp$djUbNxlw#%aY|O*DMb17S*4ERq<$S=^BEvlQgLh5+1S__O}u=25z8;KhJk2z9IeMyy^MrG}K3IY3D zffEQ?e2eZ~`RavGoZps(7g3@_n|;V?rkCg>DZPVBp9v5g2Y?aW`y7) z07<5E4|?tZH!APJgxZSC2fbnM`9W^En7S8i-~m`?^4(e}=yeGV@bpRU16>$AEXM;Y zC5j>N-47T=UU>;k_9EYYbvAG#lQ$#ie#(Oozm$pux~RT1wb79}^-|E}D*42vG?pHb z(aT_wKPsy)qcQE88C*Vj06c{t7!}!U-6L`eCa!_x-EzleG`iEhoP-G$LM$-sh=)1JqL(8Ytb65YNow0>6=$l0Kjc@4p4MG* zQIbxlyX5CdI*z>y^_0Nv^m;18ZBacPKpuC)LOPxvm+?i^zVI)aZeqPHYp$esK%{Bnc zKjfCHsY<)UoOP)|1)s!v!>;(bMe|Sothmm@Ct6ngEKk0M%EY=KWc@WX$s;19KD&lS zq*GPb(jqPQ&_?&4;6Mj7fBjk-m#)}-amr_jP9`m;-s!R%7SrJsT6p>(MiP-DRX}qP zbiypj0~T!~*U_MK+mYANvFX$u*HO=O>h0^OCY|bZJr#M1gFgyRxWMsKT{jBw~ZCYSz_PF=Kw&Pb;|UP4Pd?>>W|&F+F!@A8&E($sX5tQ)9vI@R|EDodwM zzJYr5*WIO72YB$h^0Q#SDo-j@a{fMj#)`dn15L17gR|OH=c$>9JWf)N?wPfE8BZdZ z5#O5EGKRe<{+PhVy^^X*-cqy{=CD${2ocA|PXQ%=kks8f$>0xynn$8a)cN_BUw*-N zSn-x#ivCub{DIvxVvb)58}Kc8vA#7frGXwQFs1jFQn$`(RPP0K4&;D_fp~`qjusKi zftaDP8#9UPq#G#_RZZdu2SD-VH)c}B6E{*>b>_60;jc0=75!fdF1;;^6QNdUXm=C! zPp{O`H&NSGM8!wj{)eRySO~l=xQQxC{WXL5DR=5G<0JFbIP%4tNP3$n>Te=okXLlh z&2(h80v2DBL1(Yr3>Jm_tv6GpClh>Pwh;7@>XTvDpumO&#?mG7Sj4QQCve>@w9p$n zJ3V$bkKN-|`ct~%JGWAgbSioq`5)}$Dc(l?(q&KHMlbHR8Da^z<6vQ>;FEXUPG{Ng zFg2++q`}DWF*vo;Q&9})xU!Kd(jA}FNN=Q51D0h1^t)wrUb^h#WvOFM^ipsKy`3)G zaz|#L@jK~n>9Xy2W>QM!a;i?3)h(yV`b{toPvG8Zl?cOpx}19MR-v#}h2DRnx^#cb z{zQLGr>5VP3Dqrk(Ie@y6YtKP=~Z`U&NTa;)ZrIEIQSl%CH+%o-Ag@ia5L~;>dFlK zlzXW(-P^o-Ge>&pUV1uRcK)AfkQW}J$;u`<>3&M2Yy9DUDwX0sTD03tTchI6`>4-B znR^VLM36pvk8vx^V}-$Yy7=^4nBdrtG=*3z=p--xL|4I)zL3iv!O8d4E9m(&NGIK& zIUxYJq-*BTe1slRBeDsfc8~!vhdz*r*z+HtbJM+UeSi)~r}{id&!$s5AEZ+diFm?F z8id=mD^sEXyXJ?Lbb8<& zU9EbA?o3xW?a@preA}a$)&Kq|dGAc_W2aowygPY7t5nuOnml}y!pGO{QuxPl3{y?p9X%1T!QWTi6s7+sLg`sFbyN~bzLo=Fko9?ztRzdfG0)x;C@Iu?K3 z69`xTKo&nq*CTb`lgNBeUiuWBira>#VEKO}2R;q0ev_Q`w0Z+z;nOrQ>tn5=S)awi9H$Y#hp2N`(B=S|;l%NPWx2Olpb2md~@L9-x&(Rf~Js8?UIrjGE z7Trrwc@*UP&(jGA1+RL6J{SL5Ah%4Xs!l6SMBSDtC!=HIh4pg%h&Tuqv2xan)IHCJ z4hmC(1NH(?)a9}lsgQqpBEn~dY(wz@6((^rJC4|Ris|TX)_Pc2+oa512j@ZD4f6OA z9U#(@bg}mLt0KVxp^iWiw}WCM5F^G}h$q{Jp+o>LZ`y&w03Zwt4m$F1=QmI)2C%LIhhXh1if8SE4;2v0ZB*b6 z{XxGq#pN8djq+mLP|m^Jrc;Pd{>wXGqPTqhB`WNAwQ{UwxN9;AK#G@XSTC(V2xLpI?S=XRYk_3Ke$K6!y;rs%FHo zpzd@(Nv?N*wVj z9hFKfdzHG=BKhj8R7O`efAcE!GPMfhEUQUJyA+xG84cUG?=e6u_x4_r&9$$Qt*;j~L`T}w?xKXDa)&6lj7)g!$B)-Up@ z*8wtAgx6Cnqpg3+D-atTWu0jcrv6CA|pADKp&+DVKaqJ1su3#HtEQF=2aN^;-jThT2&UXLLV+||*p^&WJq{f@X zxu!t^p$jIP!+2u??;H&`5Wk8zOqGR~GW;xH3|VlkW#qvJ!0-9_(S#8k7$3C-V$5p7&SkTlb8zs0 zCN;@Xh--w`K>e;4q8IlVPmQ=3BL>MZ4E~Zr7@SmZs4+NmRt?p=%~||~1y#@&QT@8p zYxx&5lt291{*0IX|nph6MauW95_bY7a%+2MQ_5p$tOVi!|qOWE?|hx zO_=zKPyiefpUMC$$3wc@F9HtsRfI|Js|b+pUNlvP@r8$D9H5!r;)wv|W@#{|8 z^WwsJB+769Vf_Qn04R|<1QaFM9&+Y7Djv+oDakqb{*Kzhb#azr_~H*sC+y0Uy8Cg9 z+9HBuS$T8ew=36CJF1uOtOHI=|6jm=@a|00hEv~b1fRD#^&1U-fCxnb+#GtrLK=bR zMjC6c(?nL7V3%XHJ4y)9GnuH8tv{(}tcg@C;JU8aXT z5bCcYZ(mbo1z}HW)xI7edZe(R zUL8?U+yBLu{a~+Hkp0)w5uS3fxnALkj|^CmX?EAsJVKOSRJMDUdI#`s##lM}UFznk zFz?Ir-=(>gna_d{FuPo=Lx8#ToG*a8ZIGs`D!ns}Ex`7Vy za`D10w+cJUIWu~EW|zMl z2J*q7Rv-@HfE7`n!@@75q8b*5Z}@5(78Jj1$*|(x5WHcAA11I`FFE4)SuMc9QY4Xk zw^J{t{fpY*eJ}13?}G3E34Ub>62ZDck(SALR?w?a;)0Q*$A!+&dPt}5-iE}-ITT=c zE3Z}0{5}axC_8!@QzizhH*kTPg&Go`B>c=GCKfkRLxLq5qcKO^`13QrK2@kJdR%$I zM-)F$J*#}Vym(PRw zE05|uFvPgEZqP%Zr+n49=j4yd(kpW?}T*LW{%!aqB~mRIZnqbdH- z0pC90EvxjC)J#2A!c+lC$&5od_xTfMY_&$NI^*Rf_iKloKkvIXpXCN&k(Mhe!55>V zR|$5TsH9`z_vUno9@t->)+2()f^iHnazKj$-xtJ9d8MK-gRlfljv;G)13&^f@JpK6 zI)xXY@KRt7=npsS@Y(SsRvEKXhCYy@gQq||DzM92cpn`;Dpu&pX~NkJFdZ_lkfF*M zb@%=XGTMP>@k_n_oB=`<-;W5(vp69`GxG?j z8w?Jt8EAo-2Z#i-$7}SN%mbzs0wPo;LlHm9TkTr-ebEx%FY3_>!mW{3YGIN9N04QZM=Kmx$wkMGpCjDm_2qR^4j5oc$GjY#|a5@nFwaat_D-a?x^EG*HG12r4JrC~)HUn}SFbg&W#kPpDY zBYS;MJv~k5>(*s*?srt_6}_yLAir62(|6R7hGV0XI(PomA;zdY2rx6EBY}l3RDA&U1gianBkhivYNh=5Qw1 z1rGLDgV`V#?1VS>8u|Lp)RBN5Bp!n>_igCZNX`$bYI>x-S9|COD)z$P9(aop?({%- zz!v%L57b{f2%Sw0Y9R>u>NQ9sn&I?at9*y}F^enZkRPeX0FC&y>1AbCg6Tyz`(43; zRQfPG0*vT9cY2Rv`OuG4s$1hs=(TivevzKLVBv!w0>~)fTnka5h;1kcX~^WTNz_RW z-bL-QbqwycgkPlWS4D;L7)!MC{P{rJEK77vt<7zgC@xT#k23>JvB&0PcTpwLR(aV^ zblAxbL@kstRDku4uL-by4Gxc2iovt+6%|9*ZT8otb>ka~aqNad`5}q6;X9boMR&-b zNDT6jHQ~;0kT(d?XT)deVw_pw)XOhM$51@k zaTS58iZ4~6@GD)Jk8EJo;uUYdvW%L00P`4{(u74 z+f5P1ilpJg+bO!y-3)twt$-v<$L}N6FVrp5@kirKg^!hlQ^+c9(DMYK2pOJ0 zUasYX?QS)=Uk#J3Z+olShO^PRYGYcL+4a#C)RwEtly)SPK ziD7~3ePP!bJPSmJd73q7lnaXIFUWY{LmhzlD;@6S&En8L44T#+^fqC7(2WEiw;DbK zt)!z7{an^>#!-4rmgt+(DEF;v9+fS6Lj$@rTa<N8YtyG;vfTZzNd3<;^+R8kZKgGnt zUJ%Rh4Y3iz2gLZ2D1V^|>%(d!^EgC@@(rE?9Pi4F-%;TJ<Ig zAmPava!rot)CT6Wld!`X{u62EiVBY+Q=9Z>IU!e656GZ?fWHUzH*9QSg)C?*qnP&( z6aVvQnewyY{2MUA&z74f(tb8C_ujYU!Fl3@{iO@77L^|QKhwpz>Yalkx$*@3B>L(+ zksAhv>cPO}-||GUckF!;s=8^~ZLPW$?nQMoWYiJ|BA$Ar zCHyF*y{Ua!UfUSSv6k>Zq=gH9J%=V_ief$pbMfnw}oMD zlb3{X?L}%H275%mSOSCl zmkV$@RbSs?L>td6J$U1vU%&sR7q^a%zxem5?T%|6&_b|G<8_=&`)#+7J1`n*7d}d$d%k^zVykfs=AnRI#$h?GWEZie&15j@qquP;SU`|`Toyo zM2RR*?k~;vnLh3G*^_5q*k{h%DShV5KBEs7`Ro}}{tGBmJx!iIeTKZfM3nA7$RCx6 zF8f~_cB*zd6TD4n{wK@ zGf$g4L+yssrcXWRs2S%>J$A;~Q{|gwV&KTioXX0|(#pz^FgsONc8FD$1S%`Ll@(T2 z=C!G?D=XvKmBEV2N&~gJR#q05hjZ~%j;oTQ{5QXSWkFHL&duY>#nYkY{2pR)ejEE@ zyQe+GwlB`^nO#wleQEcecRxH-h~`xXiR**%_(MgHBql0wg>gl2S-A3X<#|^dFCD`@ z3m2D1ab@Gm$+&Ylx8wS`xQcLb9@pi5xh+5Q#qGF^uOv6%3fzb@c;EtDnU(pO2jszn zxVQtuY5b(ch^}cfI%pZQkiMS`qdo2m!06mo(nExpu%b16X z6M%=lxL+R79e#%jg&FDNL#@+?d1>^U8gxAH$Po6dQ?XXU4%;2R|wX$H7BBi$d*476YW06a5_&lHw1ANSXRrQR9k z$xTRf%EWGGZB{k#(_DNfv8#EGFXLi*W|HfPs~4{4 z^DISTjAS0%AAtAD2LNm$?q}nIjhjl>;rUQp@0gasB*|^Lzl)LP`pkl|7(5dg8H+?E zW|o8dn^~43S)LWAP5H%W(K*Tcupchof4t`g;2MaF*MKS3M+OrPuQ^jK!*d|6p}27_n;xGdj}qIS9{BfZL77ok8M$y>wEsI)-Nv;5!0$#wMrvpO27(buzW0 zHM^x9q%&7;IMP0XcyQh&K7||&F2yT%h`K;1`r-fX9Z?3q%m=4D6trR-hHC^a{>QvG z^B(9)oCj!lE`9?}Gr8XmDrCSu1|+=qsxSag zpb;0Zil1)4Gq2!@xR|k?jO)+?H5u`~;%g!cJ^shD;*05@|M?Y8)yWjuoQCwV9smoY znza1%HApibSzl=x@8Wt7SE4VN1g;^t#^5>$*EC!grGtm z;rasCc3k0pmeC$pH(bMTjm9+|*F;=Xam~baF|I3cEy2}@>tS4v<9Z3#I$R&&+K!9* zTSg35dtBwXvU=msLAVZ)4;(2*n}d4yYyRO#F@vbTtQ{*}r2ftQ$B7SYy05v-Eb(y+ zFQU*DVt!#8HerT9*PS_I`t+KPlwY`IjF7FCA}{5nd_)0N!Qa*ITD zmb5MvZ97zFw^dcnm_CiwXH?UbqJ^?wQWTigu@3U+-;4I5I!8`EfirSDy0=D3&FZ{P z?z@qWX0_GPJvzIs+maVHtMfbYb9BbJb9FCmIE^|5z1(?)otuZ%i=ignFE3gk8oRWe zdtomhy7Uaf5q_S0`t+%ha#WD<2{;O>&g#t1&s-`>dRAu_Wi-r~Ry3#*u~Y{+#d2kX zXxFwnHwOUCJa=xdIdf-EoqTp)F?W`KsVE#)ZM81S=c2vhqfKnuIq5D6+Hn_*pip&T zM}B4;l~lJ)!N&NUdciag4@I`DUnn|@>UJ`@P!zdeN1_GQ#kq5*&OUqEIg_XNQhm3# zWz8Z{%$O{!?vR%%)WDa-RcUDox23z+=%{MgRNZ{~B5@o2e@!M`NY-5`dYk=w_x(Tq Cf74I^ delta 39397 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ⅈAze?VFT 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 delta 35527 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�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 diff --git a/plugins/official/string-tools/dist/plugin.wasm.sources b/plugins/official/string-tools/dist/plugin.wasm.sources index c3e2eaa71..3f5453ccf 100644 --- a/plugins/official/string-tools/dist/plugin.wasm.sources +++ b/plugins/official/string-tools/dist/plugin.wasm.sources @@ -1 +1 @@ -59844ae52aa765af404b43f7895db94d0063a3a6fce5bd54bf9af680ccac357b +723d68d4de1ec8b6f246b1bd30e56f177df08f7bf3c17907b0ec9ef6cbdf1bf3 diff --git a/sdk/rust/openidea-plugin/src/commit.rs b/sdk/rust/openidea-plugin/src/commit.rs new file mode 100644 index 000000000..2c2d5a870 --- /dev/null +++ b/sdk/rust/openidea-plugin/src/commit.rs @@ -0,0 +1,38 @@ +//! Before-commit checks (world `plugin-commit-checks`): declare each under +//! `[[contributes.commitChecks]]` and register the export with +//! `register_plugin!(MyPlugin, commit_checks)`. They run when the user commits +//! (after the IDE's own checks, for the ones turned on in Commit Options); +//! problems stop the commit until the user changes it or chooses Commit Anyway. +//! Needs `vcs.read`. +//! +//! To read or set the message of the commit being prepared from a command, see +//! [`crate::host::pending_commit`] and [`crate::host::set_commit_message`]. + +use crate::{CommitDraft, Error, Invocation, Location}; + +/// Something the user should look at before committing. +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct CommitProblem { + /// One sentence, shown after the check's title. + pub message: String, + /// Where it is, opened from the problem; `None` for the commit as a whole. + pub location: Option, +} + +impl CommitProblem { + pub fn new(message: impl Into) -> Self { + Self { message: message.into(), location: None } + } + + pub fn at(mut self, location: Location) -> Self { + self.location = Some(location); + self + } +} + +/// The plugin's before-commit checks. +pub trait CommitChecks { + /// Runs the declared check `check` on `draft`: no problems lets the commit + /// go on. An error is reported as a problem of the check. + fn check(&mut self, check: &str, draft: &CommitDraft, ctx: &Invocation) -> Result, Error>; +} diff --git a/sdk/rust/openidea-plugin/src/host.rs b/sdk/rust/openidea-plugin/src/host.rs index 76b998a19..a5aceb139 100644 --- a/sdk/rust/openidea-plugin/src/host.rs +++ b/sdk/rust/openidea-plugin/src/host.rs @@ -212,6 +212,35 @@ mod imp { wit::vcs::remotes(p).map_err(error) } + pub fn pending_commit() -> Result, Error> { + wit::commit::pending_commit().map(|d| d.map(__draft_in)).map_err(error) + } + + pub fn set_commit_message(revision: u64, message: &str) -> Result<(), Error> { + wit::commit::set_commit_message(revision, message).map_err(error) + } + + #[doc(hidden)] + pub fn __draft_in(d: wit::commit::CommitDraft) -> CommitDraft { + CommitDraft { + revision: d.revision, + message: d.message, + amend: d.amend, + changes: d + .changes + .into_iter() + .map(|c| CommitChange { + repository: c.repository, + path: c.path, + old_path: c.old_path, + status: c.status, + diff: c.diff, + truncated: c.truncated, + }) + .collect(), + } + } + pub fn subscribe(k: EventKind) -> Result<(), Error> { wit::events::subscribe(k.name()).map_err(error) } @@ -427,6 +456,27 @@ impl Project { } } +#[cfg(target_arch = "wasm32")] +#[doc(hidden)] +pub use imp::__draft_in; + +/// The commit being prepared in the window the command or event came from: +/// the included files and changed blocks only, as Commit would commit them +/// (unsaved editors of those files are saved first). `None` when the window's +/// project has no repository. Only from a command or event of a window, in a +/// trusted project. Needs `vcs.read`. +pub fn pending_commit() -> Result, Error> { + imp::pending_commit() +} + +/// Replaces the commit message of that window, only while its draft is still +/// at `revision` ([`CommitDraft::revision`]); [`Error::Stale`] when the user +/// changed the message or the included changes meanwhile, and nothing changes. +/// Needs `vcs.write`. +pub fn set_commit_message(revision: u64, message: &str) -> Result<(), Error> { + imp::set_commit_message(revision, message) +} + /// Replaces the plugin's diagnostics for `path` (absolute, in an open /// project); an empty slice clears them. Needs `project.read`. pub fn publish_diagnostics(path: &str, items: &[Diagnostic]) -> Result<(), Error> { diff --git a/sdk/rust/openidea-plugin/src/lib.rs b/sdk/rust/openidea-plugin/src/lib.rs index 61625dbbd..04643cd27 100644 --- a/sdk/rust/openidea-plugin/src/lib.rs +++ b/sdk/rust/openidea-plugin/src/lib.rs @@ -39,6 +39,7 @@ //! Build with `openidea-plugin build` (or `cargo build --release --target //! wasm32-wasip2`); see `plugins/README.md`. +pub mod commit; pub mod host; pub mod hover; pub mod indexing; @@ -167,6 +168,23 @@ pub mod hover_bindings { }); } +#[cfg(target_arch = "wasm32")] +#[doc(hidden)] +pub mod commit_checks_bindings { + wit_bindgen::generate!({ + world: "commit-checks", path: "wit", pub_export_macro: true, + export_macro_name: "__export_commit_checks_world", + default_bindings_module: "openidea_plugin::commit_checks_bindings", + with: { + "openidea:plugin/types@1.3.0": crate::bindings::openidea::plugin::types, + "openidea:plugin/workspace@1.3.0": crate::bindings::openidea::plugin::workspace, + "openidea:plugin/editor@1.3.0": crate::bindings::openidea::plugin::editor, + "openidea:plugin/invocation@1.3.0": crate::bindings::openidea::plugin::invocation, + "openidea:plugin/commit@1.3.0": crate::bindings::openidea::plugin::commit, + }, + }); +} + /// The plugin API version this SDK targets. pub const API_VERSION: &str = "1.3"; @@ -230,6 +248,9 @@ macro_rules! __optional_exports { (hover, $plugin:ty, $component:ident) => { $crate::__hover_exports!($plugin, $component); }; + (commit_checks, $plugin:ty, $component:ident) => { + $crate::__commit_checks_exports!($plugin, $component); + }; (syntax, $plugin:ty, $component:ident) => { impl $crate::syntax_bindings::exports::openidea::plugin::syntax_provider::Guest for $component { fn highlights( @@ -382,6 +403,27 @@ macro_rules! __services_exports { }; } +/// `register_plugin!(T, commit_checks)`: `T` is also a [`commit::CommitChecks`]. +#[doc(hidden)] +#[macro_export] +macro_rules! __commit_checks_exports { + ($plugin:ty, $component:ident) => { + impl $crate::commit_checks_bindings::exports::openidea::plugin::commit_checker::Guest for $component { + fn check( + check: ::std::string::String, + draft: $crate::bindings::openidea::plugin::commit::CommitDraft, + ctx: &$crate::bindings::openidea::plugin::invocation::Invocation, + ) -> ::core::result::Result< + ::std::vec::Vec<$crate::commit_checks_bindings::exports::openidea::plugin::commit_checker::CommitProblem>, + $crate::bindings::openidea::plugin::types::Error, + > { + $crate::__rt::commit_check::<$plugin>(check, draft, ctx) + } + } + $crate::commit_checks_bindings::__export_commit_checks_world!($component with_types_in $crate::commit_checks_bindings); + }; +} + #[doc(hidden)] #[macro_export] macro_rules! __semantic_tokens_exports { @@ -797,6 +839,27 @@ pub mod __rt { with::(|p| p.detail(&view, &key, &ctx)).map(|tabs| tabs.into_iter().map(tab).collect()).map_err(error_out) } + pub fn commit_check( + check: String, + draft: b::commit::CommitDraft, + ctx: &b::invocation::Invocation, + ) -> Result< + Vec, + b::types::Error, + > { + use crate::commit_checks_bindings::exports::openidea::plugin::commit_checker as w; + let ctx = Invocation::__new(ctx); + let draft = crate::host::__draft_in(draft); + with::(|p| p.check(&check, &draft, &ctx)) + .map(|problems| { + problems + .into_iter() + .map(|p| w::CommitProblem { message: p.message, location: p.location.map(loc) }) + .collect() + }) + .map_err(error_out) + } + pub fn view_event( view: String, event: vt::ViewEvent, diff --git a/sdk/rust/openidea-plugin/src/mock.rs b/sdk/rust/openidea-plugin/src/mock.rs index aa4efa1c6..27c144a52 100644 --- a/sdk/rust/openidea-plugin/src/mock.rs +++ b/sdk/rust/openidea-plugin/src/mock.rs @@ -66,6 +66,7 @@ struct State { tasks: Vec, vcs: Option, remotes: Vec<(String, String)>, + commit: Option, fetches: u32, fetch_error: Option, clipboard: Option, @@ -250,6 +251,27 @@ impl MockHost { self.state.borrow().revealed_views.clone() } + /// The commit being prepared that [`crate::host::pending_commit`] returns + /// (`None`: no repository). + pub fn set_commit_draft(&self, draft: Option) { + self.state.borrow_mut().commit = draft; + } + + /// The draft as the plugin left it: [`crate::host::set_commit_message`] + /// replaces the message and moves the revision on. + pub fn commit_draft(&self) -> Option { + self.state.borrow().commit.clone() + } + + /// The user edits the draft: its revision moves on, so a later + /// [`crate::host::set_commit_message`] for the old one is stale. + pub fn edit_commit_message(&self, message: &str) { + if let Some(d) = self.state.borrow_mut().commit.as_mut() { + d.message = message.to_owned(); + d.revision += 1; + } + } + /// Makes `vcs-fetch` fail. pub fn fail_fetch(&self, error: Option) { self.state.borrow_mut().fetch_error = error; @@ -618,6 +640,26 @@ pub mod current { }) } + pub fn pending_commit() -> Result, Error> { + with(|s| { + require(s, "vcs.read")?; + Ok(s.commit.clone()) + }) + } + + pub fn set_commit_message(revision: u64, message: &str) -> Result<(), Error> { + with(|s| { + require(s, "vcs.write")?; + let draft = s.commit.as_mut().ok_or_else(|| Error::Invalid("no repository".into()))?; + if draft.revision != revision { + return Err(Error::Stale); + } + draft.message = message.to_owned(); + draft.revision += 1; + Ok(()) + }) + } + pub fn subscribe(kind: EventKind) -> Result<(), Error> { with(|s| { let cap = match kind { diff --git a/sdk/rust/openidea-plugin/src/types.rs b/sdk/rust/openidea-plugin/src/types.rs index 4e0eb1140..8538213a2 100644 --- a/sdk/rust/openidea-plugin/src/types.rs +++ b/sdk/rust/openidea-plugin/src/types.rs @@ -294,6 +294,35 @@ pub struct RepositoryStatus { pub changed_files: u32, } +/// A file the commit being prepared changes ([`crate::host::pending_commit`]). +#[derive(Clone, Debug, Default, PartialEq, Eq)] +pub struct CommitChange { + /// Absolute path of the working tree root of its repository. + pub repository: String, + /// Absolute path (after a rename, the new one). + pub path: String, + /// The path before a rename or copy. + pub old_path: Option, + /// `added`, `modified`, `deleted`, `renamed`, `copied` or `type-changed`. + pub status: String, + /// The included changes in `git diff` format against HEAD; `None` for binary content. + pub diff: Option, + /// `diff` was cut at the size limit (1 MiB for all the changes). + pub truncated: bool, +} + +/// What Commit would commit right now. +#[derive(Clone, Debug, Default, PartialEq, Eq)] +pub struct CommitDraft { + /// Changes with the message, the included changes or Amend; pass it to + /// [`crate::host::set_commit_message`]. + pub revision: u64, + pub message: String, + /// The commit replaces the last one; `changes` are still against HEAD. + pub amend: bool, + pub changes: Vec, +} + /// A range in a file. #[derive(Clone, Debug, PartialEq, Eq)] pub struct Location { diff --git a/sdk/rust/openidea-plugin/wit/commit.wit b/sdk/rust/openidea-plugin/wit/commit.wit new file mode 100644 index 000000000..a70b889c1 --- /dev/null +++ b/sdk/rust/openidea-plugin/wit/commit.wit @@ -0,0 +1,75 @@ +package openidea:plugin@1.3.0; + +/// The commit being prepared in the window the current command or event came +/// from (the Commit tool window, or the Commit dialog while it is open): the +/// changes it holds and its message. +interface commit { + use types.{error}; + + /// A file the commit changes. + record commit-change { + /// Absolute path of the working tree root of its repository. + repository: string, + /// Absolute path (after a rename, the new one). + path: string, + /// The path before a rename or copy. + old-path: option, + /// `added`, `modified`, `deleted`, `renamed`, `copied` or + /// `type-changed` (more may be added). + status: string, + /// What the commit changes in the file, in `git diff` format against + /// HEAD: only the changed blocks included in the commit. `none` for + /// binary content. + diff: option, + /// `diff` was cut at the size limit (1 MiB for all the changes). + truncated: bool, + } + + /// What Commit would commit right now. + record commit-draft { + /// Changes whenever the message, the included changes or Amend do. + revision: u64, + message: string, + /// The commit replaces the last one (Amend); `changes` are still + /// against HEAD, so they don't include the last commit's own. + amend: bool, + changes: list, + } + + /// The commit being prepared, as Commit would make it: the included + /// files and changed blocks only. Unsaved editors of the included files + /// are saved first, as Commit does; nothing is staged or committed. + /// `none` when the window's project has no repository. Fails with + /// `invalid` outside a command or event of a window, and in a project that + /// is not trusted. Requires `vcs.read`. + pending-commit: func() -> result, error>; + /// Replaces the commit message, only if the draft is still at `revision` + /// (else `stale`, and nothing changes): text the user typed meanwhile is + /// never overwritten. The user reviews it and commits. Same windows as + /// `pending-commit`. Requires `vcs.write`. + set-commit-message: func(revision: u64, message: string) -> result<_, error>; +} + +/// Before-commit checks (`[[contributes.commitChecks]]`), run when the user +/// commits, after the IDE's own checks, for the checks enabled in Commit +/// Options. Problems stop the commit and show beside the message until the +/// user changes it or chooses Commit Anyway. Requires `vcs.read`. +interface commit-checker { + use types.{error, location}; + use invocation.{invocation}; + use commit.{commit-draft}; + + /// Something the user should look at before committing. + record commit-problem { + /// One sentence, shown after the check's title. + message: string, + /// Where it is, opened from the problem; `none` for the commit as a + /// whole (its message, for instance). + location: option, + } + + /// Runs the declared check `check` on `draft`: no problems lets the commit + /// go on. A call that fails or runs out of time is reported as a problem + /// of the check. + check: func(check: string, draft: commit-draft, ctx: borrow) -> result, error>; +} diff --git a/sdk/rust/openidea-plugin/wit/plugin.wit b/sdk/rust/openidea-plugin/wit/plugin.wit index f6d5970b1..d52196cac 100644 --- a/sdk/rust/openidea-plugin/wit/plugin.wit +++ b/sdk/rust/openidea-plugin/wit/plugin.wit @@ -17,6 +17,7 @@ world plugin { import editor; import invocation; import vcs; + import commit; import events; import tasks; import diagnostics; @@ -73,6 +74,12 @@ world plugin-services { export service-provider; } +/// A plugin with before-commit checks (`[[contributes.commitChecks]]`). +world plugin-commit-checks { + include plugin; + export commit-checker; +} + /// Only the `syntax-provider` export: guests generate it next to `plugin` /// (the component tools merge both into one component). world syntax { @@ -106,3 +113,8 @@ world hover { world services { export service-provider; } + +/// Only the `commit-checker` export, generated next to `plugin` like `syntax`. +world commit-checks { + export commit-checker; +} diff --git a/src-tauri/src/commands/mod.rs b/src-tauri/src/commands/mod.rs index 447cd5052..02f4ec7b8 100644 --- a/src-tauri/src/commands/mod.rs +++ b/src-tauri/src/commands/mod.rs @@ -487,6 +487,8 @@ pub fn builder() -> tauri_specta::Builder { plugin::plugin_context_keys, plugin::plugin_cancel_task, plugin::plugin_answer_prompt, + plugin::plugin_answer_commit, + plugin::plugin_commit_checks, plugin::plugin_view_render, plugin::plugin_view_event, plugin::plugin_service_detail, diff --git a/src-tauri/src/commands/plugin.rs b/src-tauri/src/commands/plugin.rs index 33598f630..91587350a 100644 --- a/src-tauri/src/commands/plugin.rs +++ b/src-tauri/src/commands/plugin.rs @@ -393,6 +393,33 @@ pub fn plugin_answer_prompt(state: State<'_, AppState>, prompt_id: String, answe state.plugins.answer_prompt(&prompt_id, answer) } +/// A window's answer to a plugin's `commitRequested`; false when the call no +/// longer waits. +#[tauri::command] +#[specta::specta] +pub fn plugin_answer_commit( + state: State<'_, AppState>, + request_id: String, + answer: ide_host::plugins::CommitAnswer, +) -> bool { + state.plugins.answer_commit(&request_id, answer) +} + +/// Runs plugins' before-commit checks on what `selection` commits, until +/// `request` is cancelled. +#[tauri::command] +#[specta::specta] +pub async fn plugin_commit_checks( + window: Window, + state: State<'_, AppState>, + selection: ide_host::plugins::CommitSelection, + checks: Vec, + request: ide_core::RequestId, +) -> IdeResult> { + let plugins = state.plugins.clone(); + ide_host::plugins::commit::commit_checks(&state.host, plugins, window.label(), selection, checks, request).await +} + /// Gutter markers of plugin `line-markers` providers for an open document. #[tauri::command] #[specta::specta] diff --git a/src/bindings.ts b/src/bindings.ts index 5ff5d418f..51f925b70 100644 --- a/src/bindings.ts +++ b/src/bindings.ts @@ -1072,6 +1072,16 @@ export const commands = { * (pick), `[text]` (input), anything (confirm: OK), or `None` when dismissed. */ pluginAnswerPrompt: (promptId: string, answer: string[] | null) => __TAURI_INVOKE("plugin_answer_prompt", { promptId, answer }), + /** + * A window's answer to a plugin's `commitRequested`; false when the call no + * longer waits. + */ + pluginAnswerCommit: (requestId: string, answer: CommitAnswer) => __TAURI_INVOKE("plugin_answer_commit", { requestId, answer }), + /** + * Runs plugins' before-commit checks on what `selection` commits, until + * `request` is cancelled. + */ + pluginCommitChecks: (selection: CommitSelection, checks: PluginCommitCheckRef[], request: RequestId) => typedError(__TAURI_INVOKE("plugin_commit_checks", { selection, checks, request })), /** * Content of a plugin view (`doc`: the document of a custom editor; `editor`: for * a tool window, the window's active editor, as commands get it). @@ -2320,6 +2330,15 @@ export type CommandForm = { export type Commit = Commit_Serialize | Commit_Deserialize; +/** A window's answer to a [`CommitRequest`]. */ +export type CommitAnswer = +/** The window's project has no repository. */ +{ kind: "noRepository" } | { kind: "selection"; selection: CommitSelection } | +/** The message was replaced. */ +{ kind: "done" } | +/** The draft is no longer at the revision. */ +{ kind: "stale" }; + /** Commit Options (IDEA's commit options popup). */ export type CommitOptions = { amend: boolean, @@ -2340,6 +2359,41 @@ export type CommitOptions = { exclude?: IpcPath[], }; +/** A problem a plugin's before-commit check reported (WIT `commit-checker.commit-problem`). */ +export type CommitProblem = { + message: string, + /** Absolute path of the file it is in, if any (IPC form). */ + path: string | null, + range: Range | null, +}; + +/** What a plugin asks of a window's Commit view. */ +export type CommitRequest = +/** + * What Commit would commit now ([`CommitAnswer::Selection`]); unsaved + * editors of the included files are saved first. + */ +{ kind: "selection" } | +/** Replace the message if the draft is still at `revision`. */ +{ kind: "setMessage"; revision: number; message: string }; + +/** + * What a window's Commit view would commit: per repository, the options + * `vcs_commit` would get. + */ +export type CommitSelection = { + /** Changes whenever the message, the included changes or Amend do. */ + revision: number, + message: string, + amend: boolean, + repositories: CommitSelectionRepo[], +}; + +export type CommitSelectionRepo = { + root: IpcPath, + options: CommitOptions, +}; + /** Version Control › Commit: commit checks and commit-message inspections. */ export type CommitSettings = { /** @@ -2361,6 +2415,8 @@ export type CommitSettings = { bodyLimit?: number, showRightMargin?: boolean, wrapAtMargin?: boolean, + /** Plugin before-commit checks turned off (`/`); the rest run. */ + disabledPluginChecks?: string[], }; export type Commit_Deserialize = { @@ -5771,6 +5827,23 @@ export type PickItem = { description: string | null, }; +/** A plugin's before-commit check to run (`[[contributes.commitChecks]]`). */ +export type PluginCommitCheckRef = { + pluginId: string, + check: string, +}; + +/** What a plugin's before-commit check found. */ +export type PluginCommitCheckResult = { + pluginId: string, + check: string, + /** The check's declared title. */ + title: string, + problems: CommitProblem[], + /** The check could not run (the plugin failed, timed out or lacks `vcs.read`). */ + error: string | null, +}; + /** A plugin's context key for `when` clauses (`value` is JSON text). */ export type PluginContextKey = { pluginId: string, @@ -5838,7 +5911,12 @@ export type PluginEvent = /** The call that asked gave up (cancelled, or its plugin stopped): close the prompt. */ { type: "promptClosed"; promptId: string } | /** Bring the tool window of the plugin's view `view` to the front. */ -{ type: "revealView"; pluginId: string; view: string }; +{ type: "revealView"; pluginId: string; view: string } | +/** + * A command needs the window's Commit view: answer with + * `plugin_answer_commit(request_id, …)`. Closed like a prompt (`PromptClosed`). + */ +{ type: "commitRequested"; pluginId: string; requestId: string; request: CommitRequest }; /** A plugin's own icon (`icon`, `icon-dark` of its manifest): sanitised SVG markup. */ export type PluginIcon = { diff --git a/src/features/plugins/backend.ts b/src/features/plugins/backend.ts index a0cbbc43a..ede2d0e8b 100644 --- a/src/features/plugins/backend.ts +++ b/src/features/plugins/backend.ts @@ -8,12 +8,16 @@ import type { ActiveTheme, CapabilityInfo, CatalogPlugin, + CommitAnswer, + CommitSelection, Consent, EventKind, InstalledIntellijTheme, InstallPreview, IntellijThemeSource, MarketPlugin, + PluginCommitCheckRef, + PluginCommitCheckResult, PluginContextKey, PluginEditor, PluginEvent, @@ -68,6 +72,10 @@ export interface PluginsBackend { cancelTask(taskId: string): Promise; /** Reports the answer to a plugin's `promptRequested`: keys, `[text]`, anything for OK, `null` when dismissed. */ answerPrompt(promptId: string, answer: string[] | null): Promise; + /** This window's answer to a plugin's `commitRequested`. */ + answerCommit(requestId: string, answer: CommitAnswer): Promise; + /** Runs plugins' before-commit checks on what `selection` commits. */ + commitChecks(selection: CommitSelection, checks: PluginCommitCheckRef[]): Promise; /** Marketplace plugins: the index read again (`refresh`) or the last one read. */ market(refresh: boolean): Promise; marketUrl(): Promise; @@ -187,6 +195,10 @@ export const tauriPluginsBackend: PluginsBackend = { answerPrompt: async (promptId, answer) => { await commands.pluginAnswerPrompt(promptId, answer); }, + answerCommit: async (requestId, answer) => { + await commands.pluginAnswerCommit(requestId, answer); + }, + commitChecks: (selection, checks) => call(commands.pluginCommitChecks(selection, checks, nextRequestId())), market: (refresh) => call(commands.pluginMarket(refresh)), marketUrl: () => commands.pluginMarketUrl(), setMarketUrl: async (url) => { @@ -569,6 +581,8 @@ export function createMemoryPluginsBackend( }), viewEvent: async () => {}, serviceDetail: async () => [], + answerCommit: async () => {}, + commitChecks: async () => [], serviceLog: (pluginId, view, key, _tab, _on, _onLine, onError) => { onError(`${pluginId} · ${view} · ${key}: logs need the desktop app`); return () => {}; diff --git a/src/features/plugins/runtimeUi.tsx b/src/features/plugins/runtimeUi.tsx index 45ddd8a49..0951cbca3 100644 --- a/src/features/plugins/runtimeUi.tsx +++ b/src/features/plugins/runtimeUi.tsx @@ -5,7 +5,16 @@ * batches. */ import { create } from "zustand"; -import type { EventKind, PluginContextKey, PluginEvent, Prompt, StatusItem, WorkbenchEvent } from "@/bindings"; +import type { + CommitAnswer, + CommitRequest, + EventKind, + PluginContextKey, + PluginEvent, + Prompt, + StatusItem, + WorkbenchEvent, +} from "@/bindings"; import { onEditorEvent } from "@/editor/api"; import { executeAction, getAction, onActionExecuted } from "@/platform/actions"; import { clearContext, setContext, type ContextValue } from "@/platform/context"; @@ -14,7 +23,12 @@ import { openExternalUrl } from "@/platform/openUrl"; import { useProject } from "@/platform/project"; import { shortcutLabel } from "@/platform/keymap"; import { BarButton } from "@/ui/BarButton"; -import { maybeEditorService, registerStatusItem, toolWindowService } from "@/workbench/contributions"; +import { + maybeCommitService, + maybeEditorService, + registerStatusItem, + toolWindowService, +} from "@/workbench/contributions"; import { pickItems, promptInput } from "@/workbench/inputDialogs"; import { confirm } from "@/workbench/messages"; import { removeTask, upsertTask, useTasks } from "@/workbench/tasks"; @@ -327,6 +341,28 @@ async function answerPrompt(promptId: string, prompt: Prompt) { .catch(() => {}); } +/** Answers a plugin's request to this window's Commit view (`commit` API). */ +async function answerCommit(requestId: string, request: CommitRequest) { + const commit = maybeCommitService(); + let answer: CommitAnswer; + try { + if (request.kind === "selection") { + const selection = commit ? await commit.selection() : null; + answer = selection ? { kind: "selection", selection } : { kind: "noRepository" }; + } else if (!commit) { + answer = { kind: "noRepository" }; + } else { + answer = commit.setMessage(request.revision, request.message) ? { kind: "done" } : { kind: "stale" }; + } + } catch { + // The selection could not be read (e.g. a file vanished): the plugin sees a stale draft. + answer = { kind: "stale" }; + } + await pluginsBackend() + .answerCommit(requestId, answer) + .catch(() => {}); +} + /** Handles the runtime UI events; returns whether `e` was one. */ export function handleRuntimeEvent(e: PluginEvent): boolean { switch (e.type) { @@ -370,6 +406,9 @@ export function handleRuntimeEvent(e: PluginEvent): boolean { openPrompts.get(e.promptId)?.abort(); openPrompts.delete(e.promptId); return true; + case "commitRequested": + void answerCommit(e.requestId, e.request); + return true; case "revealView": toolWindowService().show(pluginToolWindowId(e.pluginId, e.view), true); return true; diff --git a/src/features/plugins/uiPoints.tsx b/src/features/plugins/uiPoints.tsx index a3eaa494e..bbd89295b 100644 --- a/src/features/plugins/uiPoints.tsx +++ b/src/features/plugins/uiPoints.tsx @@ -2,7 +2,8 @@ * Client side of the plugin UI points: declarations the * backend validated, projected onto the workbench's own registries. * - * - `menus`: editor / project view / editor tab context menus, and Tools in the main menu; + * - `menus`: editor / project view / editor tab context menus, Tools in the main menu, and the + * toolbar above the commit message; * - `keymaps`: default shortcuts below the IDE's (a taken keystroke is dropped); * - `statusBar`: items shown before the code runs (its `set-status-item` with the same id updates them); * - `settings`: a page under Settings › Plugins generated from the schema; @@ -10,7 +11,8 @@ * - `customEditors`: files opening in a plugin editor sharing the text document, in its own tab or * beside the text editor; * - `fileIcons`: icons for the files a plugin knows, whatever icon theme is in use; - * - `fileTemplates`: entries of the New menu. + * - `fileTemplates`: entries of the New menu; + * - `commitChecks`: before-commit checks listed in Commit Options, run by the plugin's code. */ import { useMemo } from "react"; import type { PluginInfo } from "@/bindings"; @@ -32,6 +34,7 @@ import { addContributedFileTemplate } from "@/features/templates/files/store"; import { registerEditorKind, registerFileEditorProvider, + registerCommitCheckProvider, registerMenuGroup, registerMenuSlotItem, registerServiceProvider, @@ -40,9 +43,11 @@ import { registerToolWindow, useSettingsForm, type ContextMenuId, + type ContributedCommitProblem, type ToolWindowAnchor, } from "@/workbench/contributions"; import { pluginsBackend } from "./backend"; +import { pluginIconName } from "./pluginIcon"; import { usePlugins } from "./store"; import { pluginActionId } from "./points"; import { defineUiPoint } from "./projection"; @@ -66,7 +71,13 @@ import styles from "./PluginsPage.module.css"; // --- menus ------------------------------------------------------------------------ interface MenuDecl { - menu: "editor.context" | "projectView.context" | "editorTab.context" | "viewItem.context" | "tools"; + menu: + | "editor.context" + | "projectView.context" + | "editorTab.context" + | "viewItem.context" + | "tools" + | "commit.message"; view?: string | null; command: string; when?: string | null; @@ -118,11 +129,81 @@ function projectMenu(pluginId: string, decl: MenuDecl, plugin: PluginInfo): () = const title = getAction(action)?.title ?? `${plugin.name}: ${decl.command}`; return registerMenuSlotItem("pluginTools", { action, label: title }); } + if (decl.menu === "commit.message") { + const action = pluginActionId(pluginId, decl.command); + const label = getAction(action)?.title ?? `${plugin.name}: ${decl.command}`; + return registerMenuSlotItem("commitMessage", { + action, + label, + icon: pluginIconName(pluginId, plugin.icon), + when: decl.when ?? null, + }); + } const key = `${++menuSeq}`; contextItems.set(key, { pluginId, decl }); return () => void contextItems.delete(key); } +// --- commit checks ---------------------------------------------------------------- + +interface CommitCheckDecl { + id: string; + title: string; +} + +/** Declared before-commit checks by `/`. */ +const commitChecks = new Map(); +let unregisterCommitChecks: (() => void) | null = null; + +/** (Re)publishes the checks, so Commit Options sees the change. */ +function publishCommitChecks() { + unregisterCommitChecks?.(); + unregisterCommitChecks = null; + if (!commitChecks.size) return; + const snapshot = [...commitChecks.entries()]; + unregisterCommitChecks = registerCommitCheckProvider({ + checks: () => snapshot.map(([key, c]) => ({ key, title: c.title })), + run: async (selection, keys) => { + const refs = keys.flatMap((k) => { + const c = commitChecks.get(k); + return c ? [{ pluginId: c.pluginId, check: c.check }] : []; + }); + const results = await pluginsBackend() + .commitChecks(selection, refs) + .catch((e: unknown) => + refs.map((r) => ({ + ...r, + title: commitChecks.get(`${r.pluginId}/${r.check}`)?.title ?? r.check, + problems: [], + error: e instanceof Error ? e.message : String(e), + })), + ); + return results.flatMap((r): ContributedCommitProblem[] => + r.error !== null + ? [{ title: r.title, message: couldNotRun(r.error) }] + : r.problems.map((p) => ({ + title: r.title, + message: p.message, + path: p.path ?? undefined, + line: p.range?.start.line, + })), + ); + }, + }); +} + +const couldNotRun = (reason: string) => tx`The check could not run: ${reason}`; + +function projectCommitCheck(pluginId: string, decl: CommitCheckDecl): () => void { + const key = `${pluginId}/${decl.id}`; + commitChecks.set(key, { pluginId, check: decl.id, title: decl.title }); + publishCommitChecks(); + return () => { + commitChecks.delete(key); + publishCommitChecks(); + }; +} + // --- keymaps ---------------------------------------------------------------------- interface KeymapDecl { @@ -432,6 +513,10 @@ export function defineViewUiPoints(): () => void { title: "File Icons", project: ({ pluginId, decl }) => projectFileIcon(pluginId, decl), }), + defineUiPoint("commitChecks", { + title: "Commit Checks", + project: ({ pluginId, decl }) => projectCommitCheck(pluginId, decl), + }), defineUiPoint("fileTemplates", { title: "File Templates", project: ({ pluginId, decl }) => diff --git a/src/features/vcs/CommitOptions.tsx b/src/features/vcs/CommitOptions.tsx index 255469fbb..9c0799689 100644 --- a/src/features/vcs/CommitOptions.tsx +++ b/src/features/vcs/CommitOptions.tsx @@ -7,7 +7,8 @@ import type { ReactNode, RefObject } from "react"; import { executeAction } from "@/platform/actions"; import { call, commands, isTauri } from "@/platform/ipc"; import { loadSettings } from "@/platform/project"; -import { useWorkflowSettings } from "@/platform/workflowSettings"; +import { useWorkflowSettings, workflowSettings } from "@/platform/workflowSettings"; +import { useCommitCheckProviders } from "@/workbench/contributions"; import { Checkbox, Input, Popup, T } from "@/ui"; import { useCommit } from "./commitStore"; import styles from "./CommitView.module.css"; @@ -24,6 +25,19 @@ async function setCheck(key: CommitCheck, value: boolean) { } } +async function setContributedCheck(key: string, on: boolean) { + if (!isTauri()) return; + const off = new Set(workflowSettings().vcs.commit.disabledPluginChecks); + if (on) off.delete(key); + else off.add(key); + try { + await call(commands.settingsSet("global", "vcs.commit.disabledPluginChecks", JSON.stringify([...off].sort()))); + await loadSettings(); + } catch { + // keep the previous value + } +} + function Section({ title, children }: { title: string; children: ReactNode }) { return (

@@ -49,6 +63,7 @@ export function CommitOptionsBody() { const signOff = useCommit((s) => s.signOff); const runHooks = useCommit((s) => s.runHooks); const c = useWorkflowSettings((s) => s.vcs.commit); + const contributed = useCommitCheckProviders((s) => s.providers).flatMap((p) => p.checks()); const check = (key: CommitCheck, label: string, extra?: ReactNode) => (
void setCheck(key, v)} label={label} /> @@ -80,6 +95,15 @@ export function CommitOptionsBody() {
{check("analyzeCode", "Analyze code")} {check("checkTodo", "Check TODO", )} + {contributed.map((k) => ( +
+ void setContributedCheck(k.key, v)} + label={k.title} + /> +
+ ))}
); diff --git a/src/features/vcs/CommitView.tsx b/src/features/vcs/CommitView.tsx index d9beae481..e6498a6f8 100644 --- a/src/features/vcs/CommitView.tsx +++ b/src/features/vcs/CommitView.tsx @@ -33,7 +33,8 @@ import { type TreeHandle, T, } from "@/ui"; -import { editorService } from "@/workbench/contributions"; +import { editorService, useMenuSlotItems } from "@/workbench/contributions"; +import { evaluateWhen, useContextKeys } from "@/platform/context"; import { useToolWindowLayout } from "@/workbench/toolwindows/store"; import { aggregateCheck, @@ -931,6 +932,7 @@ export function CommitMessageField({ included, runner }: { included: number; run }, }))} /> + {tooLong && ( @@ -999,6 +1001,21 @@ export function CommitMessageField({ included, runner }: { included: number; run ); } +/** Actions contributed above the message (a plugin's `commit.message` menu items). */ +function CommitMessageActions() { + const items = useMenuSlotItems((s) => s.slots.commitMessage); + useContextKeys(); + return ( + <> + {(items ?? []) + .filter((i) => evaluateWhen(i.when ?? undefined)) + .map((i) => ( + + ))} + + ); +} + /** Label of the Commit button. */ export function commitLabel(amend: boolean, problems: boolean): string { return problems ? "Commit Anyway" : amend ? "Amend Commit" : "Commit"; diff --git a/src/features/vcs/__tests__/pluginCommit.test.ts b/src/features/vcs/__tests__/pluginCommit.test.ts new file mode 100644 index 000000000..cb2fa5821 --- /dev/null +++ b/src/features/vcs/__tests__/pluginCommit.test.ts @@ -0,0 +1,110 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +const commit = vi.hoisted(() => vi.fn()); + +vi.mock("@/platform/ipc", async (importOriginal) => { + const real = await importOriginal(); + const ok = (data: unknown) => Promise.resolve({ status: "ok" as const, data }); + return { + ...real, + isTauri: () => false, + call: async (p: Promise<{ status: "ok"; data: unknown }>) => (await p).data, + commands: { ...real.commands, vcsCommit: commit.mockImplementation(() => ok("commit1")) }, + }; +}); + +import type { CommitSelection, FileStatus } from "@/bindings"; +import { maybeCommitService, registerCommitCheckProvider } from "@/workbench/contributions"; +import { commitChanges } from "../changeOps"; +import { draftRevision, installDraftRevision, provideCommit } from "../commitSelection"; +import { useCommit } from "../commitStore"; +import { useVcs } from "../store"; + +const files: FileStatus[] = ["a", "b"].map((n) => ({ + path: `/p/${n}.ts`, + relPath: `${n}.ts`, + staged: null, + unstaged: "modified", + renamedFrom: null, +})); + +let disposers: Array<() => void> = []; + +beforeEach(() => { + localStorage.clear(); + commit.mockClear(); + useVcs.setState({ + available: false, + root: "/p", + repo: "/p", + roots: ["/p"], + status: files, + branch: null, + operations: {}, + }); + useCommit.setState({ + message: "feat: x", + amend: false, + checks: new Map([["/p/b.ts", "none" as const]]), + excludedHunks: new Map(), + checkProblems: [], + }); + disposers = [installDraftRevision(), provideCommit()]; +}); + +afterEach(() => disposers.reverse().forEach((d) => d())); + +describe("the commit plugins see", () => { + it("is what Commit would commit, and the message is replaced only at its revision", async () => { + const service = maybeCommitService()!; + const selection = (await service.selection())!; + expect(selection.message).toBe("feat: x"); + expect(selection.repositories).toEqual([ + { root: "/p", options: expect.objectContaining({ stage: ["/p/a.ts"], exclude: [], partial: [] }) }, + ]); + + // The user types meanwhile: the plugin's message would overwrite it. + useCommit.setState({ message: "feat: typed" }); + expect(service.setMessage(selection.revision, "generated")).toBe(false); + expect(useCommit.getState().message).toBe("feat: typed"); + + expect(service.setMessage(draftRevision(), "generated")).toBe(true); + expect(useCommit.getState().message).toBe("generated"); + // Including another file is a new draft too. + const before = draftRevision(); + useCommit.setState({ checks: new Map() }); + expect(draftRevision()).toBeGreaterThan(before); + }); + + it("is null without a repository", async () => { + useVcs.setState({ root: null }); + expect(await maybeCommitService()!.selection()).toBeNull(); + expect(maybeCommitService()!.setMessage(draftRevision(), "x")).toBe(false); + }); +}); + +describe("contributed before-commit checks", () => { + it("stop the commit with their problems, and run on what it commits", async () => { + const seen: Array<{ selection: CommitSelection; keys: string[] }> = []; + disposers.push( + registerCommitCheckProvider({ + checks: () => [{ key: "acme/markers", title: "Markers" }], + run: async (selection, keys) => { + seen.push({ selection, keys }); + return [{ title: "Markers", message: "Remove the marker.", path: "/p/a.ts", line: 3 }]; + }, + }), + ); + expect(await commitChanges()).toBeUndefined(); + expect(commit).not.toHaveBeenCalled(); + expect(seen).toHaveLength(1); + expect(seen[0]!.keys).toEqual(["acme/markers"]); + expect(seen[0]!.selection.repositories[0]!.options.stage).toEqual(["/p/a.ts"]); + const [problem] = useCommit.getState().checkProblems; + expect(problem).toMatchObject({ title: "Markers", text: "Remove the marker.", details: { label: "a.ts:4" } }); + + // Commit Anyway: the shown problems are not asked again. + expect(await commitChanges()).toBe("commit1"); + expect(seen).toHaveLength(1); + }); +}); diff --git a/src/features/vcs/changeOps.tsx b/src/features/vcs/changeOps.tsx index 53b6df13d..581969258 100644 --- a/src/features/vcs/changeOps.tsx +++ b/src/features/vcs/changeOps.tsx @@ -1,18 +1,17 @@ /** Local change operations: commit, rollback, add, stash. */ import { useEffect, useState } from "react"; -import type { FileStatus, PartialCommitFile, Stash } from "@/bindings"; +import type { FileStatus, Stash } from "@/bindings"; import { call, commands } from "@/platform/ipc"; import { Checkbox, Dialog, Icon, Input, T, fileIconName } from "@/ui"; import { notifications } from "@/workbench/contributions"; -import { commitRepos, groupOf, planCommit, remainingOverrides, renamedFromPath } from "./changes"; -import { useChangelists, withListDefaults } from "./changelists"; +import { groupOf, remainingOverrides, renamedFromPath } from "./changes"; import { runCommitChecks } from "./commitChecks"; +import { contributedCheckProblems, currentPlan, selectionOf } from "./commitSelection"; import { forgetAmendDraft, keepMessageAfterCommit, rememberMessage, useCommit } from "./commitStore"; import { workflowSettings } from "@/platform/workflowSettings"; import { notifyFileOperation } from "@/platform/fileOps"; import { confirmDialog, openDialog } from "./dialogs"; -import { hunkKeys } from "./hunks"; -import { KIND_COLOR, baseName, dirName, effectiveKind, relTo, rootOf, stripSlash } from "./model"; +import { KIND_COLOR, baseName, dirName, effectiveKind, relTo, stripSlash } from "./model"; import { logConsole, runOp, saveAll } from "./ops"; import { currentRepo, loadStashes, refreshNow, useVcs } from "./store"; import styles from "./common.module.css"; @@ -29,21 +28,14 @@ export function firstLine(message: string): string { /** Stages the included changes and commits them. Returns the new commit id. */ export async function commitChanges(): Promise { - const { message, amend, signOff, author, runHooks } = useCommit.getState(); + const { message, amend } = useCommit.getState(); if (!message.trim() && !amend) { notifications().notify({ group: "vcs", level: "warning", title: "Commit message is empty" }); return undefined; } await saveAll(); await refreshNow(); - const status = useVcs.getState().status; - const checks = withListDefaults( - status, - useVcs.getState().root ?? "", - useChangelists.getState().state, - useCommit.getState().checks, - ); - const plan = planCommit(status, checks); + const plan = currentPlan(); // Concluding a merge needs no further changes (e.g. every conflict resolved as "yours"). const merging = useVcs.getState().branch?.operation === "merge"; if (!plan.included.length && !amend && !merging) { @@ -62,36 +54,29 @@ export async function commitChanges(): Promise { } const candidates = plan.included.map((f) => ({ path: stripSlash(f.path), exists: effectiveKind(f) !== "deleted" })); // IDEA: failed checks show in the commit panel; the next Commit ("Commit Anyway") skips them. - if (!useCommit.getState().checkProblems.length) { + const checked = !useCommit.getState().checkProblems.length; + if (checked) { const problems = await runCommitChecks(candidates, amend); if (problems.length) { useCommit.setState({ checkProblems: problems }); return undefined; } } - const partial = await partialCommitFiles(plan.partial); - // Like IDEA, every repository with included changes gets a commit with the same message. - const roots = useVcs.getState().roots; - const repos = commitRepos(plan.included, roots, currentRepo()); + // After the checks: their modifications (reformat…) are part of the commit. + const selection = await selectionOf(plan); + if (checked) { + const problems = await contributedCheckProblems(selection); + if (problems.length) { + useCommit.setState({ checkProblems: problems }); + return undefined; + } + } const id = await runOp( amend ? "Amend commit" : "Commit", async () => { - // The commit is made from a copy of the index, so changes left out keep their - // staged state and the other repositories' indexes stay as they are. - const stage = [...plan.stage, ...partial.whole]; let id = ""; - for (const repo of repos) { - const inRepo = (path: string) => repos.length === 1 || (rootOf(path, roots) ?? null) === repo; - const options = { - amend, - signOff, - author: author.trim() || null, - runHooks, - partial: partial.files.filter((f) => inRepo(f.path)), - stage: stage.filter(inRepo), - exclude: plan.exclude.filter(inRepo), - }; - id = await call(commands.vcsCommit(repo, message.trim(), options)); + for (const repo of selection.repositories) { + id = await call(commands.vcsCommit(repo.root || null, message.trim(), repo.options)); } return id; }, @@ -99,7 +84,7 @@ export async function commitChanges(): Promise { success: () => { const n = plan.included.length; const summary = firstLine(message); - const several = repos.length; + const several = selection.repositories.length; const done = amend ? several > 1 ? n === 1 @@ -135,31 +120,6 @@ export async function commitChanges(): Promise { return id; } -/** - * The included blocks of files committed partially, as hunk ranges against HEAD of the - * text on disk (saved just before). A file whose blocks are all included again (e.g. it - * was edited since) is committed whole. - */ -async function partialCommitFiles(paths: readonly string[]): Promise<{ files: PartialCommitFile[]; whole: string[] }> { - const files: PartialCommitFile[] = []; - const whole: string[] = []; - const excludedHunks = useCommit.getState().excludedHunks; - for (const path of paths) { - const [head, disk] = await Promise.all([call(commands.vcsFileAt(path, "HEAD")), call(commands.fsReadText(path))]); - const hunks = await commands.vcsDiffHunks(head ?? "", disk); - const keys = hunkKeys(disk, hunks); - const excluded = excludedHunks.get(path) ?? excludedHunks.get(`${path}/`); - const chosen = hunks.filter((_, i) => !excluded?.has(keys[i]!)); - if (chosen.length === hunks.length) whole.push(path); - else - files.push({ - path, - hunks: chosen.map(({ start, lines, oldStart, oldLines }) => ({ start, lines, oldStart, oldLines })), - }); - } - return { files, whole }; -} - /** Delete… on unversioned files in the Changes view, as in IDEA: they move to the Trash. */ /** Delete… in the Changes view: moves the files to the Trash (a tracked file then shows as deleted). */ export async function deleteFiles(paths: readonly string[]) { diff --git a/src/features/vcs/commitSelection.ts b/src/features/vcs/commitSelection.ts new file mode 100644 index 000000000..81aa79f91 --- /dev/null +++ b/src/features/vcs/commitSelection.ts @@ -0,0 +1,158 @@ +/** + * What Commit would commit, as one value per repository (`CommitSelection`): what + * `commitChanges` commits, what plugins read through `commit.pending-commit` and what + * contributed before-commit checks run on. Its `revision` changes with the message, + * Amend and the inclusion, so a plugin's message never replaces newer typing. + */ +import type { CommitOptions, CommitSelection, PartialCommitFile } from "@/bindings"; +import { call, commands } from "@/platform/ipc"; +import { workflowSettings } from "@/platform/workflowSettings"; +import { maybeEditorService, provideCommitService, useCommitCheckProviders } from "@/workbench/contributions"; +import { commitRepos, planCommit, type CommitPlan } from "./changes"; +import type { CommitProblem } from "./commitChecks"; +import { useChangelists, withListDefaults } from "./changelists"; +import { useCommit } from "./commitStore"; +import { hunkKeys } from "./hunks"; +import { baseName, rootOf } from "./model"; +import { saveAll } from "./ops"; +import { currentRepo, refreshNow, useVcs } from "./store"; + +let revision = 1; + +/** The draft's revision: bumped whenever the message, Amend or the inclusion changes. */ +export const draftRevision = () => revision; + +export function installDraftRevision(): () => void { + const offCommit = useCommit.subscribe((s, p) => { + if (s.message !== p.message || s.amend !== p.amend || s.checks !== p.checks || s.excludedHunks !== p.excludedHunks) + revision++; + }); + const offLists = useChangelists.subscribe(() => void revision++); + const offRepo = useVcs.subscribe((s, p) => { + if (s.root !== p.root) revision++; + }); + return () => { + offCommit(); + offLists(); + offRepo(); + }; +} + +/** The included changes, as the status (refreshed by the caller) and the checkboxes say. */ +export function currentPlan(): CommitPlan { + const { status, root } = useVcs.getState(); + const checks = withListDefaults(status, root ?? "", useChangelists.getState().state, useCommit.getState().checks); + return planCommit(status, checks); +} + +/** + * The included blocks of files committed partially, as hunk ranges against HEAD of the + * text on disk (saved just before). A file whose blocks are all included again (e.g. it + * was edited since) is committed whole. + */ +async function partialCommitFiles(paths: readonly string[]): Promise<{ files: PartialCommitFile[]; whole: string[] }> { + const files: PartialCommitFile[] = []; + const whole: string[] = []; + const excludedHunks = useCommit.getState().excludedHunks; + for (const path of paths) { + const [head, disk] = await Promise.all([call(commands.vcsFileAt(path, "HEAD")), call(commands.fsReadText(path))]); + const hunks = await commands.vcsDiffHunks(head ?? "", disk); + const keys = hunkKeys(disk, hunks); + const excluded = excludedHunks.get(path) ?? excludedHunks.get(`${path}/`); + const chosen = hunks.filter((_, i) => !excluded?.has(keys[i]!)); + if (chosen.length === hunks.length) whole.push(path); + else + files.push({ + path, + hunks: chosen.map(({ start, lines, oldStart, oldLines }) => ({ start, lines, oldStart, oldLines })), + }); + } + return { files, whole }; +} + +/** + * `plan` per repository with the Commit Options, as `vcs_commit` gets it. Read from disk: + * the caller saved the editors and refreshed the status. + */ +export async function selectionOf(plan: CommitPlan): Promise { + const rev = revision; + const { message, amend, signOff, author, runHooks } = useCommit.getState(); + const partial = await partialCommitFiles(plan.partial); + // Like IDEA, every repository with included changes gets a commit with the same message. + const roots = useVcs.getState().roots; + const repos = commitRepos(plan.included, roots, currentRepo()); + // The commit is made from a copy of the index, so changes left out keep their + // staged state and the other repositories' indexes stay as they are. + const stage = [...plan.stage, ...partial.whole]; + const fallback = useVcs.getState().root ?? ""; + const repositories = repos.map((repo) => { + const inRepo = (path: string) => repos.length === 1 || (rootOf(path, roots) ?? null) === repo; + const options: CommitOptions = { + amend, + signOff, + author: author.trim() || null, + runHooks, + partial: partial.files.filter((f) => inRepo(f.path)), + stage: stage.filter(inRepo), + exclude: plan.exclude.filter(inRepo), + }; + return { root: repo ?? fallback, options }; + }); + return { revision: rev, message: message.trim(), amend, repositories }; +} + +/** For plugins: what Commit would commit now (saving the editors as Commit does). */ +async function pendingSelection(): Promise { + if (!useVcs.getState().root) return null; + await saveAll(); + await refreshNow(); + if (!useVcs.getState().root) return null; + const rev = revision; + const selection = await selectionOf(currentPlan()); + // Typing while the blocks were read: report the revision the snapshot started from. + return { ...selection, revision: rev }; +} + +export function provideCommit(): () => void { + provideCommitService({ + selection: pendingSelection, + setMessage: (rev, message) => { + if (rev !== revision || !useVcs.getState().root) return false; + useCommit.setState({ message }); + return true; + }, + }); + return () => provideCommitService(undefined); +} + +/** Problems of the contributed before-commit checks that are turned on. */ +export async function contributedCheckProblems(selection: CommitSelection): Promise { + const off = new Set(workflowSettings().vcs.commit.disabledPluginChecks); + const problems: CommitProblem[] = []; + for (const provider of useCommitCheckProviders.getState().providers) { + const keys = provider + .checks() + .map((c) => c.key) + .filter((k) => !off.has(k)); + if (!keys.length) continue; + for (const p of await provider.run(selection, keys)) { + const at = p.path ? `${baseName(p.path)}${p.line === undefined ? "" : `:${p.line + 1}`}` : null; + const path = p.path; + problems.push({ + title: p.title, + text: p.message, + details: path + ? { + label: at ?? "Show", + run: () => + void maybeEditorService()?.openFile(path, { + selection: p.line === undefined ? undefined : { line: p.line, col: 0 }, + focus: true, + }), + } + : undefined, + }); + } + } + return problems; +} diff --git a/src/features/vcs/index.ts b/src/features/vcs/index.ts index 3d4b7889c..a2a7d369f 100644 --- a/src/features/vcs/index.ts +++ b/src/features/vcs/index.ts @@ -39,6 +39,7 @@ import { registerMergeActions } from "./mergeActions"; import { baseName } from "./model"; import { installDiagnosticsTracking } from "./commitChecks"; import { installPreparedMessage, useCommit } from "./commitStore"; +import { installDraftRevision, provideCommit } from "./commitSelection"; import { activate as activateConflictBanner } from "./conflictBanner"; import { activate as activateConflictMarkers } from "./conflictMarkers"; import { MergeRebaseWidget } from "./MergeRebaseWidget"; @@ -215,6 +216,8 @@ export function activate(): () => void { installGitLog(), installDiagnosticsTracking(), installPreparedMessage(), + installDraftRevision(), + provideCommit(), installIncomingCheck(), installFileConfirmations(), // Settings › Git › Sign-off commit: the default of Commit Options › Sign-off Commit. diff --git a/src/platform/locales/text/zh.json b/src/platform/locales/text/zh.json index b1d785488..0d81d3d97 100644 --- a/src/platform/locales/text/zh.json +++ b/src/platform/locales/text/zh.json @@ -6442,5 +6442,6 @@ "Branch Conversation from Here": "从此处创建分支对话", "Couldn't regenerate the response": "无法重新生成回复", "Reasoning": "思考过程", - "Cannot copy the value": "无法复制该值" + "Cannot copy the value": "无法复制该值", + "The check could not run: {reason}": "检查无法运行:{reason}" } diff --git a/src/platform/workflowSettings.ts b/src/platform/workflowSettings.ts index 559d20d9b..5e1caa97b 100644 --- a/src/platform/workflowSettings.ts +++ b/src/platform/workflowSettings.ts @@ -50,6 +50,8 @@ export interface CommitSettingsValid { bodyLimit: number; showRightMargin: boolean; wrapAtMargin: boolean; + /** Plugin before-commit checks turned off (`/`). */ + disabledPluginChecks: string[]; } export interface VcsSettingsValid { @@ -215,6 +217,7 @@ export const DEFAULT_WORKFLOW: WorkflowSettings = { bodyLimit: 72, showRightMargin: true, wrapAtMargin: false, + disabledPluginChecks: [], }, confirmation: { onCreate: "ask", @@ -342,6 +345,7 @@ export function validateVcs(raw: unknown): VcsSettingsValid { bodyLimit: num(c.bodyLimit, d.commit.bodyLimit, L.messageLimit, true), showRightMargin: bool(c.showRightMargin, d.commit.showRightMargin), wrapAtMargin: bool(c.wrapAtMargin, d.commit.wrapAtMargin), + disabledPluginChecks: strings(c.disabledPluginChecks, d.commit.disabledPluginChecks), }, confirmation: { onCreate: oneOf(conf.onCreate, confirm, d.confirmation.onCreate), diff --git a/src/workbench/contributions.ts b/src/workbench/contributions.ts index 4b359b438..a7f3019c6 100644 --- a/src/workbench/contributions.ts +++ b/src/workbench/contributions.ts @@ -17,7 +17,7 @@ import { type ReactNode, type RefObject, } from "react"; -import type { FileMatches, SearchQuery, RunConfig } from "@/bindings"; +import type { CommitSelection, FileMatches, SearchQuery, RunConfig } from "@/bindings"; import type { MenuItem } from "@/ui/Menu"; import type { DragData } from "@/ui/pointerDrag"; import type { TreeReorder } from "@/ui/Tree"; @@ -676,6 +676,53 @@ export const maybeEditorService = (): EditorService | undefined => services.edit /** Creates terminal widgets; provided by the terminal feature. */ export const embeddedTerminal = (): EmbeddedTerminalFactory | undefined => services.embeddedTerminal; +/** + * The commit being prepared (the Commit tool window or dialog), for plugins: + * provided by the vcs feature. + */ +export interface CommitService { + /** + * What Commit would commit now, per repository (unsaved editors saved first, as + * Commit does); `null` without a repository. + */ + selection(): Promise; + /** Replaces the message if the draft is still at `revision`; false when it changed. */ + setMessage(revision: number, message: string): boolean; +} + +let commitServiceImpl: CommitService | undefined; +export const provideCommitService = (s: CommitService | undefined) => void (commitServiceImpl = s); +export const maybeCommitService = (): CommitService | undefined => commitServiceImpl; + +/** A before-commit check contributed by an extension (a plugin's `commitChecks`). */ +export interface ContributedCommitCheck { + /** Stable key (`/`), stored when the check is turned off. */ + key: string; + title: string; +} + +/** A problem a contributed check reported (or why the check could not run). */ +export interface ContributedCommitProblem { + title: string; + message: string; + path?: string; + /** 0-based. */ + line?: number; +} + +export interface CommitCheckProvider { + checks(): ContributedCommitCheck[]; + /** Runs the checks `keys` on what `selection` commits. */ + run(selection: CommitSelection, keys: string[]): Promise; +} + +export const useCommitCheckProviders = create<{ providers: CommitCheckProvider[] }>(() => ({ providers: [] })); + +export function registerCommitCheckProvider(p: CommitCheckProvider): () => void { + useCommitCheckProviders.setState((s) => ({ providers: [...s.providers, p] })); + return () => useCommitCheckProviders.setState((s) => ({ providers: s.providers.filter((x) => x !== p) })); +} + /** * Handles a pointer drag dropped on the editor content: features register handlers for * their own drag types (e.g. an agent task dragged from the tool window) without the @@ -980,13 +1027,18 @@ export type ContextMenuId = | "new"; /** - * Entries of the native main menu's open slots (src-tauri/src/menu.rs - * `Entry::Dynamic`), e.g. `pluginTools` at the end of Tools: each runs `action`. + * Entries of open menu slots: the native main menu's (src-tauri/src/menu.rs + * `Entry::Dynamic`, e.g. `pluginTools` at the end of Tools) and in-app toolbars + * (`commitMessage`, above the commit message). Each runs `action`. */ export interface MenuSlotItem { action: string; arg?: string | null; label: string; + /** Icon name, for toolbar slots. */ + icon?: string; + /** Shown only while this `when` clause holds (toolbar slots). */ + when?: string | null; } export const useMenuSlotItems = create<{ slots: Record }>(() => ({ slots: {} })); diff --git a/wit/commit.wit b/wit/commit.wit new file mode 100644 index 000000000..a70b889c1 --- /dev/null +++ b/wit/commit.wit @@ -0,0 +1,75 @@ +package openidea:plugin@1.3.0; + +/// The commit being prepared in the window the current command or event came +/// from (the Commit tool window, or the Commit dialog while it is open): the +/// changes it holds and its message. +interface commit { + use types.{error}; + + /// A file the commit changes. + record commit-change { + /// Absolute path of the working tree root of its repository. + repository: string, + /// Absolute path (after a rename, the new one). + path: string, + /// The path before a rename or copy. + old-path: option, + /// `added`, `modified`, `deleted`, `renamed`, `copied` or + /// `type-changed` (more may be added). + status: string, + /// What the commit changes in the file, in `git diff` format against + /// HEAD: only the changed blocks included in the commit. `none` for + /// binary content. + diff: option, + /// `diff` was cut at the size limit (1 MiB for all the changes). + truncated: bool, + } + + /// What Commit would commit right now. + record commit-draft { + /// Changes whenever the message, the included changes or Amend do. + revision: u64, + message: string, + /// The commit replaces the last one (Amend); `changes` are still + /// against HEAD, so they don't include the last commit's own. + amend: bool, + changes: list, + } + + /// The commit being prepared, as Commit would make it: the included + /// files and changed blocks only. Unsaved editors of the included files + /// are saved first, as Commit does; nothing is staged or committed. + /// `none` when the window's project has no repository. Fails with + /// `invalid` outside a command or event of a window, and in a project that + /// is not trusted. Requires `vcs.read`. + pending-commit: func() -> result, error>; + /// Replaces the commit message, only if the draft is still at `revision` + /// (else `stale`, and nothing changes): text the user typed meanwhile is + /// never overwritten. The user reviews it and commits. Same windows as + /// `pending-commit`. Requires `vcs.write`. + set-commit-message: func(revision: u64, message: string) -> result<_, error>; +} + +/// Before-commit checks (`[[contributes.commitChecks]]`), run when the user +/// commits, after the IDE's own checks, for the checks enabled in Commit +/// Options. Problems stop the commit and show beside the message until the +/// user changes it or chooses Commit Anyway. Requires `vcs.read`. +interface commit-checker { + use types.{error, location}; + use invocation.{invocation}; + use commit.{commit-draft}; + + /// Something the user should look at before committing. + record commit-problem { + /// One sentence, shown after the check's title. + message: string, + /// Where it is, opened from the problem; `none` for the commit as a + /// whole (its message, for instance). + location: option, + } + + /// Runs the declared check `check` on `draft`: no problems lets the commit + /// go on. A call that fails or runs out of time is reported as a problem + /// of the check. + check: func(check: string, draft: commit-draft, ctx: borrow) -> result, error>; +} diff --git a/wit/plugin.wit b/wit/plugin.wit index f6d5970b1..d52196cac 100644 --- a/wit/plugin.wit +++ b/wit/plugin.wit @@ -17,6 +17,7 @@ world plugin { import editor; import invocation; import vcs; + import commit; import events; import tasks; import diagnostics; @@ -73,6 +74,12 @@ world plugin-services { export service-provider; } +/// A plugin with before-commit checks (`[[contributes.commitChecks]]`). +world plugin-commit-checks { + include plugin; + export commit-checker; +} + /// Only the `syntax-provider` export: guests generate it next to `plugin` /// (the component tools merge both into one component). world syntax { @@ -106,3 +113,8 @@ world hover { world services { export service-provider; } + +/// Only the `commit-checker` export, generated next to `plugin` like `syntax`. +world commit-checks { + export commit-checker; +}

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%0D(2^eCiq}7T&;|_e?}}LUO5f@G~!t^5De<% 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 delta 28906 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