zsh-syntax-highlighting icon indicating copy to clipboard operation
zsh-syntax-highlighting copied to clipboard

Precommand assignments after `env` should be allowed to be quoted

Open danielshahaf opened this issue 5 years ago • 1 comments

See https://github.com/zsh-users/zsh-syntax-highlighting/issues/627#issuecomment-639383008 and the following comments.

danielshahaf avatar Jun 06 '20 00:06 danielshahaf

For greppability purposes, quoting @phy1729 analysis from there:

sudo env "PATH=$PATH" First word is sudo which is a known precommand, so next word will be parsed as a command. Next word is env which is a known precommand, so next word will be parsed as a command. Next word is "PATH=$PATH". There's a bug in z-sy-h that when parsing a command ($this_word == *:start:*) an assignment is recognized even if it's no long the true start of a command (i.e. after a precommand), so command foo=bar echo baz parses foo=bar as an assignment and echo as the command even though command will error as foo=bar isn't a command. However in the case of env this mostly is desired. env being a command allows for quoted arguments just like any other, but assignments at the beginning of a command must not be quoted.

danielshahaf avatar Jun 06 '20 00:06 danielshahaf