patch 8.2.0578: heredoc for interfaces does not support "trim"
Problem: Heredoc for interfaces does not support "trim".
Solution: Update the script heredoc support to be same as the :let command.
(Yegappan Lakshmanan, closes #5916)
diff --git a/src/userfunc.c b/src/userfunc.c
index 6ca8980..d5a0a77 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -2830,10 +2830,19 @@
{
// ":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"