# HG changeset patch # User Bram Moolenaar # Date 1277094274 -7200 # Node ID aafed4a4866f661e4c256417fa6709a75dcec58d # Parent c08f91142c4181e28999aadad4ca21185853ed0a Command line completion for :ownsyntax. (Dominique Pelle) diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- 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 --- 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 --- 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; diff --git a/src/vim.h b/src/vim.h --- 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.