himitsu 1.0.0

An encrypted CLI tool for managing secrets on your machine
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! Contains clipboard utilities for `himitsu`.

use copypasta::{ClipboardContext, ClipboardProvider};

use crate::errors::HimitsuError;

/// Copy the decrypted secret to the system clipboard.
pub fn set_clipboard(secret_value: String) -> Result<(), HimitsuError> {
    match ClipboardContext::new() {
        Ok(mut context) => context.set_contents(secret_value).map_or_else(
            |error| Err(HimitsuError::ClipboardContentsError(error.to_string())),
            Ok,
        ),
        Err(error) => Err(HimitsuError::ClipboardContextError(error.to_string())),
    }
}