1/* list.c */ 2void list_add_watch(list_T *l, listwatch_T *lw); 3void list_rem_watch(list_T *l, listwatch_T *lwrem); 4void list_fix_watch(list_T *l, listitem_T *item); 5list_T *list_alloc(void); 6int rettv_list_alloc(typval_T *rettv); 7void rettv_list_set(typval_T *rettv, list_T *l); 8void list_unref(list_T *l); 9int list_free_nonref(int copyID); 10void list_free_items(int copyID); 11void list_free(list_T *l); 12listitem_T *listitem_alloc(void); 13void listitem_free(listitem_T *item); 14void listitem_remove(list_T *l, listitem_T *item); 15long list_len(list_T *l); 16int list_equal(list_T *l1, list_T *l2, int ic, int recursive); 17listitem_T *list_find(list_T *l, long n); 18long list_find_nr(list_T *l, long idx, int *errorp); 19char_u *list_find_str(list_T *l, long idx); 20long list_idx_of_item(list_T *l, listitem_T *item); 21void list_append(list_T *l, listitem_T *item); 22int list_append_tv(list_T *l, typval_T *tv); 23int list_append_dict(list_T *list, dict_T *dict); 24int list_append_list(list_T *list1, list_T *list2); 25int list_append_string(list_T *l, char_u *str, int len); 26int list_append_number(list_T *l, varnumber_T n); 27int list_insert_tv(list_T *l, typval_T *tv, listitem_T *item); 28void list_insert(list_T *l, listitem_T *ni, listitem_T *item); 29int list_extend(list_T *l1, list_T *l2, listitem_T *bef); 30int list_concat(list_T *l1, list_T *l2, typval_T *tv); 31list_T *list_copy(list_T *orig, int deep, int copyID); 32void vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2); 33char_u *list2string(typval_T *tv, int copyID, int restore_copyID); 34int list_join(garray_T *gap, list_T *l, char_u *sep, int echo_style, int restore_copyID, int copyID); 35int get_list_tv(char_u **arg, typval_T *rettv, int evaluate); 36int write_list(FILE *fd, list_T *list, int binary); 37void init_static_list(staticList10_T *sl); 38/* vim: set ft=c : */ 39