diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-03-13 08:27:37 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-13 08:27:37 -0500 |
commit | 5d5e018a5c1a8f0f185718dd4513b908c164a6b9 (patch) | |
tree | c65c1e34c4ea4a51c9467797858e7fad6ac34e0f /src/nvim/ex_getln.c | |
parent | d38508d88ab78415368bce350072f9f0f73c15d2 (diff) | |
parent | a4ea6027880211b15b5659054e6e14d384517e27 (diff) | |
download | rneovim-5d5e018a5c1a8f0f185718dd4513b908c164a6b9.tar.gz rneovim-5d5e018a5c1a8f0f185718dd4513b908c164a6b9.tar.bz2 rneovim-5d5e018a5c1a8f0f185718dd4513b908c164a6b9.zip |
Merge pull request #14125 from janlazo/vim-8.2.2591
vim-patch:8.2.{2341,2452,2591}
Diffstat (limited to 'src/nvim/ex_getln.c')
-rw-r--r-- | src/nvim/ex_getln.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index 5979f4d3a0..9977be56ca 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -5117,6 +5117,18 @@ ExpandFromContext ( if (xp->xp_context == EXPAND_PACKADD) { return ExpandPackAddDir(pat, num_file, file); } + + // When expanding a function name starting with s:, match the <SNR>nr_ + // prefix. + char_u *tofree = NULL; + if (xp->xp_context == EXPAND_USER_FUNC && STRNCMP(pat, "^s:", 3) == 0) { + const size_t len = STRLEN(pat) + 20; + + tofree = xmalloc(len); + snprintf((char *)tofree, len, "^<SNR>\\d\\+_%s", pat + 3); + pat = tofree; + } + if (xp->xp_context == EXPAND_LUA) { ILOG("PAT %s", pat); return nlua_expand_pat(xp, pat, num_file, file); @@ -5195,6 +5207,7 @@ ExpandFromContext ( } vim_regfree(regmatch.regprog); + xfree(tofree); return ret; } |