changeset 2268:aafed4a4866f vim73

Command line completion for :ownsyntax. (Dominique Pelle)
author Bram Moolenaar <bram@vim.org>
date Mon, 21 Jun 2010 06:24:34 +0200
parents c08f91142c41
children fb627e94e6c6
files runtime/doc/todo.txt src/ex_docmd.c src/ex_getln.c src/vim.h
diffstat 4 files changed, 13 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1088,12 +1088,6 @@ Vim 7.3:
 - using NSIS 2.46: install on Windows 7 works, but no "Edit with Vim" menu.
    Use register_shell_extension()? (George Reilly, 2010 May 26)
    Ron's version: http://dev.ronware.org/p/vim/finfo?name=gvim.nsi
-- Also crypt the swap file, each block separately:
-    - When changing the password or 'cryptmethod' need to read back with the
-      old password and write again with the new one.
-      Problem: when the file is not written, key differs between text file and
-      swap file!
-- Patch for :ownsyntax completion (Dominique Pelle, 2010 Jun 20)
 - Patch for conceal feature and 'foldcolumn'. (Dominique Pelle, 2010 Jun 10,
   second patch)
   Also patch from Vince, 2010 Jun 15.  And another June 16.
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3803,6 +3803,11 @@ set_one_cmd_context(xp, buff)
 	    xp->xp_pattern = arg;
 	    break;
 
+	case CMD_ownsyntax:
+	    xp->xp_context = EXPAND_FILETYPE;
+	    xp->xp_pattern = arg;
+	    break;
+
 #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \
 	&& (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE))
 	case CMD_language:
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -4108,6 +4108,7 @@ addstar(fname, len, context)
 	if (context == EXPAND_HELP
 		|| context == EXPAND_COLORS
 		|| context == EXPAND_COMPILER
+		|| context == EXPAND_FILETYPE
 		|| (context == EXPAND_TAGS && fname[0] == '/'))
 	    retval = vim_strnsave(fname, len);
 	else
@@ -4489,6 +4490,8 @@ ExpandFromContext(xp, pat, num_file, fil
 	return ExpandRTDir(pat, num_file, file, "colors");
     if (xp->xp_context == EXPAND_COMPILER)
 	return ExpandRTDir(pat, num_file, file, "compiler");
+    if (xp->xp_context == EXPAND_FILETYPE)
+	return ExpandRTDir(pat, num_file, file, "syntax");
 # if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL)
     if (xp->xp_context == EXPAND_USER_LIST)
 	return ExpandUserList(xp, num_file, file);
@@ -4928,15 +4931,15 @@ ExpandUserList(xp, num_file, file)
 #endif
 
 /*
- * Expand color scheme names: 'runtimepath'/colors/{pat}.vim
- * or compiler names.
+ * Expand color scheme, compiler or filetype names:
+ * 'runtimepath'/{dirname}/{pat}.vim
  */
     static int
 ExpandRTDir(pat, num_file, file, dirname)
     char_u	*pat;
     int		*num_file;
     char_u	***file;
-    char	*dirname;	/* "colors" or "compiler" */
+    char	*dirname;	/* "colors", "compiler" or "syntax" */
 {
     char_u	*all;
     char_u	*s;
--- a/src/vim.h
+++ b/src/vim.h
@@ -769,6 +769,7 @@ extern char *(*dyn_libintl_textdomain)(c
 #define EXPAND_SIGN		34
 #define EXPAND_PROFILE		35
 #define EXPAND_BEHAVE		36
+#define EXPAND_FILETYPE		37
 
 /* Values for exmode_active (0 is no exmode) */
 #define EXMODE_NORMAL		1
@@ -1556,7 +1557,7 @@ typedef unsigned short disptick_T;	/* di
 
 /*
  * Well, you won't believe it, but some S/390 machines ("host", now also known
- * as zServer) us 31 bit pointers. There are also some newer machines, that
+ * as zServer) use 31 bit pointers. There are also some newer machines, that
  * use 64 bit pointers. I don't know how to distinguish between 31 and 64 bit
  * machines, so the best way is to assume 31 bits whenever we detect OS/390
  * Unix.