summaryrefslogtreecommitdiffstats
path: root/src/vim.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vim.h')
-rw-r--r--src/vim.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/vim.h b/src/vim.h
index cd54d69ab6..c78b12b160 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -822,6 +822,8 @@ extern int (*dyn_libintl_wputenv)(const wchar_t *envstring);
#define EXPAND_BREAKPOINT 51
#define EXPAND_SCRIPTNAMES 52
#define EXPAND_RUNTIME 53
+#define EXPAND_STRING_SETTING 54
+#define EXPAND_SETTING_SUBTRACT 55
// Values for exmode_active (0 is no exmode)
#define EXMODE_NORMAL 1
@@ -2330,6 +2332,20 @@ typedef enum {
*/
typedef char *(*opt_did_set_cb_T)(optset_T *args);
+/*
+ * Type for the callback function that is invoked when expanding possible
+ * string option values during cmdline completion.
+ *
+ * Strings in returned matches will be managed and freed by caller.
+ *
+ * Returns OK if the expansion succeeded (numMatches and matches have to be
+ * set). Otherwise returns FAIL.
+ *
+ * Note: If returned FAIL or *numMatches is 0, *matches will NOT be freed by
+ * caller.
+ */
+typedef int (*opt_expand_cb_T)(optexpand_T *args, int *numMatches, char_u ***matches);
+
// Flags for assignment functions.
#define ASSIGN_VAR 0 // ":var" (nothing special)
#define ASSIGN_FINAL 0x01 // ":final"