96 lines
2.5 KiB
Markdown
96 lines
2.5 KiB
Markdown
# 📋 nu_plugin_clipboard
|
||
|
||
A [nushell](https://www.nushell.sh/) plugin for interacting with the clipboard, allowing you to copy/paste text, objects, and tables.
|
||
|
||
## ✨ Features
|
||
|
||
- **`clipboard copy`**: Copies input text to the clipboard.
|
||
- **Daemon Behavior:** Since version **0.105.2**, using env variables will try to detect display server.
|
||
This config will override this behavior, if you need to override this please report and issue:
|
||
|
||
```bash
|
||
$env.config.plugins.clipboard.NO_DAEMON = true
|
||
```
|
||
|
||
- To make this setting permanent, add it to your `config env`.
|
||
|
||
- **`clipboard paste`**: Retrieves the current clipboard content.
|
||
|
||
## ⚠️ Important
|
||
|
||
If you face the error `Error: × Clipboard Error: The clipboard contents were not available in the requested format...`
|
||
Try disabling the daemon mode, as mentioned in [#20](https://github.com/FMotalleb/nu_plugin_clipboard/issues/20).
|
||
|
||
## 📌 Usage Examples
|
||
|
||
### Copying a string (supports only strings for now)
|
||
|
||
```bash
|
||
echo "test value" | clipboard copy
|
||
```
|
||
|
||
### Using clipboard content
|
||
|
||
```bash
|
||
clipboard paste | echo $in
|
||
```
|
||
|
||
### Copying tables and objects
|
||
|
||
- Tables and objects are internally converted to **JSON**.
|
||
- When pasting, `clipboard paste` tries to parse JSON into a table or object.
|
||
- If parsing fails, the content is returned as a string.
|
||
|
||
```bash
|
||
$env | clipboard copy
|
||
clipboard paste
|
||
|
||
ps | clipboard copy
|
||
clipboard paste
|
||
```
|
||
|
||
## 🔧 Installation
|
||
|
||
### 🚀 Recommended: Using [nupm](https://github.com/nushell/nupm)
|
||
|
||
This method automatically handles dependencies and features:
|
||
|
||
```bash
|
||
git clone https://github.com/FMotalleb/nu_plugin_clipboard.git
|
||
nupm install --path nu_plugin_clipboard -f
|
||
```
|
||
|
||
### ⚙️ Supported Features
|
||
|
||
- **`use-wayland`**: Prioritizes the Wayland API, but falls back to X11 if needed.
|
||
- **`enforce-daemon`**: _(Deprecated)_ Now always enabled on Linux. Disable with:
|
||
|
||
```bash
|
||
$env.config.plugins.clipboard.NO_DAEMON = true
|
||
```
|
||
|
||
### 🛠️ Manual Compilation
|
||
|
||
```bash
|
||
git clone https://github.com/FMotalleb/nu_plugin_clipboard.git
|
||
cd nu_plugin_clipboard
|
||
cargo build -r
|
||
plugin add target/release/nu_plugin_clipboard
|
||
```
|
||
|
||
### 📦 Install via Cargo (using git)
|
||
|
||
```bash
|
||
cargo install --git https://github.com/FMotalleb/nu_plugin_clipboard.git
|
||
plugin add ~/.cargo/bin/nu_plugin_clipboard
|
||
```
|
||
|
||
### 📦 Install via Cargo (crates.io) _Not Recommended_
|
||
|
||
- Since I live in Iran and crates.io won't let me update my packages like a normal person, most of the time crates.io is outdated.
|
||
|
||
```bash
|
||
cargo install nu_plugin_clipboard
|
||
plugin add ~/.cargo/bin/nu_plugin_clipboard
|
||
```
|