aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2019-08-28 10:17:45 +0200
committerJustin M. Keyes <justinkz@gmail.com>2019-09-09 10:52:12 -0700
commite5d5fc0857935b4f67058a6a2dcfbc573331e3f6 (patch)
tree8240963c4734554117eb1392a3677368f0e31dd8 /runtime
parenta3849abc31d1857c9b54c7425b6bc0a4b1a99ec1 (diff)
downloadrneovim-e5d5fc0857935b4f67058a6a2dcfbc573331e3f6.tar.gz
rneovim-e5d5fc0857935b4f67058a6a2dcfbc573331e3f6.tar.bz2
rneovim-e5d5fc0857935b4f67058a6a2dcfbc573331e3f6.zip
doc/API/lua: detaching Lua buffer callbacks
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/api.txt16
1 files changed, 11 insertions, 5 deletions
diff --git a/runtime/doc/api.txt b/runtime/doc/api.txt
index bb4274a661..21cc114598 100644
--- a/runtime/doc/api.txt
+++ b/runtime/doc/api.txt
@@ -330,13 +330,14 @@ paste a block of 6 lines, emits: >
User reloads the buffer with ":edit", emits: >
nvim_buf_detach_event[{buf}]
+<
+LUA ~
*api-buffer-updates-lua*
-In-process lua plugins can also receive buffer updates, in the form of lua
-callbacks. These callbacks are called frequently in various contexts, buffer
-contents or window layout should not be changed inside these |textlock|.
-|vim.schedule| can be used to defer these operations to the main loop, where
-they are allowed.
+In-process Lua plugins can receive buffer updates in the form of Lua
+callbacks. These callbacks are called frequently in various contexts;
+|textlock| prevents changing buffer contents and window layout (use
+|vim.schedule| to defer such operations to the main loop instead).
|nvim_buf_attach| will take keyword args for the callbacks. "on_lines" will
receive parameters ("lines", {buf}, {changedtick}, {firstline}, {lastline},
@@ -355,6 +356,9 @@ arguments {old_utf32_size} and {old_utf16_size}.
"on_changedtick" is invoked when |b:changedtick| was incremented but no text
was changed. The parameters recieved are ("changedtick", {buf}, {changedtick}).
+ *api-lua-detach*
+In-process Lua callbacks can detach by returning `true`. This will detach all
+callbacks attached with the same |nvim_buf_attach| call.
==============================================================================
@@ -1510,6 +1514,8 @@ nvim_buf_attach({buffer}, {send_buffer}, {opts}) *nvim_buf_attach()*
nvim_buf_detach({buffer}) *nvim_buf_detach()*
Deactivates buffer-update events on the channel.
+ For Lua callbacks see |api-lua-detach|.
+
Parameters: ~
{buffer} Buffer handle, or 0 for current buffer