summaryrefslogtreecommitdiffstats
path: root/src/utils/mod.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2023-05-04 22:42:50 +0800
committerGitHub <noreply@github.com>2023-05-04 22:42:50 +0800
commit00ce1575715329a21726a506b13c0c2aef7f3f82 (patch)
tree766da2bf873b8f37936e1f5a385fc19d191bc193 /src/utils/mod.rs
parentcf03952c7bd44a3ad94a675b846cdfafb2af1c75 (diff)
downloadaichat-00ce1575715329a21726a506b13c0c2aef7f3f82.tar.gz
feat: add `.copy` command (#119)
Diffstat (limited to 'src/utils/mod.rs')
-rw-r--r--src/utils/mod.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/utils/mod.rs b/src/utils/mod.rs
index 64fc01c..ec57fed 100644
--- a/src/utils/mod.rs
+++ b/src/utils/mod.rs
@@ -2,6 +2,7 @@ mod tiktoken;
pub use self::tiktoken::{cl100k_base_singleton, count_tokens, text_to_tokens, tokens_to_text};
+use arboard::Clipboard;
use chrono::prelude::*;
use crossterm::style::{Color, Stylize};
use std::io::{stdout, Write};
@@ -35,6 +36,11 @@ pub fn mask_text(text: &str, head: usize, tail: usize) -> String {
format!("{}...{}", &text[0..head], &text[text.len() - tail..])
}
+pub fn copy(src: &str) -> Result<(), arboard::Error> {
+ let mut clipboard = Clipboard::new()?;
+ clipboard.set_text(src)
+}
+
#[cfg(test)]
mod tests {
use super::*;