Skip to content

shellIntegration.fish: escape values in "E" (executed command) and "P" (property KV) codes #165631

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

Merged
merged 5 commits into from
Nov 23, 2022

Conversation

rwe
Copy link
Contributor

@rwe rwe commented Nov 6, 2022

This implements the string escaping scheme documented for the "E" (executed) and "P" (property KV) codes. This is "pure" fish and relies on no external utilities.

Although currently the only "required" escapes are backslash, semicolon, \x07, and perhaps newlines, this conservatively escapes all non-alphanumeric characters.

Backslashes are doubled, non-alphanumerics are hex-escaped.

Sibling to:

Relates to:

and others.

rwe added 4 commits November 23, 2022 11:25
Note that '\x3b' ⇔ '\\x3b', since fish does not recognize '\x' as a
known escape: however since a literal backslash is intended, it's
clearer to write it explicitly.
@rwe rwe force-pushed the serialize-message-fish branch from 579be93 to 50d59d7 Compare November 23, 2022 19:37
@Tyriar Tyriar self-assigned this Nov 23, 2022
@Tyriar Tyriar self-requested a review November 23, 2022 20:41
@Tyriar Tyriar added this to the November 2022 milestone Nov 23, 2022
Copy link
Member

@Tyriar Tyriar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works well 👍

@Tyriar Tyriar merged commit 4ab88b8 into microsoft:main Nov 23, 2022
@rwe rwe deleted the serialize-message-fish branch November 23, 2022 21:45
@github-actions github-actions bot locked and limited conversation to collaborators Jan 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants