ANSI escape sequences in custom prompt cause visual artifact ('m' character) during syntax error recoloring
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 58/100
Direção de pesquisa
Start by reproducing the issue with the supplied PowerShell prompt function, an opening quote, and the stated PSReadLine environment. Trace the real-time syntax-error prompt recoloring and how ANSI escape sequences affect character offsets. Done means the prompt delimiter recolors without leaving an orphaned “m” or overwriting the “>” character.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
N/A
Summary
ANSI escape sequences returned by a custom prompt function cause character offset miscalculations during real-time syntax-error prompt recoloring, leaving an orphaned 'm' character or overwriting the prompt delimiter.
Screenshot
Environment data
PS Version: 7.6.5
PS HostName: ConsoleHost (Windows Terminal)
PSReadLine Version: 2.4.5
PSReadLine EditMode: Windows
OS: 10.0.26100.1 (WinBuild.160101.0800)
BufferWidth: 120
BufferHeight: 30
Steps to reproduce
-
Start PowerShell with the following
promptfunction:function prompt { "`e[1;33mPS `e[1;34m$pwd`e[1;32m$('>' * ($nestedPromptLevel + 1)) `e[0m" } -
Type an opening quotation mark (" or ').
Expected behavior
The prompt delimiter (>) recolors cleanly to indicate an incomplete/syntax error state without visual artifacts.
Actual behavior
An orphaned m (from the trailing \e[0m SGR sequence) is printed at the end of the prompt or overwrites the > character.
- Linguagem predominante
- C#
- Estrelas
- 4.4k
- Forks
- 341
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de PowerShell/PSReadLine
-
Needs-Triage :mag:
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
PowerShell/PSReadLine#5205 ·
-
Needs-Triage :mag:
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
PowerShell/PSReadLine#5195 ·
-
Needs-Triage :mag:
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
PowerShell/PSReadLine#5121 ·
-
Needs-Triage :mag:
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
PowerShell/PSReadLine#5045 ·
-
Area-CommandHelp Issue-Enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 68/100
PowerShell/PSReadLine#3470 · 3 reações ·
Todas as issues de PowerShell/PSReadLine
Issues semelhantes
-
bug documentation frontend
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
azurenoops/spin_agent#975 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
SubtitleEdit/subtitleedit#15108 · 1 comentário ·
-
area/docs-content Bug pulumi/docs
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 94/100