Mercurial > vim
changeset 7168:0f2807c05687 v7.4.895
commit https://github.com/vim/vim/commit/23d1b62746dce048c80cc19e7e5af1d513b6b4cf
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Oct 13 19:18:04 2015 +0200
patch 7.4.895
Problem: Custom command line completion does not work for a command
containing digits.
Solution: Skip over the digits. (suggested by Yasuhiro Matsumoto)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 13 Oct 2015 19:30:05 +0200 |
parents | aa92e9acfb6f |
children | afceb127f7d4 |
files | src/ex_docmd.c src/version.c |
diffstat | 2 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -3517,9 +3517,10 @@ set_one_cmd_context(xp, buff) p = cmd; while (ASCII_ISALPHA(*p) || *p == '*') /* Allow * wild card */ ++p; - /* check for non-alpha command */ - if (p == cmd && vim_strchr((char_u *)"@*!=><&~#", *p) != NULL) - ++p; + /* a user command may contain digits */ + if (ASCII_ISUPPER(cmd[0])) + while (ASCII_ISALNUM(*p) || *p == '*') + ++p; /* for python 3.x: ":py3*" commands completion */ if (cmd[0] == 'p' && cmd[1] == 'y' && p == cmd + 2 && *p == '3') { @@ -3527,6 +3528,9 @@ set_one_cmd_context(xp, buff) while (ASCII_ISALPHA(*p) || *p == '*') ++p; } + /* check for non-alpha command */ + if (p == cmd && vim_strchr((char_u *)"@*!=><&~#", *p) != NULL) + ++p; len = (int)(p - cmd); if (len == 0)