zaynali53/DotENV

curly brackets shouldn't be special inside double quotes

vlsd opened this issue ยท 3 comments

vlsd commented

As far as I can tell, curly brackets by themselves are treated literally in double quotes. From the bash manual:

Enclosing characters in double quotes (") preserves the literal value of all characters within the quotes, with the exception of $, `, \, and, when history expansion is enabled, !. When the shell is in POSIX mode (see Bash POSIX Mode), the ! has no special meaning within double quotes, even when history expansion is enabled. The characters $ and ` retain their special meaning within double quotes (see Shell Expansions). The backslash retains its special meaning only when followed by one of the following characters: $, `, ", \, or newline. Within double quotes, backslashes that are followed by one of these characters are removed. Backslashes preceding characters without a special meaning are left unmodified. A double quote may be quoted within double quotes by preceding it with a backslash. If enabled, history expansion will be performed unless an ! appearing in double quotes is escaped using a backslash. The backslash preceding the ! is not removed.

This does not seem to be how this extension treats them, however (a lot of examples of this are in the Readme document).

Why this matters: I have a password in a .env that contains a literal curly bracket. The password also includes a literal single quote, so the whole thing needs to be inside double quotes. This works fine as much as shells are concerned, but the vscode extension treats the { as special and the rest of the file from that point on is misparsed.

Hi @vlsd

Sorry for the late response because I was on a vacation. โœˆ

Why this matters: I have a password in a .env that contains a literal curly bracket. The password also includes a literal single quote, so the whole thing needs to be inside double quotes. This works fine as much as shells are concerned, but the vscode extension treats the { as special and the rest of the file from that point on is misparsed.

I see. I'll disable the string interpolation support. Thank you for pointing this out ๐Ÿ‘

As far as "vscode" is concerned then I'm not the one who is managing that package. ๐Ÿ™‚
This extension was originally created for Sublime Text 3 and then repackaged by @mikestead for vscode: vscode-dotenv

Cheers!

I see this is closed, but not resolved. Any intentions releasing a small update for this one?

Cheers.

Same here, this error remains