diff src/structs.h @ 17779:87a8760babec v8.1.1886

patch 8.1.1886: command line expansion code is spread out commit https://github.com/vim/vim/commit/66b51420e0c8d49bcf6786b792c938d6099e3393 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Aug 18 21:44:12 2019 +0200 patch 8.1.1886: command line expansion code is spread out Problem: Command line expansion code is spread out. Solution: Move the code to cmdexpand.c. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/4831)
author Bram Moolenaar <Bram@vim.org>
date Sun, 18 Aug 2019 21:45:03 +0200
parents 121bdff812b4
children 04245f071792
line wrap: on
line diff
--- a/src/structs.h
+++ b/src/structs.h
@@ -579,6 +579,33 @@ typedef struct expand
 #define XP_BS_THREE	2	// uses three backslashes before a space
 
 /*
+ * Variables shared between getcmdline(), redrawcmdline() and others.
+ * These need to be saved when using CTRL-R |, that's why they are in a
+ * structure.
+ */
+typedef struct
+{
+    char_u	*cmdbuff;	/* pointer to command line buffer */
+    int		cmdbufflen;	/* length of cmdbuff */
+    int		cmdlen;		/* number of chars in command line */
+    int		cmdpos;		/* current cursor position */
+    int		cmdspos;	/* cursor column on screen */
+    int		cmdfirstc;	/* ':', '/', '?', '=', '>' or NUL */
+    int		cmdindent;	/* number of spaces before cmdline */
+    char_u	*cmdprompt;	/* message in front of cmdline */
+    int		cmdattr;	/* attributes for prompt */
+    int		overstrike;	/* Typing mode on the command line.  Shared by
+				   getcmdline() and put_on_cmdline(). */
+    expand_T	*xpc;		/* struct being used for expansion, xp_pattern
+				   may point into cmdbuff */
+    int		xp_context;	/* type of expansion */
+# ifdef FEAT_EVAL
+    char_u	*xp_arg;	/* user-defined expansion arg */
+    int		input_fn;	/* when TRUE Invoked for input() function */
+# endif
+} cmdline_info_T;
+
+/*
  * Command modifiers ":vertical", ":browse", ":confirm" and ":hide" set a flag.
  * This needs to be saved for recursive commands, put them in a structure for
  * easy manipulation.