Mercurial > vim
diff src/userfunc.c @ 20045:04ef2ccf2519 v8.2.0578
patch 8.2.0578: heredoc for interfaces does not support "trim"
Commit: https://github.com/vim/vim/commit/6c2b7b8055b96463f78abb70f58c4c6d6d4b9d55
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Apr 14 20:15:49 2020 +0200
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 14 Apr 2020 20:30:05 +0200 |
parents | 8fb1cf4c44d5 |
children | 336483164ca6 |
line wrap: on
line diff
--- 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"