Mercurial > vim
diff src/eval.c @ 28718:723c7d940cba
patch 8.2.4883: string interpolation only works in heredoc
Commit: https://github.com/vim/vim/commit/2eaef106e4a7fc9dc74a7e672b5f550ec1f9786e
Author: LemonBoy <thatlemon@gmail.com>
Date: Fri May 6 13:14:50 2022 +0100
patch 8.2.4883: string interpolation only works in heredoc
Problem: String interpolation only works in heredoc.
Solution: Support interpolated strings. Use syntax for heredoc consistent
with strings, similar to C#. (closes #10327)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 06 May 2022 14:15:03 +0200 |
parents | 9a7a2908e1a8 |
children | cf6bba7a9b0f |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -3769,8 +3769,12 @@ eval7( /* * Environment variable: $VAR. + * Interpolated string: $"string" or $'string'. */ - case '$': ret = eval_env_var(arg, rettv, evaluate); + case '$': if ((*arg)[1] == '"' || (*arg)[1] == '\'') + ret = eval_interp_string(arg, rettv, evaluate); + else + ret = eval_env_var(arg, rettv, evaluate); break; /*