@@ -305,12 +305,14 @@ ExtmarkInfoArray extmark_get(buf_T *buf, uint32_t ns_id, int l_row, colnr_T l_co
305
305
}
306
306
307
307
if (mark.ns == ns_id) {
308
-
mtpos_t endpos = marktree_get_altpos(buf->b_marktree, mark, NULL);
308
+
mtkey_t end = marktree_get_alt(buf->b_marktree, mark, NULL);
309
309
kv_push(array, ((ExtmarkInfo) { .ns_id = mark.ns,
310
310
.mark_id = mark.id,
311
311
.row = mark.pos.row, .col = mark.pos.col,
312
-
.end_row = endpos.row,
313
-
.end_col = endpos.col,
312
+
.end_row = end.pos.row,
313
+
.end_col = end.pos.col,
314
+
.right_gravity = mt_right(mark),
315
+
.end_right_gravity = mt_right(end),
314
316
.decor = get_decor(mark) }));
315
317
}
316
318
next_mark:
@@ -326,20 +328,22 @@ ExtmarkInfoArray extmark_get(buf_T *buf, uint32_t ns_id, int l_row, colnr_T l_co
326
328
// Lookup an extmark by id
327
329
ExtmarkInfo extmark_from_id(buf_T *buf, uint32_t ns_id, uint32_t id)
328
330
{
329
-
ExtmarkInfo ret = { 0, 0, -1, -1, -1, -1, DECORATION_INIT };
331
+
ExtmarkInfo ret = { 0, 0, -1, -1, -1, -1, false, false, DECORATION_INIT };
330
332
mtkey_t mark = marktree_lookup_ns(buf->b_marktree, ns_id, id, false, NULL);
331
333
if (!mark.id) {
332
334
return ret;
333
335
}
334
336
assert(mark.pos.row >= 0);
335
-
mtpos_t endpos = marktree_get_altpos(buf->b_marktree, mark, NULL);
337
+
mtkey_t end = marktree_get_alt(buf->b_marktree, mark, NULL);
336
338
337
339
ret.ns_id = ns_id;
338
340
ret.mark_id = id;
339
341
ret.row = mark.pos.row;
340
342
ret.col = mark.pos.col;
341
-
ret.end_row = endpos.row;
342
-
ret.end_col = endpos.col;
343
+
ret.end_row = end.pos.row;
344
+
ret.end_col = end.pos.col;
345
+
ret.right_gravity = mt_right(mark);
346
+
ret.end_right_gravity = mt_right(end);
343
347
ret.decor = get_decor(mark);
344
348
345
349
return ret;
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4