doc/API/lua: detaching Lua buffer callbacks

This commit is contained in:
Björn Linse 2019-08-28 10:17:45 +02:00 committed by Justin M. Keyes
parent a3849abc31
commit e5d5fc0857
2 changed files with 13 additions and 5 deletions

View File

@ -330,13 +330,14 @@ paste a block of 6 lines, emits: >
User reloads the buffer with ":edit", emits: > User reloads the buffer with ":edit", emits: >
nvim_buf_detach_event[{buf}] nvim_buf_detach_event[{buf}]
<
LUA ~
*api-buffer-updates-lua* *api-buffer-updates-lua*
In-process lua plugins can also receive buffer updates, in the form of lua In-process Lua plugins can receive buffer updates in the form of Lua
callbacks. These callbacks are called frequently in various contexts, buffer callbacks. These callbacks are called frequently in various contexts;
contents or window layout should not be changed inside these |textlock|. |textlock| prevents changing buffer contents and window layout (use
|vim.schedule| can be used to defer these operations to the main loop, where |vim.schedule| to defer such operations to the main loop instead).
they are allowed.
|nvim_buf_attach| will take keyword args for the callbacks. "on_lines" will |nvim_buf_attach| will take keyword args for the callbacks. "on_lines" will
receive parameters ("lines", {buf}, {changedtick}, {firstline}, {lastline}, 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 "on_changedtick" is invoked when |b:changedtick| was incremented but no text
was changed. The parameters recieved are ("changedtick", {buf}, {changedtick}). 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()* nvim_buf_detach({buffer}) *nvim_buf_detach()*
Deactivates buffer-update events on the channel. Deactivates buffer-update events on the channel.
For Lua callbacks see |api-lua-detach|.
Parameters: ~ Parameters: ~
{buffer} Buffer handle, or 0 for current buffer {buffer} Buffer handle, or 0 for current buffer

View File

@ -183,6 +183,8 @@ error:
/// Deactivates buffer-update events on the channel. /// Deactivates buffer-update events on the channel.
/// ///
/// For Lua callbacks see |api-lua-detach|.
///
/// @param channel_id /// @param channel_id
/// @param buffer Buffer handle, or 0 for current buffer /// @param buffer Buffer handle, or 0 for current buffer
/// @param[out] err Error details, if any /// @param[out] err Error details, if any