aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/extmark.h
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/extmark.h
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/extmark.h')
-rw-r--r--src/nvim/extmark.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/nvim/extmark.h b/src/nvim/extmark.h
index e1197834bd..534e97a7f4 100644
--- a/src/nvim/extmark.h
+++ b/src/nvim/extmark.h
@@ -20,6 +20,9 @@ typedef struct
typedef kvec_t(ExtmarkInfo) ExtmarkInfoArray;
+// TODO(bfredl): good enough name for now.
+typedef ptrdiff_t bcount_t;
+
// delete the columns between mincol and endcol
typedef struct {
@@ -29,9 +32,9 @@ typedef struct {
colnr_T old_col;
int new_row;
colnr_T new_col;
- size_t start_byte;
- size_t old_byte;
- size_t new_byte;
+ bcount_t start_byte;
+ bcount_t old_byte;
+ bcount_t new_byte;
} ExtmarkSplice;
// adjust marks after :move operation
@@ -42,6 +45,9 @@ typedef struct {
int extent_col;
int new_row;
int new_col;
+ bcount_t start_byte;
+ bcount_t extent_byte;
+ bcount_t new_byte;
} ExtmarkMove;
// extmark was updated