Copy and paste from system clipboard.
Sick of IO.puts(json)
then manually selecting your terminal? Try Clipboard.copy(json)
!
Wraps ports to system-specific utilities responsible for clipboard access. It uses the default clipboard utilities on macOS, Linux and Windows but can be configured to call any executable.
Clipboard.copy("Hello, World!") # Copied to clipboard
"Hello, World!"
|> Clipboard.copy() # Insert into pipelines
|> business_as_usual()
# And paste too!
greeting = Clipboard.paste()
Clipboard uses these utilities by default.
OS | Utilities |
---|---|
macOS | pbcopy & pbpaste |
Linux | xclip |
Windows | clip |
However, you can instruct Clipboard to use another command by setting config.exs
.
config :clipboard,
unix: [
copy: {"xsel", ["-i"]},
paste: {"xsel", ["-o"]}
]
Supported operating systems are :macos
, :unix
and :windows
.
Add clipboard
to your list of dependencies in mix.exs
:
def deps do
[
{:clipboard, ">= 0.0.0", only: [:dev]}
]
end
Don’t forget to update your dependencies.
$ mix deps.get
Pasting on Windows doesn’t work out of the box because clip
only supports copying.
Clipboard is released under MIT license.