Post selections or buffers to online paste bins. Save the URL to a register, or dont.
curl
executable in your $PATH
Use your package manager.
Setup
-- options shown with default values
require("paperplanes").setup({
register = "+",
provider = "0x0.st",
provider_options = {},
notifier = vim.notify or print,
})
register
- any valid register name or falseprovider
- See provider list.provider_options
- passed to selected provider, see list of providers below for accepted optionsnotifier
- any function that accepts a string, should show that string in some way.Commands
Post selection or buffer to configured provider, sets configured register and print's the result.
:PP
-> Post current buffer.
:[range]PP
-> Post range.
post_selection
via a map for that behaviour.Functions
See :h paperplanes
for more complete documentation.
Functions are provided in snake_case
and kebab-case
(post_string
and
post-string
).
All functions accept a callback
argument which is called with url, nil
or
nil, errors
.
provider-name
and provider-options
are optional and the default provider
will be used if not given.
Functions to not automatically print the url or set any registers.
post_string(content, metadata, callback, provider-name, provider-options)
post_range(buffer, start_pos, end_pos, callback, provider-name, provider-options)
post_selection(callback, provider-name, provider-options)
post_buffer(buffer, callback, provider-name, provider-options)
paperplanes supports the following providers, see sites for TOS and features.
provider = "0x0.st"
)provider = "paste.rs"
)provider = "sr.ht"
)command
: "curl"
(default) or "hut"
.token
: PAT token string, or function returning token string, required if command = "curl" | nil
.provider = "gist"
)command
: "curl"
(default) or "gh"
.token
: PAT token string or function returning token string, required if command = "curl" | nil
.provider = "dpaste.org"
)provider = "ray.so"
)provider = "mystb.in"
)provider = "ix.io"
)insecure = true
explicit opt in.provider = "sprunge.us"
)insecure = true
explicit opt in.To create a new provider, see :h paperplanes
and
fnl/paperplanes/providers/*.fnl
.
paperplanes is not affiliated with any provider in any manner.
Building paperplanes requires hotpot.nvim v0.9.7+.
The relevant lua|
files should be build when saving any file inside fnl/
.
See CHANGELOG.md
.