From 8b3b92b405ebc96416ec300ad3f6260bd8354864 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Wed, 5 Nov 2025 16:45:30 +0800 Subject: Add sheet restoration and drop functionality - Add write_and_return macro for common result handling pattern - Extend make_sheet_action to restore sheets with no holder - Implement drop_sheet_action for releasing sheet ownership - Register new drop_sheet_action in client and server registries --- crates/vcs_actions/src/actions.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'crates/vcs_actions/src/actions.rs') diff --git a/crates/vcs_actions/src/actions.rs b/crates/vcs_actions/src/actions.rs index 795d2b0..51186fb 100644 --- a/crates/vcs_actions/src/actions.rs +++ b/crates/vcs_actions/src/actions.rs @@ -116,3 +116,12 @@ pub async fn auth_member( Err(TcpTargetError::NoResult("Auth failed.".to_string())) } + +/// The macro to write and return a result. +#[macro_export] +macro_rules! write_and_return { + ($instance:expr, $result:expr) => {{ + $instance.lock().await.write($result).await?; + return Ok($result); + }}; +} -- cgit