diff --git a/jay-config/src/_private/client.rs b/jay-config/src/_private/client.rs index 61c8af6c..3cf9c686 100644 --- a/jay-config/src/_private/client.rs +++ b/jay-config/src/_private/client.rs @@ -4,7 +4,9 @@ use { crate::{ _private::{ bincode_ops, - ipc::{ClientMessage, InitMessage, Response, ServerMessage, WorkspaceSource}, + ipc::{ + ClientMessage, InitMessage, Response, ServerFeature, ServerMessage, WorkspaceSource, + }, logging, Config, ConfigEntry, ConfigEntryGen, PollableId, WireMode, VERSION, }, exec::Command, @@ -1178,6 +1180,14 @@ impl Client { } } } + ServerMessage::Features { features } => { + for feat in features { + match feat { + ServerFeature::NONE => {} + _ => {} + } + } + } } } diff --git a/jay-config/src/_private/ipc.rs b/jay-config/src/_private/ipc.rs index 17210fa2..783949f4 100644 --- a/jay-config/src/_private/ipc.rs +++ b/jay-config/src/_private/ipc.rs @@ -13,6 +13,14 @@ use { std::time::Duration, }; +#[derive(Serialize, Deserialize, Debug, Eq, PartialEq)] +#[serde(transparent)] +pub struct ServerFeature(u16); + +impl ServerFeature { + pub const NONE: Self = Self(0); +} + #[derive(Serialize, Deserialize, Debug)] pub enum ServerMessage { Configure { @@ -62,6 +70,9 @@ pub enum ServerMessage { writable: bool, res: Result<(), String>, }, + Features { + features: Vec, + }, } #[derive(Serialize, Deserialize, Debug)] diff --git a/jay-config/src/lib.rs b/jay-config/src/lib.rs index 0b94684e..118d7fa0 100644 --- a/jay-config/src/lib.rs +++ b/jay-config/src/lib.rs @@ -38,7 +38,8 @@ clippy::uninlined_format_args, clippy::len_zero, clippy::single_char_pattern, - clippy::single_char_add_str + clippy::single_char_add_str, + clippy::single_match )] use { diff --git a/src/config.rs b/src/config.rs index 3c3f2a43..8334d924 100644 --- a/src/config.rs +++ b/src/config.rs @@ -203,6 +203,7 @@ impl ConfigProxy { } pub fn configure(&self, reload: bool) { + self.send(&ServerMessage::Features { features: vec![] }); self.send(&ServerMessage::Configure { reload }); } diff --git a/src/it/test_config.rs b/src/it/test_config.rs index 377387d3..22273420 100644 --- a/src/it/test_config.rs +++ b/src/it/test_config.rs @@ -109,6 +109,7 @@ unsafe extern "C" fn handle_msg(data: *const u8, msg: *const u8, size: usize) { ServerMessage::Idle => {} ServerMessage::DevicesEnumerated => {} ServerMessage::InterestReady { .. } => {} + ServerMessage::Features { .. } => {} } }