diff options
Diffstat (limited to 'src/userfunc.c')
-rw-r--r-- | src/userfunc.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/userfunc.c b/src/userfunc.c index 6ca898068..d5a0a777a 100644 --- a/src/userfunc.c +++ b/src/userfunc.c @@ -2830,10 +2830,19 @@ ex_function(exarg_T *eap) { // ":python <<" continues until a dot, like ":append" p = skipwhite(arg + 2); + if (STRNCMP(p, "trim", 4) == 0) + { + // Ignore leading white space. + p = skipwhite(p + 4); + heredoc_trimmed = vim_strnsave(theline, + (int)(skipwhite(theline) - theline)); + } if (*p == NUL) skip_until = vim_strsave((char_u *)"."); else - skip_until = vim_strsave(p); + skip_until = vim_strnsave(p, (int)(skiptowhite(p) - p)); + do_concat = FALSE; + is_heredoc = TRUE; } // Check for ":let v =<< [trim] EOF" |