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 listitem_free(list_T *l, listitem_T *item); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 17 | void listitem_remove(list_T *l, listitem_T *item); |
| 18 | long list_len(list_T *l); |
| 19 | int list_equal(list_T *l1, list_T *l2, int ic, int recursive); |
| 20 | listitem_T *list_find(list_T *l, long n); |
| 21 | long list_find_nr(list_T *l, long idx, int *errorp); |
| 22 | char_u *list_find_str(list_T *l, long idx); |
Bram Moolenaar | 5b5ae29 | 2021-02-20 17:04:02 +0100 | [diff] [blame] | 23 | listitem_T *list_find_index(list_T *l, long *idx); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 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); |
| 27 | int list_append_dict(list_T *list, dict_T *dict); |
Bram Moolenaar | 4f50588 | 2018-02-10 21:06:32 +0100 | [diff] [blame] | 28 | int list_append_list(list_T *list1, list_T *list2); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 29 | int list_append_string(list_T *l, char_u *str, int len); |
| 30 | int list_append_number(list_T *l, varnumber_T n); |
| 31 | int list_insert_tv(list_T *l, typval_T *tv, listitem_T *item); |
| 32 | void list_insert(list_T *l, listitem_T *ni, listitem_T *item); |
Bram Moolenaar | 22ebd17 | 2022-04-01 15:26:58 +0100 | [diff] [blame] | 33 | listitem_T *check_range_index_one(list_T *l, long *n1, int can_append, int quiet); |
Bram Moolenaar | 4f0884d | 2021-08-11 21:49:23 +0200 | [diff] [blame] | 34 | int check_range_index_two(list_T *l, long *n1, listitem_T *li1, long *n2, int quiet); |
| 35 | int list_assign_range(list_T *dest, list_T *src, long idx1_arg, long idx2, int empty_idx2, char_u *op, char_u *varname); |
Bram Moolenaar | 077a1e6 | 2020-06-08 20:50:43 +0200 | [diff] [blame] | 36 | void f_flatten(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | 3b69006 | 2021-02-01 20:14:51 +0100 | [diff] [blame] | 37 | void f_flattennew(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | 976f859 | 2022-08-30 14:34:52 +0100 | [diff] [blame^] | 38 | void list2items(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 39 | int list_extend(list_T *l1, list_T *l2, listitem_T *bef); |
| 40 | int list_concat(list_T *l1, list_T *l2, typval_T *tv); |
Bram Moolenaar | 9af7876 | 2020-06-16 11:34:42 +0200 | [diff] [blame] | 41 | list_T *list_slice(list_T *ol, long n1, long n2); |
Bram Moolenaar | 6601b62 | 2021-01-13 21:47:15 +0100 | [diff] [blame] | 42 | int list_slice_or_index(list_T *list, int range, varnumber_T n1_arg, varnumber_T n2_arg, int exclusive, typval_T *rettv, int verbose); |
Bram Moolenaar | 381692b | 2022-02-02 20:01:27 +0000 | [diff] [blame] | 43 | list_T *list_copy(list_T *orig, int deep, int top, int copyID); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 44 | void vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2); |
| 45 | char_u *list2string(typval_T *tv, int copyID, int restore_copyID); |
| 46 | 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] | 47 | void f_join(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | 9a78e6d | 2020-07-01 18:29:55 +0200 | [diff] [blame] | 48 | int eval_list(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int do_error); |
Bram Moolenaar | 73dad1e | 2016-07-17 22:13:49 +0200 | [diff] [blame] | 49 | int write_list(FILE *fd, list_T *list, int binary); |
Bram Moolenaar | df48fb4 | 2016-07-22 21:50:18 +0200 | [diff] [blame] | 50 | void init_static_list(staticList10_T *sl); |
Bram Moolenaar | 9f9fe37 | 2019-07-27 23:12:12 +0200 | [diff] [blame] | 51 | void f_list2str(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | 9f9fe37 | 2019-07-27 23:12:12 +0200 | [diff] [blame] | 52 | void f_sort(typval_T *argvars, typval_T *rettv); |
| 53 | void f_uniq(typval_T *argvars, typval_T *rettv); |
Yegappan Lakshmanan | f973eeb | 2021-12-22 18:19:26 +0000 | [diff] [blame] | 54 | int filter_map_one(typval_T *tv, typval_T *expr, filtermap_T filtermap, typval_T *newtv, int *remp); |
Bram Moolenaar | 1e1d300 | 2019-09-04 14:41:14 +0200 | [diff] [blame] | 55 | void f_filter(typval_T *argvars, typval_T *rettv); |
| 56 | void f_map(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | ea69685 | 2020-11-09 18:31:39 +0100 | [diff] [blame] | 57 | void f_mapnew(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | 08c308a | 2019-09-04 17:48:15 +0200 | [diff] [blame] | 58 | void f_add(typval_T *argvars, typval_T *rettv); |
| 59 | void f_count(typval_T *argvars, typval_T *rettv); |
| 60 | void f_extend(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | b0e6b51 | 2021-01-12 20:23:40 +0100 | [diff] [blame] | 61 | void f_extendnew(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | 08c308a | 2019-09-04 17:48:15 +0200 | [diff] [blame] | 62 | void f_insert(typval_T *argvars, typval_T *rettv); |
| 63 | void f_remove(typval_T *argvars, typval_T *rettv); |
| 64 | void f_reverse(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | 8562998 | 2020-06-01 18:39:20 +0200 | [diff] [blame] | 65 | void f_reduce(typval_T *argvars, typval_T *rettv); |
Bram Moolenaar | da861d6 | 2016-07-17 15:46:27 +0200 | [diff] [blame] | 66 | /* vim: set ft=c : */ |