aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ex_getln.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-03-13 08:27:37 -0500
committerGitHub <noreply@github.com>2021-03-13 08:27:37 -0500
commit5d5e018a5c1a8f0f185718dd4513b908c164a6b9 (patch)
treec65c1e34c4ea4a51c9467797858e7fad6ac34e0f /src/nvim/ex_getln.c
parentd38508d88ab78415368bce350072f9f0f73c15d2 (diff)
parenta4ea6027880211b15b5659054e6e14d384517e27 (diff)
downloadrneovim-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.c13
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;
}