Lines Matching refs:buf
59 find_prop_hi(char_u *name, buf_T *buf) in find_prop_hi() argument
66 if (buf == NULL) in find_prop_hi()
69 ht = buf->b_proptypes; in find_prop_hi()
83 find_prop(char_u *name, buf_T *buf) in find_prop() argument
85 hashitem_T *hi = find_prop_hi(name, buf); in find_prop()
97 find_prop_type_id(char_u *name, buf_T *buf) in find_prop_type_id() argument
99 proptype_T *pt = find_prop(name, buf); in find_prop_type_id()
112 lookup_prop_type(char_u *name, buf_T *buf) in lookup_prop_type() argument
114 proptype_T *type = find_prop(name, buf); in lookup_prop_type()
131 get_bufnr_from_arg(typval_T *arg, buf_T **buf) in get_bufnr_from_arg() argument
146 *buf = get_buf_arg(&di->di_tv); in get_bufnr_from_arg()
147 if (*buf == NULL) in get_bufnr_from_arg()
192 buf_T *buf, in prop_add_one() argument
210 type = lookup_prop_type(type_name, buf); in prop_add_one()
214 if (start_lnum < 1 || start_lnum > buf->b_ml.ml_line_count) in prop_add_one()
219 if (end_lnum < start_lnum || end_lnum > buf->b_ml.ml_line_count) in prop_add_one()
225 if (buf->b_ml.ml_mfp == NULL) in prop_add_one()
237 proplen = get_text_props(buf, lnum, &props, TRUE); in prop_add_one()
238 textlen = buf->b_ml.ml_line_len - proplen * sizeof(textprop_T); in prop_add_one()
260 newtext = alloc(buf->b_ml.ml_line_len + sizeof(textprop_T)); in prop_add_one()
264 mch_memmove(newtext, buf->b_ml.ml_line_ptr, textlen); in prop_add_one()
294 if (buf->b_ml.ml_flags & ML_LINE_DIRTY) in prop_add_one()
295 vim_free(buf->b_ml.ml_line_ptr); in prop_add_one()
296 buf->b_ml.ml_line_ptr = newtext; in prop_add_one()
297 buf->b_ml.ml_line_len += sizeof(textprop_T); in prop_add_one()
298 buf->b_ml.ml_flags |= ML_LINE_DIRTY; in prop_add_one()
301 changed_lines_buf(buf, start_lnum, end_lnum + 1, 0); in prop_add_one()
317 buf_T *buf = curbuf; in f_prop_add_list() local
348 if (get_bufnr_from_arg(&argvars[0], &buf) == FAIL) in f_prop_add_list()
370 if (prop_add_one(buf, type_name, id, start_lnum, end_lnum, in f_prop_add_list()
375 buf->b_has_textprop = TRUE; // this is never reset in f_prop_add_list()
376 redraw_buf_later(buf, VALID); in f_prop_add_list()
395 buf_T *buf = default_buf; in prop_add_common() local
445 if (dict_arg != NULL && get_bufnr_from_arg(dict_arg, &buf) == FAIL) in prop_add_common()
448 prop_add_one(buf, type_name, id, start_lnum, end_lnum, start_col, end_col); in prop_add_common()
450 buf->b_has_textprop = TRUE; // this is never reset in prop_add_common()
451 redraw_buf_later(buf, VALID); in prop_add_common()
461 get_text_props(buf_T *buf, linenr_T lnum, char_u **props, int will_change) in get_text_props() argument
469 if ((!buf->b_has_textprop && !will_change) || buf->b_ml.ml_mfp == NULL) in get_text_props()
473 text = ml_get_buf(buf, lnum, will_change); in get_text_props()
475 proplen = buf->b_ml.ml_line_len - textlen; in get_text_props()
602 prop_fill_dict(dict_T *dict, textprop_T *prop, buf_T *buf) in prop_fill_dict() argument
613 pt = find_type_by_id(buf->b_proptypes, prop->tp_type); in prop_fill_dict()
623 dict_add_number(dict, "type_bufnr", buf->b_fnum); in prop_fill_dict()
633 text_prop_type_by_id(buf_T *buf, int id) in text_prop_type_by_id() argument
637 type = find_type_by_id(buf->b_proptypes, id); in text_prop_type_by_id()
652 buf_T *buf = curbuf; in f_prop_clear() local
669 if (get_bufnr_from_arg(&argvars[2], &buf) == FAIL) in f_prop_clear()
684 if (lnum > buf->b_ml.ml_line_count) in f_prop_clear()
686 text = ml_get_buf(buf, lnum, FALSE); in f_prop_clear()
688 if ((size_t)buf->b_ml.ml_line_len > len) in f_prop_clear()
691 if (!(buf->b_ml.ml_flags & ML_LINE_DIRTY)) in f_prop_clear()
698 buf->b_ml.ml_line_ptr = newtext; in f_prop_clear()
699 buf->b_ml.ml_flags |= ML_LINE_DIRTY; in f_prop_clear()
701 buf->b_ml.ml_line_len = (int)len; in f_prop_clear()
705 redraw_buf_later(buf, NOT_VALID); in f_prop_clear()
716 buf_T *buf = curbuf; in f_prop_find() local
742 if (get_bufnr_from_arg(&argvars[0], &buf) == FAIL) in f_prop_find()
744 if (buf->b_ml.ml_mfp == NULL) in f_prop_find()
776 if (lnum < 1 || lnum > buf->b_ml.ml_line_count) in f_prop_find()
792 proptype_T *type = lookup_prop_type(name, buf); in f_prop_find()
817 char_u *text = ml_get_buf(buf, lnum, FALSE); in f_prop_find()
819 int count = (int)((buf->b_ml.ml_line_len - textlen) in f_prop_find()
875 prop_fill_dict(rettv->vval.v_dict, &prop, buf); in f_prop_find()
884 if (lnum >= buf->b_ml.ml_line_count) in f_prop_find()
895 col = dir < 0 ? buf->b_ml.ml_line_len : 1; in f_prop_find()
906 buf_T *buf = curbuf; in f_prop_list() local
916 if (get_bufnr_from_arg(&argvars[1], &buf) == FAIL) in f_prop_list()
919 if (lnum < 1 || lnum > buf->b_ml.ml_line_count) in f_prop_list()
927 char_u *text = ml_get_buf(buf, lnum, FALSE); in f_prop_list()
929 int count = (int)((buf->b_ml.ml_line_len - textlen) in f_prop_list()
942 prop_fill_dict(d, &prop, buf); in f_prop_list()
960 buf_T *buf = curbuf; in f_prop_remove() local
995 if (get_bufnr_from_arg(&argvars[0], &buf) == FAIL) in f_prop_remove()
997 if (buf->b_ml.ml_mfp == NULL) in f_prop_remove()
1007 proptype_T *type = lookup_prop_type(name, buf); in f_prop_remove()
1027 end = buf->b_ml.ml_line_count; in f_prop_remove()
1033 if (lnum > buf->b_ml.ml_line_count) in f_prop_remove()
1035 text = ml_get_buf(buf, lnum, FALSE); in f_prop_remove()
1037 if ((size_t)buf->b_ml.ml_line_len > len) in f_prop_remove()
1042 for (idx = 0; idx < (buf->b_ml.ml_line_len - len) in f_prop_remove()
1045 char_u *cur_prop = buf->b_ml.ml_line_ptr + len in f_prop_remove()
1053 if (!(buf->b_ml.ml_flags & ML_LINE_DIRTY)) in f_prop_remove()
1055 char_u *newptr = alloc(buf->b_ml.ml_line_len); in f_prop_remove()
1060 mch_memmove(newptr, buf->b_ml.ml_line_ptr, in f_prop_remove()
1061 buf->b_ml.ml_line_len); in f_prop_remove()
1062 buf->b_ml.ml_line_ptr = newptr; in f_prop_remove()
1063 buf->b_ml.ml_flags |= ML_LINE_DIRTY; in f_prop_remove()
1065 cur_prop = buf->b_ml.ml_line_ptr + len in f_prop_remove()
1069 taillen = buf->b_ml.ml_line_len - len in f_prop_remove()
1074 buf->b_ml.ml_line_len -= sizeof(textprop_T); in f_prop_remove()
1089 changed_lines_buf(buf, first_changed, last_changed + 1, 0); in f_prop_remove()
1090 redraw_buf_later(buf, VALID); in f_prop_remove()
1101 buf_T *buf = NULL; in prop_type_set() local
1118 if (get_bufnr_from_arg(&argvars[1], &buf) == FAIL) in prop_type_set()
1122 prop = find_prop(name, buf); in prop_type_set()
1138 htp = buf == NULL ? &global_proptypes : &buf->b_proptypes; in prop_type_set()
1238 buf_T *buf = NULL; in f_prop_type_delete() local
1255 if (get_bufnr_from_arg(&argvars[1], &buf) == FAIL) in f_prop_type_delete()
1259 hi = find_prop_hi(name, buf); in f_prop_type_delete()
1265 if (buf == NULL) in f_prop_type_delete()
1268 ht = buf->b_proptypes; in f_prop_type_delete()
1296 buf_T *buf = NULL; in f_prop_type_get() local
1300 if (get_bufnr_from_arg(&argvars[1], &buf) == FAIL) in f_prop_type_get()
1304 prop = find_prop(name, buf); in f_prop_type_get()
1318 if (buf != NULL) in f_prop_type_get()
1319 dict_add_number(d, "bufnr", buf->b_fnum); in f_prop_type_get()
1349 buf_T *buf = NULL; in f_prop_type_list() local
1358 if (get_bufnr_from_arg(&argvars[0], &buf) == FAIL) in f_prop_type_list()
1361 if (buf == NULL) in f_prop_type_list()
1366 else if (buf->b_proptypes != NULL) in f_prop_type_list()
1367 list_types(buf->b_proptypes, rettv->vval.v_list); in f_prop_type_list()
1415 clear_buf_prop_types(buf_T *buf) in clear_buf_prop_types() argument
1417 clear_ht_prop_types(buf->b_proptypes); in clear_buf_prop_types()
1418 buf->b_proptypes = NULL; in clear_buf_prop_types()