Raxol.Terminal.Clipboard (Raxol v0.5.0)
View SourceProvides a high-level interface for clipboard operations.
This module offers a unified API for clipboard operations across different terminal environments. It supports:
- Copying content to clipboard
- Pasting content from clipboard
- Clearing clipboard contents
- Multiple clipboard formats
Clipboard Formats
The module supports different clipboard formats:
"text"
- Plain text (default)"html"
- HTML content"rtf"
- Rich Text Format- Custom formats as needed
Usage
# Copy text to clipboard
Clipboard.copy("Hello, World!")
# Copy HTML content
Clipboard.copy("<b>Hello</b>", "html")
# Paste from clipboard
{:ok, content} = Clipboard.paste()
# Clear clipboard
Clipboard.clear()
Summary
Functions
Clears the clipboard contents.
Copies content to the clipboard.
Pastes content from the clipboard.
Functions
@spec clear() :: :ok
Clears the clipboard contents.
Returns
:ok
- Clipboard cleared successfully
Examples
iex> Clipboard.copy("Hello, World!")
iex> Clipboard.clear()
iex> Clipboard.paste()
{:error, :empty_clipboard}
Copies content to the clipboard.
Parameters
content
- The content to copyformat
- The clipboard format (default: "text")
Returns
:ok
- Content copied successfully
Examples
iex> Clipboard.copy("Hello, World!")
:ok
iex> Clipboard.copy("<b>Hello</b>", "html")
:ok
Pastes content from the clipboard.
Parameters
format
- The clipboard format to paste (default: "text")
Returns
{:ok, content}
- Content pasted successfully{:error, :empty_clipboard}
- Clipboard is empty
Examples
iex> Clipboard.copy("Hello, World!")
iex> Clipboard.paste()
{:ok, "Hello, World!"}
iex> Clipboard.clear()
iex> Clipboard.paste()
{:error, :empty_clipboard}