blob: 2f5be0df0e9348a40ce7920a7bc4a730944a96d6 [file] [log] [blame]
Bram Moolenaarda861d62016-07-17 15:46:27 +02001/* 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);
Bram Moolenaarf49cc602018-11-11 15:21:05 +01006list_T *list_alloc_id(alloc_id_T id);
Bram Moolenaarda861d62016-07-17 15:46:27 +02007int rettv_list_alloc(typval_T *rettv);
Bram Moolenaar162b7142018-12-21 15:17:36 +01008int rettv_list_alloc_id(typval_T *rettv, alloc_id_T id);
Bram Moolenaar45cf6e92017-04-30 20:25:19 +02009void rettv_list_set(typval_T *rettv, list_T *l);
Bram Moolenaarda861d62016-07-17 15:46:27 +020010void list_unref(list_T *l);
11int list_free_nonref(int copyID);
12void list_free_items(int copyID);
13void list_free(list_T *l);
14listitem_T *listitem_alloc(void);
15void listitem_free(listitem_T *item);
16void listitem_remove(list_T *l, listitem_T *item);
17long list_len(list_T *l);
18int list_equal(list_T *l1, list_T *l2, int ic, int recursive);
19listitem_T *list_find(list_T *l, long n);
20long list_find_nr(list_T *l, long idx, int *errorp);
21char_u *list_find_str(list_T *l, long idx);
22long list_idx_of_item(list_T *l, listitem_T *item);
23void list_append(list_T *l, listitem_T *item);
24int list_append_tv(list_T *l, typval_T *tv);
25int list_append_dict(list_T *list, dict_T *dict);
Bram Moolenaar4f505882018-02-10 21:06:32 +010026int list_append_list(list_T *list1, list_T *list2);
Bram Moolenaarda861d62016-07-17 15:46:27 +020027int list_append_string(list_T *l, char_u *str, int len);
28int list_append_number(list_T *l, varnumber_T n);
29int list_insert_tv(list_T *l, typval_T *tv, listitem_T *item);
30void list_insert(list_T *l, listitem_T *ni, listitem_T *item);
31int list_extend(list_T *l1, list_T *l2, listitem_T *bef);
32int list_concat(list_T *l1, list_T *l2, typval_T *tv);
33list_T *list_copy(list_T *orig, int deep, int copyID);
34void vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2);
35char_u *list2string(typval_T *tv, int copyID, int restore_copyID);
36int list_join(garray_T *gap, list_T *l, char_u *sep, int echo_style, int restore_copyID, int copyID);
Bram Moolenaar9f9fe372019-07-27 23:12:12 +020037void f_join(typval_T *argvars, typval_T *rettv);
Bram Moolenaarda861d62016-07-17 15:46:27 +020038int get_list_tv(char_u **arg, typval_T *rettv, int evaluate);
Bram Moolenaar73dad1e2016-07-17 22:13:49 +020039int write_list(FILE *fd, list_T *list, int binary);
Bram Moolenaardf48fb42016-07-22 21:50:18 +020040void init_static_list(staticList10_T *sl);
Bram Moolenaar9f9fe372019-07-27 23:12:12 +020041void f_list2str(typval_T *argvars, typval_T *rettv);
42void list_remove(typval_T *argvars, typval_T *rettv, char_u *arg_errmsg);
43void f_sort(typval_T *argvars, typval_T *rettv);
44void f_uniq(typval_T *argvars, typval_T *rettv);
Bram Moolenaarda861d62016-07-17 15:46:27 +020045/* vim: set ft=c : */