diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-06-24 00:58:07 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-06-24 00:58:07 +0200 |
commit | e7eb92708ec2092a2fc11e78703b5dcf83844412 (patch) | |
tree | d00da20838b81404557c7b0ef17d2890f18175ac /runtime | |
parent | 0a1f56fcfe31be929e9cd8c3d81a984c960e4180 (diff) |
patch 8.1.1585: :let-heredoc does not trim enoughv8.1.1585
Problem: :let-heredoc does not trim enough.
Solution: Trim indent from the contents based on the indent of the first
line. Use let-heredoc in more tests.
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/eval.txt | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 47ee2612b2..1154c4065c 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -11565,13 +11565,24 @@ text... If {marker} is not supplied, then "." is used as the default marker. - Any white space characters in the lines of text are - preserved. If "trim" is specified before {marker}, - then all the leading indentation exactly matching the - leading indentation before `let` is stripped from the - input lines and the line containing {marker}. Note - that the difference between space and tab matters - here. + Without "trim" any white space characters in the lines + of text are preserved. If "trim" is specified before + {marker}, then indentation is stripped so you can do: > + let text =<< trim END + if ok + echo 'done' + endif + END +< Results in: ["if ok", " echo 'done'", "endif"] + The marker must line up with "let" and the indentation + of the first line is removed from all the text lines. + Specifically: all the leading indentation exactly + matching the leading indentation of the first + non-empty text line is stripped from the input lines. + All leading indentation exactly matching the leading + indentation before `let` is stripped from the line + containing {marker}. Note that the difference between + space and tab matters here. If {var-name} didn't exist yet, it is created. Cannot be followed by another command, but can be |