diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2020-02-29 15:27:17 +0100 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2020-09-09 21:22:21 +0200 |
commit | bc86f76c0a1d3234b749a105c9aae65f84c51320 (patch) | |
tree | c8930079e178c2a3233ef43602f7136d3f6981fb /src/nvim/memline.c | |
parent | 81fa107f595ee0392b5f004b86e4e8d41e49cc9e (diff) | |
download | rneovim-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.c | 13 |
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++; } } |