feat: add private shell control protocol

This commit is contained in:
Samuel Onoja committed 2026-09-25 06:33:48 +01:00
1 parent a836b55eb9
commit 75ae44c1d7
12 files changed
+727

No files matched your search

+7
View File
@@ -15,6 +15,7 @@ pub(crate) struct ClientCapabilities(u8);
impl ClientCapabilities {
pub(crate) const EFFECTS: Self = Self(1 << 0);
pub(crate) const SHELL_CONTROL: Self = Self(1 << 1);
pub(crate) fn contains(self, capability: Self) -> bool {
self.0 & capability.0 == capability.0
@@ -69,9 +70,15 @@ mod tests {
let mut capabilities = ClientCapabilities::default();
assert!(capabilities.is_empty());
assert!(!capabilities.contains(ClientCapabilities::EFFECTS));
assert!(!capabilities.contains(ClientCapabilities::SHELL_CONTROL));
capabilities.insert(ClientCapabilities::EFFECTS);
assert!(!capabilities.is_empty());
assert!(capabilities.contains(ClientCapabilities::EFFECTS));
assert!(!capabilities.contains(ClientCapabilities::SHELL_CONTROL));
capabilities.insert(ClientCapabilities::SHELL_CONTROL);
assert!(capabilities.contains(ClientCapabilities::EFFECTS));
assert!(capabilities.contains(ClientCapabilities::SHELL_CONTROL));
}
}