Skip to content

Conversation

talk2drys
Copy link

Fixed an issue with run_command("echo 'Hello'") where wrapping commands in args in single quotes caused invalid parsing in POSIX-compliant shells. In these shells, single quotes enclose literal text, making escape sequences like \' invalid. For more details, refer to the GNU Bash manual: https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html.

For example, calling run_command("echo 'Hello'") would be incorrectly escaped by vim.fn.shellescape as echo '\''Hello'\'', leading to invalid parsing. The fix replaces the outer double quotes with single quotes where necessary and command arg with double qoute, ensuring proper escaping and compatibility across different shell environments.

Fixed an issue with `run_command("echo 'Hello'")` where wrapping commands
in args in single quotes caused invalid parsing in POSIX-compliant shells.
In these shells, single quotes enclose literal text, making escape sequences
like `\'` invalid. For more details, refer to the GNU Bash manual:
https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html.

For example, calling `run_command("echo 'Hello'")` would be incorrectly
escaped by `vim.fn.shellescape` as `echo '\''Hello'\''`, leading to
invalid parsing. The fix replaces the outer double quotes with single
quotes where necessary and command arg with double qoute, ensuring proper
escaping and compatibility across different shell environments.

Signed-off-by: Daniel Temiagin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant