Quote bare quote file paths if the path includes a double quote character#25631
Quote bare quote file paths if the path includes a double quote character#25631iSazonov merged 5 commits intoPowerShell:masterfrom
Conversation
| _ = sb.Append('\''); | ||
| quotesAreNeeded = true; | ||
| // Bareword or singlequoted input string. | ||
| if (path[index].IsSingleQuote()) |
There was a problem hiding this comment.
It seems the method would be more readable if we ridded of useSingleQuoteEscapeRules and replace it with stringType is StringConstantType.SingleQuoted or StringConstantType.BareWord.
There was a problem hiding this comment.
That check will change when my PR to keep variables when tab completing paths is merged. If someone is tab completing a bareword string with a variable it needs to use double quote rules.
| $null = New-Item -Path $TestFile1 -Force | ||
| $Expected = "'$($TestFile1.Insert($TestFile1.LastIndexOf($BadQuote), "'"))'" | ||
|
|
||
| $res = TabExpansion2 -inputScript "Get-ChildItem -Path '$TestDrive\" |
There was a problem hiding this comment.
If it is intentional to have single quote it is not obvious so please add a comment.
|
/azp run PowerShell-Windows-Packaging-CI,PowerShell-CI-linux-packaging |
|
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
|
📣 Hey @@MartinGC94, how did we do? We would love to hear your feedback with the link below! 🗣️ 🔗 https://aka.ms/PSRepoFeedback |
PR Summary
Fixes the logic for the file path completion so paths with double quote characters get single quotes added just like we do for other problematic characters in bare quote strings.
PR Context
Fixes #25629
PR Checklist
.h,.cpp,.cs,.ps1and.psm1files have the correct copyright header