summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2010-06-21 06:24:34 +0200
committerBram Moolenaar <Bram@vim.org>2010-06-21 06:24:34 +0200
commit883f5d08e48e0e8b6d7bcade0cc48a36fc41931e (patch)
tree84d6f3846624c3b5c7160f7c80af5885388b4ca8
parenta8ffcbbf5d6070380e41b3d0841c3944396a27c0 (diff)
Command line completion for :ownsyntax. (Dominique Pelle)
-rw-r--r--runtime/doc/todo.txt6
-rw-r--r--src/ex_docmd.c5
-rw-r--r--src/ex_getln.c9
-rw-r--r--src/vim.h3
4 files changed, 13 insertions, 10 deletions
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 78ad818aec..2405457709 100644
--- 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.
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 96a3a872f0..4bb3e7861b 100644
--- 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:
diff --git a/src/ex_getln.c b/src/ex_getln.c
index e8b6f7c4d1..e6ed44a41e 100644
--- 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, file, options)
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;
diff --git a/src/vim.h b/src/vim.h
index b340792012..cb2bc7da1c 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -769,6 +769,7 @@ extern char *(*dyn_libintl_textdomain)(const char *domainname);
#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; /* display tick type */
/*
* 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.