Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 1 | /* list.c */ |
| 2 | void list_add_watch(list_T *l, listwatch_T *lw); |
| 3 | void list_rem_watch(list_T *l, listwatch_T *lwrem); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 4 | list_T *list_alloc(void); |
Bram Moolenaar | f49cc60 | 2018-11-11 15:21:05 +0100 | [diff] [blame] | 5 | list_T *list_alloc_id(alloc_id_T id); |
Bram Moolenaar | 8a7d654 | 2020-01-26 15:56:19 +0100 | [diff] [blame^] | 6 | list_T *list_alloc_with_items(int count); |
| 7 | void list_set_item(list_T *l, int idx, typval_T *tv); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 8 | int rettv_list_alloc(typval_T *rettv); |
Bram Moolenaar | 162b714 | 2018-12-21 15:17:36 +0100 | [diff] [blame] | 9 | int rettv_list_alloc_id(typval_T *rettv, alloc_id_T id); |
Bram Moolenaar | 45cf6e9 | 2017-04-30 20:25:19 +0200 | [diff] [blame] | 10 | void rettv_list_set(typval_T *rettv, list_T *l); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 11 | void list_unref(list_T *l); |
| 12 | int list_free_nonref(int copyID); |
| 13 | void list_free_items(int copyID); |
| 14 | void list_free(list_T *l); |
| 15 | listitem_T *listitem_alloc(void); |
Bram Moolenaar | 8a7d654 | 2020-01-26 15:56:19 +0100 | [diff] [blame^] | 16 | void list_free_item(list_T *l, listitem_T *item); |
| 17 | void listitem_free(list_T *l, listitem_T *item); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 18 | void listitem_remove(list_T *l, listitem_T *item); |
| 19 | long list_len(list_T *l); |
| 20 | int list_equal(list_T *l1, list_T *l2, int ic, int recursive); |
| 21 | listitem_T *list_find(list_T *l, long n); |
| 22 | long list_find_nr(list_T *l, long idx, int *errorp); |
| 23 | char_u *list_find_str(list_T *l, long idx); |
| 24 | long list_idx_of_item(list_T *l, listitem_T *item); |
| 25 | void list_append(list_T *l, listitem_T *item); |
| 26 | int list_append_tv(list_T *l, typval_T *tv); |
Bram Moolenaar | 8a7d654 | 2020-01-26 15:56:19 +0100 | [diff] [blame^] | 27 | int list_append_tv_move(list_T *l, typval_T *tv); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 28 | int list_append_dict(list_T *list, dict_T *dict); |
Bram Moolenaar | 4f50588 | 2018-02-10 21:06:32 +0100 | [diff] [blame] | 29 | int list_append_list(list_T *list1, list_T *list2); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 30 | int list_append_string(list_T *l, char_u *str, int len); |
| 31 | int list_append_number(list_T *l, varnumber_T n); |
| 32 | int list_insert_tv(list_T *l, typval_T *tv, listitem_T *item); |
| 33 | void list_insert(list_T *l, listitem_T *ni, listitem_T *item); |
| 34 | int list_extend(list_T *l1, list_T *l2, listitem_T *bef); |
| 35 | int list_concat(list_T *l1, list_T *l2, typval_T *tv); |
| 36 | list_T *list_copy(list_T *orig, int deep, int copyID); |
| 37 | void vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2); |
| 38 | char_u *list2string(typval_T *tv, int copyID, int restore_copyID); |
| 39 | int list_join(garray_T *gap, list_T *l, char_u *sep, int echo_style, int restore_copyID, int copyID); |
Bram Moolenaar | 9f9fe37 | 2019-07-27 23:12:12 +0200 | [diff] [blame] | 40 | void f_join(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | 8a7d654 | 2020-01-26 15:56:19 +0100 | [diff] [blame^] | 41 | int get_list_tv(char_u **arg, typval_T *rettv, int evaluate, int do_error); |
Bram Moolenaar | 73dad1e | 2016-07-17 22:13:49 +0200 | [diff] [blame] | 42 | int write_list(FILE *fd, list_T *list, int binary); |
Bram Moolenaar | df48fb4 | 2016-07-22 21:50:18 +0200 | [diff] [blame] | 43 | void init_static_list(staticList10_T *sl); |
Bram Moolenaar | 9f9fe37 | 2019-07-27 23:12:12 +0200 | [diff] [blame] | 44 | void f_list2str(typval_T *argvars, typval_T *rettv); |
| 45 | void list_remove(typval_T *argvars, typval_T *rettv, char_u *arg_errmsg); |
| 46 | void f_sort(typval_T *argvars, typval_T *rettv); |
| 47 | void f_uniq(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | 1e1d300 | 2019-09-04 14:41:14 +0200 | [diff] [blame] | 48 | void f_filter(typval_T *argvars, typval_T *rettv); |
| 49 | void f_map(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | 08c308a | 2019-09-04 17:48:15 +0200 | [diff] [blame] | 50 | void f_add(typval_T *argvars, typval_T *rettv); |
| 51 | void f_count(typval_T *argvars, typval_T *rettv); |
| 52 | void f_extend(typval_T *argvars, typval_T *rettv); |
| 53 | void f_insert(typval_T *argvars, typval_T *rettv); |
| 54 | void f_remove(typval_T *argvars, typval_T *rettv); |
| 55 | void f_reverse(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 56 | /* vim: set ft=c : */ |