Complete function completes common ANSI escape sequence in completion items
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
Start by tracing PSReadLine's Complete logic using the supplied Register-ArgumentCompleter reproduction, focusing on how the common prefix is derived from ListItemText. Verify that ANSI escape sequences are not inserted into the completed command arguments, while normal completion text still works as expected.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Prerequisites
- Write a descriptive title.
- Make sure you are able to repro it on the latest released version
- Search the existing issues, especially the pinned issues.
Exception report
From https://github.com/carapace-sh/carapace/issues/997#issuecomment-3566731943
PSReadLine's `Complete` logic attempts to auto-complete the input with the "common prefix" of all available matches on the first `<TAB>`. While the actual `CompletionText` differ, Carapace prepends the same ANSI escape codes to the `ListItemText` of every entry to ensure styling. The `Complete` function _correctly_ identifies this ANSI sequence as the shared prefix and prints it to the prompt.
Screenshot
Environment data
PS Version: 7.5.4
PS HostName: ConsoleHost (Windows Terminal)
PSReadLine Version: 2.4.5
PSReadLine EditMode: Windows
OS: 10.0.26100.7306 (WinBuild.160101.0800)
BufferWidth: 158
BufferHeight: 25
Steps to reproduce
Set-PSReadLineKeyHandler -Chord Tab -Function Complete
Register-ArgumentCompleter -Native -ScriptBlock {
param($wordToComplete, $commandAst, $cursorPosition)
@(
[System.Management.Automation.CompletionResult]::new("aa", "`e[2maa", [System.Management.Automation.CompletionResultType]::ParameterValue, "1"),
[System.Management.Automation.CompletionResult]::new("bb", "`e[2mbb", [System.Management.Automation.CompletionResultType]::ParameterValue, "2")
)
} -CommandName 'bash'
Expected behavior
Completion should not include ANSI escape sequence
Actual behavior
Escape sequence is completed as part of the arguments
bash ^[[2m
- Vorherrschende Sprache
- C#
- Sterne
- 4.4k
- Forks
- 341
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus PowerShell/PSReadLine
-
Needs-Triage :mag:
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
PowerShell/PSReadLine#5205 ·
-
Needs-Triage :mag:
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
PowerShell/PSReadLine#5195 ·
-
Needs-Triage :mag:
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
PowerShell/PSReadLine#5121 ·
-
Needs-Triage :mag:
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
PowerShell/PSReadLine#5045 ·
-
Area-CommandHelp Issue-Enhancement
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 68/100
PowerShell/PSReadLine#3470 · 3 Reaktionen ·
Alle Issues in PowerShell/PSReadLine
Ähnliche Issues
-
core dependencies
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 80/100
-
bug frontend good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
NavigationViewItemAutomationPeer implements IInvokeProvider but never advertises the Invoke pattern Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
unoplatform/uno#24629 ·
-
agentic-workflows Needs: Triage :mag: State: In-PR
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Down / Waiting for removal
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100