diff options
author | 2021-09-13 11:20:54 +0700 | |
---|---|---|
committer | 2021-09-13 11:24:22 +0700 | |
commit | 2c630809d403f7fa87c3230be031299e5fb3af17 (patch) | |
tree | bf22c862816f9f175861af19b0977c44249c447a /native/src/clipboard.rs | |
parent | 7cb6e7438f7fb5d0d8be4528a31b888e2b12cd51 (diff) | |
download | iced-2c630809d403f7fa87c3230be031299e5fb3af17.tar.gz iced-2c630809d403f7fa87c3230be031299e5fb3af17.tar.bz2 iced-2c630809d403f7fa87c3230be031299e5fb3af17.zip |
Write missing docs and `Debug` implementations for `native`
Diffstat (limited to 'native/src/clipboard.rs')
-rw-r--r-- | native/src/clipboard.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/native/src/clipboard.rs b/native/src/clipboard.rs index 4d59d960..60703c31 100644 --- a/native/src/clipboard.rs +++ b/native/src/clipboard.rs @@ -1,4 +1,5 @@ //! Access the clipboard. +use std::fmt; /// A buffer for short-term storage and transfer within and between /// applications. @@ -22,12 +23,19 @@ impl Clipboard for Null { fn write(&mut self, _contents: String) {} } +/// A clipboard action to be performed by some [`Command`]. +/// +/// [`Command`]: crate::Command pub enum Action<T> { + /// Read the clipboard and produce `T` with the result. Read(Box<dyn Fn(Option<String>) -> T>), + + /// Write the given contents to the clipboard. Write(String), } impl<T> Action<T> { + /// Maps the output of a clipboard [`Action`] using the provided closure. pub fn map<A>(self, f: impl Fn(T) -> A + 'static + Send + Sync) -> Action<A> where T: 'static, @@ -38,3 +46,12 @@ impl<T> Action<T> { } } } + +impl<T> fmt::Debug for Action<T> { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Self::Read(_) => write!(f, "Action::Read"), + Self::Write(_) => write!(f, "Action::Write"), + } + } +} |