microsoft / microsoft/TypeScript

Some colors make error messages hard to read on white backgrounds.

未关闭 适合新手
#63,648 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

Awaiting More Feedback Suggestion
主要语言
Go
星标
111k
派生
14.3k
平均合并
2 天 4 小时
30 天内合并 PR
132

描述

On a terminal with white background, some parts of the error messages are very hard to read:

Image

### Cause

The problem is that the `diagnosticwriter` is forcing the [bright versions of the colors](https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h4-Functions-using-CSI-_-ordered-by-the-final-character-lparen-s-rparen:CSI-Pm-m:Ps-=-9-0.1E5F), instead of using the default colors set by the terminal configuration (by writing `9x` instead of `3x`):

https://github.com/microsoft/typescript-go/blob/168e7015edf98244febc8f4ae450b673b5d195d7/internal/diagnosticwriter/diagnosticwriter.go#L108-L112

If I patch the binary to replace the colors to `3x` with this:

```
$ sed -i 's/\x1b\[9\(.\)m/\x1b[3\1m/g' ./node_modules/@typescript/typescript-linux-x64/lib/tsc
```

Then the output is much easier to read:

Image

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 internal/diagnosticwriter/diagnosticwriter.go 中 issue 链接的颜色写入代码开始,将其发出的终端序列与报告的白色背景行为进行比较。在使用默认颜色的终端中验证诊断输出;当错误消息在不强制使用明亮颜色变体的情况下仍保持可读时,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
go
领域
cli
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
冷清
描述清晰度
描述清楚
新手友好度
75/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。