summaryrefslogtreecommitdiffstats
path: root/src/proto/dict.pro
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-07-17 14:57:05 +0200
committerBram Moolenaar <Bram@vim.org>2016-07-17 14:57:05 +0200
commitcd52459c387785796713826c63174cdeed295dd4 (patch)
treef2c964f83534a80d539b44826baea085a41fa595 /src/proto/dict.pro
parent42ebd066422d73cdb7bda6a1dc828a3dd022dec8 (diff)
patch 7.4.2055v7.4.2055
Problem: eval.c is too big. Solution: Move Dictionary functions to dict.c.
Diffstat (limited to 'src/proto/dict.pro')
-rw-r--r--src/proto/dict.pro24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/proto/dict.pro b/src/proto/dict.pro
new file mode 100644
index 0000000000..10a5b6bf1d
--- /dev/null
+++ b/src/proto/dict.pro
@@ -0,0 +1,24 @@
+/* dict.c */
+dict_T *dict_alloc(void);
+int rettv_dict_alloc(typval_T *rettv);
+void dict_unref(dict_T *d);
+int dict_free_nonref(int copyID);
+void dict_free_items(int copyID);
+dictitem_T *dictitem_alloc(char_u *key);
+void dictitem_remove(dict_T *dict, dictitem_T *item);
+void dictitem_free(dictitem_T *item);
+dict_T *dict_copy(dict_T *orig, int deep, int copyID);
+int dict_add(dict_T *d, dictitem_T *item);
+int dict_add_nr_str(dict_T *d, char *key, varnumber_T nr, char_u *str);
+int dict_add_list(dict_T *d, char *key, list_T *list);
+long dict_len(dict_T *d);
+dictitem_T *dict_find(dict_T *d, char_u *key, int len);
+char_u *get_dict_string(dict_T *d, char_u *key, int save);
+varnumber_T get_dict_number(dict_T *d, char_u *key);
+char_u *dict2string(typval_T *tv, int copyID, int restore_copyID);
+int get_dict_tv(char_u **arg, typval_T *rettv, int evaluate);
+void dict_extend(dict_T *d1, dict_T *d2, char_u *action);
+dictitem_T *dict_lookup(hashitem_T *hi);
+int dict_equal(dict_T *d1, dict_T *d2, int ic, int recursive);
+void dict_list(typval_T *argvars, typval_T *rettv, int what);
+/* vim: set ft=c : */