-
Notifications
You must be signed in to change notification settings - Fork 31.9k
shellIntegration-rc.zsh: escape values in "E" (executed command) and "P" (property KV) codes #165633
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
85b40b6
to
48b166f
Compare
I've opened #165665 re the lint failure on the diagram comment. The existing "hygiene" script apparently only permits the characters These could be redone in ASCII, but with loss of legibility. EDIT: The diagram is now ASCII-only. |
0c4e2d4
to
38e2d6a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works great 👏
0ad8069
to
1ab5754
Compare
By the way, sorry for stomping on that review with the push! I usually rebase my unreviewed branches in bulk just to keep them current and if I don't notice a review beforehand it'll clobber. I'll look into updating my scripts to check for that in the last step, since reviewers also work in batches 😄 Done with that for now unless other change requests pop up. |
No worries, that's best in my experience and what I do; don't force push after a review has occurred |
This implements the string escaping scheme documented for the "E" (executed) and "P" (property KV) codes. This is "pure"
zsh
and relies on no external utilities.Although currently the only "required" escapes are backslash, semicolon,
\a
, and perhaps newlines, this conservatively escapes all non-alphanumeric characters.Backslashes are doubled, non-alphanumerics are hex-escaped.
Sibling to:
deserializeMessage()
implementation + add tests #165635Relates to or resolves parts of: