aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/memline.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2020-02-29 15:27:17 +0100
committerBjörn Linse <bjorn.linse@gmail.com>2020-09-09 21:22:21 +0200
commitbc86f76c0a1d3234b749a105c9aae65f84c51320 (patch)
treec8930079e178c2a3233ef43602f7136d3f6981fb /src/nvim/memline.c
parent81fa107f595ee0392b5f004b86e4e8d41e49cc9e (diff)
downloadrneovim-bc86f76c0a1d3234b749a105c9aae65f84c51320.tar.gz
rneovim-bc86f76c0a1d3234b749a105c9aae65f84c51320.tar.bz2
rneovim-bc86f76c0a1d3234b749a105c9aae65f84c51320.zip
api/buffer: add "on_bytes" callback to nvim_buf_attach
This implements byte-resolution updates of buffer changes. Note: there is no promise that the buffer state is valid inside the callback!
Diffstat (limited to 'src/nvim/memline.c')
-rw-r--r--src/nvim/memline.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/nvim/memline.c b/src/nvim/memline.c
index 7d84c1cca3..9dde4a401b 100644
--- a/src/nvim/memline.c
+++ b/src/nvim/memline.c
@@ -2405,12 +2405,13 @@ void ml_add_deleted_len_buf(buf_T *buf, char_u *ptr, ssize_t len)
if (len == -1) {
len = STRLEN(ptr);
}
- buf->deleted_bytes += len+1;
- if (buf->update_need_codepoints) {
- mb_utflen(ptr, len, &buf->deleted_codepoints,
- &buf->deleted_codeunits);
- buf->deleted_codepoints++; // NL char
- buf->deleted_codeunits++;
+ curbuf->deleted_bytes += len+1;
+ curbuf->deleted_bytes2 += len+1;
+ if (curbuf->update_need_codepoints) {
+ mb_utflen(ptr, len, &curbuf->deleted_codepoints,
+ &curbuf->deleted_codeunits);
+ curbuf->deleted_codepoints++; // NL char
+ curbuf->deleted_codeunits++;
}
}