aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/provider.txt
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/doc/provider.txt')
-rw-r--r--runtime/doc/provider.txt27
1 files changed, 24 insertions, 3 deletions
diff --git a/runtime/doc/provider.txt b/runtime/doc/provider.txt
index 4de411a60e..930c73d06e 100644
--- a/runtime/doc/provider.txt
+++ b/runtime/doc/provider.txt
@@ -160,7 +160,9 @@ registers. Nvim looks for these clipboard tools, in order of priority:
- tmux (if $TMUX is set)
*g:clipboard*
-To configure a custom clipboard tool, set `g:clipboard` to a dictionary: >
+To configure a custom clipboard tool, set g:clipboard to a dictionary.
+For example this configuration integrates the tmux clipboard: >
+
let g:clipboard = {
\ 'name': 'myClipboard',
\ 'copy': {
@@ -174,9 +176,28 @@ To configure a custom clipboard tool, set `g:clipboard` to a dictionary: >
\ 'cache_enabled': 1,
\ }
-If `cache_enabled` is |TRUE| then when a selection is copied, Nvim will cache
+If "cache_enabled" is |TRUE| then when a selection is copied Nvim will cache
the selection until the copy command process dies. When pasting, if the copy
-process has not died, the cached selection is applied.
+process has not died the cached selection is applied.
+
+g:clipboard can also use functions (see |lambda|) instead of strings.
+For example this configuration uses the g:foo variable as a fake clipboard: >
+
+ let g:clipboard = {
+ \ 'name': 'myClipboard',
+ \ 'copy': {
+ \ '+': {lines, regtype -> extend(g:, {'foo': [lines, regtype]}) },
+ \ '*': {lines, regtype -> extend(g:, {'foo': [lines, regtype]}) },
+ \ },
+ \ 'paste': {
+ \ '+': {-> get(g:, 'foo', [])},
+ \ '*': {-> get(g:, 'foo', [])},
+ \ },
+ \ }
+
+The "copy" function stores a list of lines and the register type. The "paste"
+function returns the clipboard as a `[lines, regtype]` list, where `lines` is
+a list of lines and `regtype` is a register type conforming to |setreg()|.
==============================================================================
X11 selection mechanism *clipboard-x11* *x11-selection*