chore: 规范标点
This commit is contained in:
1 parent
e54390a9f8
commit
15e79887fa
84 files changed
+5439
-5398
No files matched your search
@@ -1,23 +1,23 @@
|
||||
#!/bin/sh
|
||||
# check-colors.sh - 审计所有 ANSI 颜色码,确保都在 16 色内
|
||||
# check-colors.sh - 审计所有 ANSI 颜色码, 确保都在 16 色内
|
||||
#
|
||||
# 为什么要单独一个脚本:颜色越界这件事**看代码看不出来** —— \033[94m 在人眼里
|
||||
# 也是"一个蓝色",只有拿尺子量才知道它属于 aixterm 的亮色段,不在最窄的
|
||||
# 16 色 ANSI 里。而这个项目是硬编码 SGR、不查 terminfo 的,既然不探测终端
|
||||
# 能力,就该待在所有终端都认的那一档。
|
||||
# 也是"一个蓝色", 只有拿尺子量才知道它属于 aixterm 的亮色段, 不在最窄的
|
||||
# 16 色 ANSI 里. 而这个项目是硬编码 SGR、不查 terminfo 的, 既然不探测终端
|
||||
# 能力, 就该待在所有终端都认的那一档.
|
||||
#
|
||||
# 允许的 SGR 参数:
|
||||
# 0 重置
|
||||
# 1/2/3/4 加粗/暗淡/斜体/下划线(属性,不是颜色)
|
||||
# 1/2/3/4 加粗/暗淡/斜体/下划线 (属性, 不是颜色)
|
||||
# 30-37 标准前景 8 色
|
||||
# 39 默认前景色
|
||||
# 不允许:90-97(亮色)、38;5/48;5(256 色)、38;2/48;2(真彩)
|
||||
# 不允许:90-97 (亮色)、38;5/48;5 (256 色)、38;2/48;2 (真彩)
|
||||
set -eu
|
||||
|
||||
ROOT=$(cd "$(dirname "$0")/.." && pwd)
|
||||
cd "$ROOT"
|
||||
|
||||
# 只扫源码,不扫文档 —— README 里要举反例讲这件事,出现在那里是对的
|
||||
# 只扫源码, 不扫文档 —— README 里要举反例讲这件事, 出现在那里是对的
|
||||
bad=$(grep -rhoE '\\033\[[0-9;]+m' src/*.c src/*.h 2>/dev/null \
|
||||
| grep -oE '[0-9;]+' \
|
||||
| tr ';' '\n' \
|
||||
@@ -30,9 +30,9 @@ if [ -n "$bad" ]; then
|
||||
printf ' %s\n' $bad >&2
|
||||
echo "" >&2
|
||||
echo "允许的:0 1 2 3 4 30-37 39" >&2
|
||||
echo "越界的:90-97(aixterm 亮色)、38;5/48;5(256 色)、38;2/48;2(真彩)" >&2
|
||||
echo "越界的:90-97 (aixterm 亮色)、38;5/48;5 (256 色)、38;2/48;2 (真彩)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
n=$(grep -rhoE '\\033\[[0-9;]+m' src/*.c src/*.h 2>/dev/null | sort -u | wc -l)
|
||||
echo "颜色审计通过:$n 个不同的 SGR 序列,全部在 16 色内。"
|
||||
echo "颜色审计通过:$n 个不同的 SGR 序列, 全部在 16 色内. "
|
||||
Reference in new issue
Block a user