diff --git a/crates/ide-host/src/plugins/ui_points.rs b/crates/ide-host/src/plugins/ui_points.rs index 71e28882e..30609e73c 100644 --- a/crates/ide-host/src/plugins/ui_points.rs +++ b/crates/ide-host/src/plugins/ui_points.rs @@ -60,7 +60,7 @@ use std::collections::BTreeSet; use std::path::PathBuf; /// A view whose tree shows in the Services tool window; the plugin's -/// `service-provider` renders the selected node's pane. +/// `detail-provider` renders the selected node's pane. pub const SERVICES_LOCATION: &str = "services"; pub const MENUS: &str = "menus"; pub const KEYMAPS: &str = "keymaps"; diff --git a/crates/ide-plugin/src/runtime.rs b/crates/ide-plugin/src/runtime.rs index 98b44c195..c9c747402 100644 --- a/crates/ide-plugin/src/runtime.rs +++ b/crates/ide-plugin/src/runtime.rs @@ -16,8 +16,8 @@ use crate::types::{ ViewField, ViewListItem, ViewTable, ViewTreeItem, Viewport, }; use crate::wit_host::{ - bindings, commit_checks_bindings, hover_bindings, indexing_bindings, providers_bindings, semantic_bindings, - services_bindings, syntax_bindings, views_bindings, + bindings, commit_checks_bindings, details_bindings, hover_bindings, indexing_bindings, providers_bindings, + semantic_bindings, syntax_bindings, views_bindings, }; use ide_core::CancellationToken; use ide_core::ipc_path::to_ipc; @@ -35,12 +35,12 @@ 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 details_bindings::exports::openidea::plugin::detail_provider as wit_detail; +use details_bindings::openidea::plugin::detail_types as wit_dt; 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; use semantic_bindings::exports::openidea::plugin::semantic_tokens_provider as wit_sem; -use services_bindings::exports::openidea::plugin::service_provider as wit_svc; -use services_bindings::openidea::plugin::service_types as wit_st; use syntax_bindings::exports::openidea::plugin::syntax_provider as wit_syntax; use views_bindings::exports::openidea::plugin::view_provider as wit_view; use views_bindings::openidea::plugin::view_types as wit_vt; @@ -542,7 +542,7 @@ struct Exports { indexer: Option, views: Option, semantic: Option, - services: Option, + details: Option, hover: Option, commit_checks: Option, } @@ -625,7 +625,7 @@ impl Runtime { let provider_indices = wit_prov::GuestIndices::new(&pre).ok(); let view_indices = wit_view::GuestIndices::new(&pre).ok(); let semantic_indices = wit_sem::GuestIndices::new(&pre).ok(); - let service_indices = wit_svc::GuestIndices::new(&pre).ok(); + let detail_indices = wit_detail::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)?; @@ -650,7 +650,7 @@ impl Runtime { Some(indices) => Some(indices.load(&mut store, &instance).map_err(api_hint)?), None => None, }; - let services = match service_indices { + let details = match detail_indices { Some(indices) => Some(indices.load(&mut store, &instance).map_err(api_hint)?), None => None, }; @@ -664,7 +664,7 @@ impl Runtime { }; Ok(Self { store, - exports: Exports { plugin, syntax, providers, views, indexer, semantic, services, hover, commit_checks }, + exports: Exports { plugin, syntax, providers, views, indexer, semantic, details, hover, commit_checks }, limits: setup.limits, version: setup.version, }) @@ -1017,13 +1017,13 @@ impl Runtime { key: &str, invocation: Invocation, ) -> Result, CallError> { - if self.exports.services.is_none() { - return Err(CallError::missing_export("service-provider")); + if self.exports.details.is_none() { + return Err(CallError::missing_export("detail-provider")); } let result = self.call(invocation, self.limits.timeout, |e, store| { let ctx = store.data_mut().new_invocation()?; - let services = e.services.as_ref().expect("checked"); - let r = services.call_detail(&mut *store, view, key, wasmtime::component::Resource::new_borrow(ctx.rep())); + let details = e.details.as_ref().expect("checked"); + let r = details.call_detail(&mut *store, view, key, wasmtime::component::Resource::new_borrow(ctx.rep())); store.data_mut().drop_invocation(ctx); r })?; @@ -1270,11 +1270,11 @@ const MAX_LOG_TOGGLES: usize = 8; const MAX_LOG_ARGS: usize = 256; const MAX_LOG_ARG: usize = 4096; -fn service_tab_from_wit(t: wit_st::Tab) -> ServiceTab { +fn service_tab_from_wit(t: wit_dt::Tab) -> ServiceTab { let body = match t.body { - wit_st::Pane::Message(m) => ServicePane::Message(clip(m, 16 << 10)), - wit_st::Pane::Text(text) => ServicePane::Text(clip(text, MAX_TEXT)), - wit_st::Pane::Log(log) => { + wit_dt::Pane::Message(m) => ServicePane::Message(clip(m, 16 << 10)), + wit_dt::Pane::Text(text) => ServicePane::Text(clip(text, MAX_TEXT)), + wit_dt::Pane::Log(log) => { let args_fit = |args: &[String]| args.len() <= MAX_LOG_ARGS && args.iter().all(|a| a.len() <= MAX_LOG_ARG); if args_fit(&log.args) && log.toggles.len() <= MAX_LOG_TOGGLES diff --git a/crates/ide-plugin/src/types.rs b/crates/ide-plugin/src/types.rs index ccd915739..6239d3822 100644 --- a/crates/ide-plugin/src/types.rs +++ b/crates/ide-plugin/src/types.rs @@ -545,7 +545,7 @@ pub struct View { pub status: Option, } -/// A tab of the Services pane of a plugin's node (`service-provider.detail`). +/// A tab of the Services pane of a plugin's node (`detail-provider.detail`). #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Type)] #[serde(rename_all = "camelCase")] pub struct ServiceTab { diff --git a/crates/ide-plugin/src/wit_host.rs b/crates/ide-plugin/src/wit_host.rs index 81a08e1f8..88bd4da8f 100644 --- a/crates/ide-plugin/src/wit_host.rs +++ b/crates/ide-plugin/src/wit_host.rs @@ -928,10 +928,10 @@ pub(crate) mod indexing_bindings { }); } -/// The optional `service-provider` export. -pub(crate) mod services_bindings { +/// The optional `detail-provider` export. +pub(crate) mod details_bindings { wasmtime::component::bindgen!({ - world: "services", path: "../../wit", + world: "details", path: "../../wit", with: { "openidea:plugin/types": super::bindings::openidea::plugin::types, "openidea:plugin/workspace": super::bindings::openidea::plugin::workspace, diff --git a/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm index c4c54cc72..4b6b98271 100644 Binary files a/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm and b/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm differ diff --git a/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources index ea8dfb8e4..8c0ea93f8 100644 --- a/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/commit/dist/plugin.wasm.sources @@ -1 +1 @@ -83a1e3f362740752ed69c53da29ff950cf9c9de18125af6c98995ea490b31690 +09a64c18ef137348f70121c088419040ee606089d9f27b0dbe63256d5de49cd6 diff --git a/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm index b615eac69..749fe1995 100644 Binary files a/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm and b/crates/ide-plugin/tests/fixtures/hello/dist/plugin.wasm differ 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 66a53d3e5..bcdc40579 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 @@ -a9f1e2ec87de32ef241fcb559d157cd05800dcf106ab27e906ba36468c0b39e5 +8eba458c25d7722ffc1d396812bd83114a67c1176b9dd6fa3bfbbf02c0ca0976 diff --git a/crates/ide-plugin/tests/fixtures/hello/src/lib.rs b/crates/ide-plugin/tests/fixtures/hello/src/lib.rs index 4f1253592..a5e2c08fa 100644 --- a/crates/ide-plugin/tests/fixtures/hello/src/lib.rs +++ b/crates/ide-plugin/tests/fixtures/hello/src/lib.rs @@ -1,7 +1,7 @@ //! Sample OpenIDEA plugin, written with the `openidea-plugin` SDK. //! Build with `openidea-plugin build crates/ide-plugin/tests/fixtures/hello` (see plugins/README.md). -use openidea_plugin::services::{Pane, ProcessLog, Services, Tab}; +use openidea_plugin::details::{Details, Pane, ProcessLog, Tab}; use openidea_plugin::views::{Body, Button, TreeItem, View, ViewEvent, Viewport, Views}; use openidea_plugin::{Context, Error, Invocation, LogLevel, NotificationLevel, Plugin, host, register_plugin}; use std::collections::BTreeSet; @@ -98,14 +98,14 @@ impl Views for Hello { } /// As a services view (tests): a node's key is the `sh -c` script its Log tab runs. -impl Services for Hello { +impl Details for Hello { fn detail(&mut self, view: &str, key: &str, _ctx: &Invocation) -> Result, Error> { let log = ProcessLog::new("sh", &["-c", key]).toggle("named", "Named", &["named"]); Ok(vec![Tab::new("log", "Log", log), Tab::new("info", "Info", Pane::Text(format!("{view}: {key}")))]) } } -register_plugin!(Hello, views, services); +register_plugin!(Hello, views, details); /// Today's UTC date as `YYYY-MM-DD` (WASI wall clock). fn today() -> String { diff --git a/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm index 4997739af..970d5ea47 100644 Binary files a/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm and b/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm differ diff --git a/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm.sources index aad78a925..5195b70b7 100644 --- a/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/hover/dist/plugin.wasm.sources @@ -1 +1 @@ -d065af9f54b5bd1ec2fbc31250c87153a55501a4e8bf4002fcc04c67c2d1e03e +5f7112055543becca6fc9ad9a33850c355efe38b3ab019ecb4fb26346f3ac9b5 diff --git a/crates/ide-plugin/tests/fixtures/indexer/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/indexer/dist/plugin.wasm index 7c1ec874c..6b1c84993 100644 Binary files a/crates/ide-plugin/tests/fixtures/indexer/dist/plugin.wasm and b/crates/ide-plugin/tests/fixtures/indexer/dist/plugin.wasm differ 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 0dbbaeed3..3d6b36a1e 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 @@ -dd57b09293deb0fdc3201978e350c118f428429df4beccc4f23665be0335a795 +1f571177a22c2f07055b38385c0e5f44c063c520b9e1d7be3d528e4cfb3b8b43 diff --git a/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm index 1508c592c..db4a7ca32 100644 Binary files a/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm and b/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm differ diff --git a/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm.sources index 0c7559d57..5b84fff77 100644 --- a/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/jobs/dist/plugin.wasm.sources @@ -1 +1 @@ -436516e5f17a11f5a1225b854ab9fef703172a47d33bf3d840c721ad6d373e62 +165f1dc7ebf47b3910fd8e23eb72cecfe47156c3498d2b06f5d6c39ecd299e2a diff --git a/crates/ide-plugin/tests/fixtures/misbehave/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/misbehave/dist/plugin.wasm index 45912d407..d6f2fc30e 100644 Binary files a/crates/ide-plugin/tests/fixtures/misbehave/dist/plugin.wasm and b/crates/ide-plugin/tests/fixtures/misbehave/dist/plugin.wasm differ 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 a30308d3a..26a06522f 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 @@ -4e8118c9f4974385421d1e2ca0106fd658ad85124e1453c4114f60a164f72f68 +5be61cbf46d28a7d06c73fb2562e81f3d1a86e16c5c6389d402cbeaf703e331a 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 39656c746..6d54047b7 100644 Binary files a/crates/ide-plugin/tests/fixtures/semantic-tokens/dist/plugin.wasm and b/crates/ide-plugin/tests/fixtures/semantic-tokens/dist/plugin.wasm differ 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 f360dc576..266382c9e 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 @@ -b77e7e3d163995f0a9a3f3cb49dc6c4ea04b2eaa0a8b74b46c64e83908bae504 +81db471a9be4aefb97d21c3937bc0afd637114cc2703fa2cc815b0ae61608467 diff --git a/crates/ide-plugin/tests/fixtures/storage/dist/plugin.wasm b/crates/ide-plugin/tests/fixtures/storage/dist/plugin.wasm index 55ade2325..21b4a80e6 100644 Binary files a/crates/ide-plugin/tests/fixtures/storage/dist/plugin.wasm and b/crates/ide-plugin/tests/fixtures/storage/dist/plugin.wasm differ diff --git a/crates/ide-plugin/tests/fixtures/storage/dist/plugin.wasm.sources b/crates/ide-plugin/tests/fixtures/storage/dist/plugin.wasm.sources index fe1ac7aa9..046bd2fbf 100644 --- a/crates/ide-plugin/tests/fixtures/storage/dist/plugin.wasm.sources +++ b/crates/ide-plugin/tests/fixtures/storage/dist/plugin.wasm.sources @@ -1 +1 @@ -9f2195fb83f16221e98313c095d57c293e79041ed8ae439fe2fb4f008a3a0921 +cbb5a54e287ef3ed11391985c286e5d4e24646f2fd84b8b969fe825bbd44c350 diff --git a/plugins/README.md b/plugins/README.md index 4d976c25e..012e68d73 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -629,13 +629,13 @@ optional = ["process:kubectl"] The items of the view's `tree` are Services nodes: `render`, `handle` and the toolbar work as in a tool window, the toolbar's buttons acting on the one selected node, and `viewItem.context` menus give the nodes a right-click menu. -The pane beside the tree comes from the `service-provider` export: register -`register_plugin!(MyPlugin, views, services)` and implement -`openidea_plugin::services::Services`, which returns the selected node's tabs +The pane beside the tree comes from the `detail-provider` export: register +`register_plugin!(MyPlugin, views, details)` and implement +`openidea_plugin::details::Details`, which returns the selected node's tabs (at most 8; asked again after `host::refresh_view("kube")`): ```rust -impl Services for MyPlugin { +impl Details for MyPlugin { fn detail(&mut self, view: &str, key: &str, _ctx: &Invocation) -> Result, Error> { let pod = key.trim_start_matches("pod:"); let log = ProcessLog::new("kubectl", &["logs", "-f", "--tail=1000", pod]) diff --git a/plugins/official/ai-completion/dist/plugin.wasm b/plugins/official/ai-completion/dist/plugin.wasm index 4090bc909..022900fe1 100644 Binary files a/plugins/official/ai-completion/dist/plugin.wasm and b/plugins/official/ai-completion/dist/plugin.wasm differ diff --git a/plugins/official/ai-completion/dist/plugin.wasm.sources b/plugins/official/ai-completion/dist/plugin.wasm.sources index 97bb305b2..9699c9978 100644 --- a/plugins/official/ai-completion/dist/plugin.wasm.sources +++ b/plugins/official/ai-completion/dist/plugin.wasm.sources @@ -1 +1 @@ -a5cba00850ccde12896ed7a69ae336a1968e024e8f5fefb6a49f2adea10569e4 +2e34ee9cb774344d4dedf1ec077d776a051abd08e435f6df3dca6c7d12fa94fb diff --git a/plugins/official/checkstyle/dist/plugin.wasm b/plugins/official/checkstyle/dist/plugin.wasm index 8d0d091fe..226a8d384 100644 Binary files a/plugins/official/checkstyle/dist/plugin.wasm and b/plugins/official/checkstyle/dist/plugin.wasm differ diff --git a/plugins/official/checkstyle/dist/plugin.wasm.sources b/plugins/official/checkstyle/dist/plugin.wasm.sources index fbede8a3c..1c67258b2 100644 --- a/plugins/official/checkstyle/dist/plugin.wasm.sources +++ b/plugins/official/checkstyle/dist/plugin.wasm.sources @@ -1 +1 @@ -27d61fcc109561aeea56f3a37da0aba7b6c56fdf01ff918f2e62d5732832ba3d +8ee84d6a4a835ec7104877fa105e593b47e8091339b3419690b018f3e8877b94 diff --git a/plugins/official/csv-editor/dist/plugin.wasm b/plugins/official/csv-editor/dist/plugin.wasm index bbaa24452..9543406a8 100644 Binary files a/plugins/official/csv-editor/dist/plugin.wasm and b/plugins/official/csv-editor/dist/plugin.wasm differ diff --git a/plugins/official/csv-editor/dist/plugin.wasm.sources b/plugins/official/csv-editor/dist/plugin.wasm.sources index 309f7acad..a99cce3f5 100644 --- a/plugins/official/csv-editor/dist/plugin.wasm.sources +++ b/plugins/official/csv-editor/dist/plugin.wasm.sources @@ -1 +1 @@ -c86fae61f88b6903354b1fb706b0718f9036f82085653481d77ddc3f622b3a73 +2af4ae2589bebf9703afa6b7b24bc073334344e6836b0ea29aab259338b38762 diff --git a/plugins/official/git-toolbox/dist/plugin.wasm b/plugins/official/git-toolbox/dist/plugin.wasm index 7823ce2da..806daedea 100644 Binary files a/plugins/official/git-toolbox/dist/plugin.wasm and b/plugins/official/git-toolbox/dist/plugin.wasm differ diff --git a/plugins/official/git-toolbox/dist/plugin.wasm.sources b/plugins/official/git-toolbox/dist/plugin.wasm.sources index 5027ca6fe..ae55ff856 100644 --- a/plugins/official/git-toolbox/dist/plugin.wasm.sources +++ b/plugins/official/git-toolbox/dist/plugin.wasm.sources @@ -1 +1 @@ -b4d059850083339f826223700eda7df0c8b655a40e4832d3acda36dc0f76db9a +a7d656941097113fdde3e64a07446d1780f045702a935a5e5153ac1f540d6b06 diff --git a/plugins/official/graphviz/dist/plugin.wasm b/plugins/official/graphviz/dist/plugin.wasm index a20fdb830..a239eef2e 100644 Binary files a/plugins/official/graphviz/dist/plugin.wasm and b/plugins/official/graphviz/dist/plugin.wasm differ diff --git a/plugins/official/graphviz/dist/plugin.wasm.sources b/plugins/official/graphviz/dist/plugin.wasm.sources index f9b5d4c5f..ee6199398 100644 --- a/plugins/official/graphviz/dist/plugin.wasm.sources +++ b/plugins/official/graphviz/dist/plugin.wasm.sources @@ -1 +1 @@ -b2977b3b82ad26126125c614281cbbf888bb8151ece9a43fbaa5459c7a8b97cc +3f6549848f81cc999a42ba0fa04e0efb43640e09a67ab28d799d4f79832f6178 diff --git a/plugins/official/key-promoter/dist/plugin.wasm b/plugins/official/key-promoter/dist/plugin.wasm index 7a8d47790..8400b47a8 100644 Binary files a/plugins/official/key-promoter/dist/plugin.wasm and b/plugins/official/key-promoter/dist/plugin.wasm differ diff --git a/plugins/official/key-promoter/dist/plugin.wasm.sources b/plugins/official/key-promoter/dist/plugin.wasm.sources index 93cb8b224..a71ed00b0 100644 --- a/plugins/official/key-promoter/dist/plugin.wasm.sources +++ b/plugins/official/key-promoter/dist/plugin.wasm.sources @@ -1 +1 @@ -9f59f59b999475a8c4c626f1cfc3c77ef1b3c0684f0cbf9af148556c8f9d30c0 +31ff37106dc0829e226de01b5148f6ee67b1d776acd6def4729edf4c63946219 diff --git a/plugins/official/license-header/dist/plugin.wasm b/plugins/official/license-header/dist/plugin.wasm index 1bac6624b..6249ee735 100644 Binary files a/plugins/official/license-header/dist/plugin.wasm and b/plugins/official/license-header/dist/plugin.wasm differ diff --git a/plugins/official/license-header/dist/plugin.wasm.sources b/plugins/official/license-header/dist/plugin.wasm.sources index 6fc1569b2..737b70078 100644 --- a/plugins/official/license-header/dist/plugin.wasm.sources +++ b/plugins/official/license-header/dist/plugin.wasm.sources @@ -1 +1 @@ -0f175352e4fcfe3b07359afb7f4a20348a488a21012e89775c628d19277d8c8c +eb4d09a79172cb46857c7bb3e50e7fbd6f4b6be379bb1c79a41ea23a5643f875 diff --git a/plugins/official/mybatis/dist/plugin.wasm b/plugins/official/mybatis/dist/plugin.wasm index 9f7a275be..92a8b77a3 100644 Binary files a/plugins/official/mybatis/dist/plugin.wasm and b/plugins/official/mybatis/dist/plugin.wasm differ diff --git a/plugins/official/mybatis/dist/plugin.wasm.sources b/plugins/official/mybatis/dist/plugin.wasm.sources index 0373f3a3f..d3ef9ff4e 100644 --- a/plugins/official/mybatis/dist/plugin.wasm.sources +++ b/plugins/official/mybatis/dist/plugin.wasm.sources @@ -1 +1 @@ -d7e9b2801ca70df9a84ec458f0fc5c6b01b7d03c056807c53268e40ecbbb9d1a +4f2e5d5c877554b111bb454603d002e50bbafb3dca3cca5768c052fbc48f73ab diff --git a/plugins/official/regex-tester/dist/plugin.wasm b/plugins/official/regex-tester/dist/plugin.wasm index bfa4fe0e8..a493e8cf3 100644 Binary files a/plugins/official/regex-tester/dist/plugin.wasm and b/plugins/official/regex-tester/dist/plugin.wasm differ diff --git a/plugins/official/regex-tester/dist/plugin.wasm.sources b/plugins/official/regex-tester/dist/plugin.wasm.sources index 280635cb3..3a30df73a 100644 --- a/plugins/official/regex-tester/dist/plugin.wasm.sources +++ b/plugins/official/regex-tester/dist/plugin.wasm.sources @@ -1 +1 @@ -50524b5be85f6bc040521f97adba6030263045dcacfeae8dbcf73ce7234e2616 +0cae1d9dd2075b1a107d894854f0d01ab81331b67793f2ad972835a8ab34d3a0 diff --git a/plugins/official/solidity/dist/plugin.wasm b/plugins/official/solidity/dist/plugin.wasm index 55aa66561..af2f58e70 100644 Binary files a/plugins/official/solidity/dist/plugin.wasm and b/plugins/official/solidity/dist/plugin.wasm differ diff --git a/plugins/official/solidity/dist/plugin.wasm.sources b/plugins/official/solidity/dist/plugin.wasm.sources index 4ef5e13e3..b75a15c60 100644 --- a/plugins/official/solidity/dist/plugin.wasm.sources +++ b/plugins/official/solidity/dist/plugin.wasm.sources @@ -1 +1 @@ -0c44311a5f9ddb1893be7c82d818297a05b15576d996a33ddc2389f9432c416c +13e34d174abf5187bf7c191736974305afb0af257fc103eec96fe8fa8edb8c88 diff --git a/plugins/official/string-tools/dist/plugin.wasm b/plugins/official/string-tools/dist/plugin.wasm index c2702a54f..98c358652 100644 Binary files a/plugins/official/string-tools/dist/plugin.wasm and b/plugins/official/string-tools/dist/plugin.wasm differ diff --git a/plugins/official/string-tools/dist/plugin.wasm.sources b/plugins/official/string-tools/dist/plugin.wasm.sources index ecce56321..5967abb8d 100644 --- a/plugins/official/string-tools/dist/plugin.wasm.sources +++ b/plugins/official/string-tools/dist/plugin.wasm.sources @@ -1 +1 @@ -3e4e23976ce0ddb1e83813269eefc24008521cdf22757e6b5249f6f219f344d2 +7e010175c19a159a22c42a76ca07ebc663a27ce9143c21e742ca99435a538f83 diff --git a/sdk/rust/openidea-plugin/src/services.rs b/sdk/rust/openidea-plugin/src/details.rs similarity index 93% rename from sdk/rust/openidea-plugin/src/services.rs rename to sdk/rust/openidea-plugin/src/details.rs index cc1738361..5a9349309 100644 --- a/sdk/rust/openidea-plugin/src/services.rs +++ b/sdk/rust/openidea-plugin/src/details.rs @@ -1,7 +1,7 @@ //! The pane beside the Services tree for the nodes of the plugin's -//! `location = "services"` views (world `plugin-services`). The nodes, the +//! `location = "services"` views (world `plugin-details`). The nodes, the //! toolbar and their events come from [`crate::views::Views`] as in any view; -//! register both: `register_plugin!(MyPlugin, views, services)`. +//! register both: `register_plugin!(MyPlugin, views, details)`. use crate::{Error, Invocation}; @@ -65,7 +65,7 @@ impl Tab { } /// The detail pane of the nodes of the plugin's services views. -pub trait Services { +pub trait Details { /// The tabs of node `key` of view `view` (at most 8), asked when the node is /// selected and again after [`crate::host::refresh_view`] of the view. fn detail(&mut self, view: &str, key: &str, ctx: &Invocation) -> Result, Error>; diff --git a/sdk/rust/openidea-plugin/src/lib.rs b/sdk/rust/openidea-plugin/src/lib.rs index 04643cd27..15647e5ff 100644 --- a/sdk/rust/openidea-plugin/src/lib.rs +++ b/sdk/rust/openidea-plugin/src/lib.rs @@ -40,6 +40,7 @@ //! wasm32-wasip2`); see `plugins/README.md`. pub mod commit; +pub mod details; pub mod host; pub mod hover; pub mod indexing; @@ -47,7 +48,6 @@ pub mod indexing; pub mod mock; pub mod providers; pub mod semantic_tokens; -pub mod services; pub mod syntax; pub mod text; mod types; @@ -132,11 +132,11 @@ pub mod indexing_bindings { #[cfg(target_arch = "wasm32")] #[doc(hidden)] -pub mod services_bindings { +pub mod details_bindings { wit_bindgen::generate!({ - world: "services", path: "wit", pub_export_macro: true, - export_macro_name: "__export_services_world", - default_bindings_module: "openidea_plugin::services_bindings", + world: "details", path: "wit", pub_export_macro: true, + export_macro_name: "__export_details_world", + default_bindings_module: "openidea_plugin::details_bindings", with: { "openidea:plugin/types@1.3.0": crate::bindings::openidea::plugin::types, "openidea:plugin/workspace@1.3.0": crate::bindings::openidea::plugin::workspace, @@ -242,8 +242,8 @@ macro_rules! __optional_exports { (semantic_tokens, $plugin:ty, $component:ident) => { $crate::__semantic_tokens_exports!($plugin, $component); }; - (services, $plugin:ty, $component:ident) => { - $crate::__services_exports!($plugin, $component); + (details, $plugin:ty, $component:ident) => { + $crate::__details_exports!($plugin, $component); }; (hover, $plugin:ty, $component:ident) => { $crate::__hover_exports!($plugin, $component); @@ -382,24 +382,24 @@ macro_rules! __indexing_exports { }; } -/// `register_plugin!(T, services)`: `T` is also a [`services::Services`]. +/// `register_plugin!(T, details)`: `T` is also a [`details::Details`]. #[doc(hidden)] #[macro_export] -macro_rules! __services_exports { +macro_rules! __details_exports { ($plugin:ty, $component:ident) => { - impl $crate::services_bindings::exports::openidea::plugin::service_provider::Guest for $component { + impl $crate::details_bindings::exports::openidea::plugin::detail_provider::Guest for $component { fn detail( view: ::std::string::String, key: ::std::string::String, ctx: &$crate::bindings::openidea::plugin::invocation::Invocation, ) -> ::core::result::Result< - ::std::vec::Vec<$crate::services_bindings::openidea::plugin::service_types::Tab>, + ::std::vec::Vec<$crate::details_bindings::openidea::plugin::detail_types::Tab>, $crate::bindings::openidea::plugin::types::Error, > { $crate::__rt::service_detail::<$plugin>(view, key, ctx) } } - $crate::services_bindings::__export_services_world!($component with_types_in $crate::services_bindings); + $crate::details_bindings::__export_details_world!($component with_types_in $crate::details_bindings); }; } @@ -811,13 +811,13 @@ pub mod __rt { with::(|p| p.render(&view, viewport, &ctx)).map(view_out).map_err(error_out) } - pub fn service_detail( + pub fn service_detail( view: String, key: String, ctx: &b::invocation::Invocation, - ) -> Result, b::types::Error> { - use crate::services as s; - use crate::services_bindings::openidea::plugin::service_types as w; + ) -> Result, b::types::Error> { + use crate::details as s; + use crate::details_bindings::openidea::plugin::detail_types as w; let ctx = Invocation::__new(ctx); let tab = |t: s::Tab| w::Tab { id: t.id, diff --git a/sdk/rust/openidea-plugin/wit/services.wit b/sdk/rust/openidea-plugin/wit/details.wit similarity index 94% rename from sdk/rust/openidea-plugin/wit/services.wit rename to sdk/rust/openidea-plugin/wit/details.wit index 17d7eafa5..9e889851a 100644 --- a/sdk/rust/openidea-plugin/wit/services.wit +++ b/sdk/rust/openidea-plugin/wit/details.wit @@ -1,7 +1,7 @@ package openidea:plugin@1.3.0; /// What the pane beside the Services tree shows for a plugin's node. -interface service-types { +interface detail-types { /// A switch above a log; when on, `args` are appended and the program /// starts again. record log-toggle { @@ -39,10 +39,10 @@ interface service-types { /// The detail pane of the nodes of a plugin's `location = "services"` views. /// The nodes themselves, the toolbar and their events come from /// `view-provider` (`render` / `handle` of the view). -interface service-provider { +interface detail-provider { use types.{error}; use invocation.{invocation}; - use service-types.{tab}; + use detail-types.{tab}; /// The tabs of node `key` of view `view` (at most 8), rendered when the /// node is selected and again after `views.refresh(view)`. diff --git a/sdk/rust/openidea-plugin/wit/plugin.wit b/sdk/rust/openidea-plugin/wit/plugin.wit index d52196cac..b01f7a96f 100644 --- a/sdk/rust/openidea-plugin/wit/plugin.wit +++ b/sdk/rust/openidea-plugin/wit/plugin.wit @@ -69,9 +69,9 @@ world plugin-hover { /// A plugin whose views show in the Services tool window /// (`location = "services"`): their nodes' detail pane. -world plugin-services { +world plugin-details { include plugin; - export service-provider; + export detail-provider; } /// A plugin with before-commit checks (`[[contributes.commitChecks]]`). @@ -109,9 +109,9 @@ world hover { export hover-provider; } -/// Only the `service-provider` export, generated next to `plugin` like `syntax`. -world services { - export service-provider; +/// Only the `detail-provider` export, generated next to `plugin` like `syntax`. +world details { + export detail-provider; } /// Only the `commit-checker` export, generated next to `plugin` like `syntax`. diff --git a/wit/services.wit b/wit/details.wit similarity index 94% rename from wit/services.wit rename to wit/details.wit index 17d7eafa5..9e889851a 100644 --- a/wit/services.wit +++ b/wit/details.wit @@ -1,7 +1,7 @@ package openidea:plugin@1.3.0; /// What the pane beside the Services tree shows for a plugin's node. -interface service-types { +interface detail-types { /// A switch above a log; when on, `args` are appended and the program /// starts again. record log-toggle { @@ -39,10 +39,10 @@ interface service-types { /// The detail pane of the nodes of a plugin's `location = "services"` views. /// The nodes themselves, the toolbar and their events come from /// `view-provider` (`render` / `handle` of the view). -interface service-provider { +interface detail-provider { use types.{error}; use invocation.{invocation}; - use service-types.{tab}; + use detail-types.{tab}; /// The tabs of node `key` of view `view` (at most 8), rendered when the /// node is selected and again after `views.refresh(view)`. diff --git a/wit/plugin.wit b/wit/plugin.wit index d52196cac..b01f7a96f 100644 --- a/wit/plugin.wit +++ b/wit/plugin.wit @@ -69,9 +69,9 @@ world plugin-hover { /// A plugin whose views show in the Services tool window /// (`location = "services"`): their nodes' detail pane. -world plugin-services { +world plugin-details { include plugin; - export service-provider; + export detail-provider; } /// A plugin with before-commit checks (`[[contributes.commitChecks]]`). @@ -109,9 +109,9 @@ world hover { export hover-provider; } -/// Only the `service-provider` export, generated next to `plugin` like `syntax`. -world services { - export service-provider; +/// Only the `detail-provider` export, generated next to `plugin` like `syntax`. +world details { + export detail-provider; } /// Only the `commit-checker` export, generated next to `plugin` like `syntax`.