fix(lint): 修正簡體字並把規則實作本身加進跳過清單

What:把 sync-domains.sh 檔頭註解的簡體字「脏」改成正體「髒」;ste100-lint.sh 的
skip() 新增三個檔案:jsc-hooks 的 simplified.txt、ste100-guard.sh、lang-guard.sh。

Why:「脏」是既有的簡體字,擴充字表後才驗出來,正好證明檢查有效。另外三個檔案
裡的簡體字是被列舉、被討論的對象,不是被使用;掃它們會每次都命中卻永遠改不掉,
久了就會有人乾脆把整個檢查關掉。

How:skip() 沿用既有的 case 比對,同時吃絕對路徑與純檔名兩種寫法,並在註解裡
寫明為什麼要跳過,避免後人誤以為是漏掉。

Who:STE100 語言規則的機檢工具。
This commit is contained in:
2026-08-27 09:50:42 +08:00
parent 7a2544772f
commit 69003a7d2c
2 changed files with 7 additions and 2 deletions
+6 -1
View File
@@ -74,10 +74,15 @@ if [ "$#" -eq 0 ]; then
echo '沒有給檢查對象。空跑會回 0,看起來像通過,所以這裡直接視為錯誤。' >&2 echo '沒有給檢查對象。空跑會回 0,看起來像通過,所以這裡直接視為錯誤。' >&2
exit 2 exit 2
fi fi
skip() { # $1=路徑;規則文件與規則實作本身不掃 skip() { # $1=路徑;規則文件、字表與規則實作本身不掃
# 這幾個檔案裡的簡體字是被討論、被列舉的對象,不是被使用。掃它們等於自己打自己,
# 每次都命中卻永遠改不掉,久了就會有人把整個檢查關掉。
case "$1" in case "$1" in
*/references/ste100.md|references/ste100.md) return 0 ;; */references/ste100.md|references/ste100.md) return 0 ;;
*/tools/ste100-lint.sh|tools/ste100-lint.sh) return 0 ;; */tools/ste100-lint.sh|tools/ste100-lint.sh) return 0 ;;
*/hooks/simplified.txt|simplified.txt) return 0 ;;
*/hooks/ste100-guard.sh|ste100-guard.sh) return 0 ;;
*/hooks/lang-guard.sh|lang-guard.sh) return 0 ;;
*) return 1 ;; *) return 1 ;;
esac esac
} }
+1 -1
View File
@@ -18,7 +18,7 @@
# 結束碼: 0=正本讀到、每個 domain 都在本機,而且每個既有存取庫都更新到最新 # 結束碼: 0=正本讀到、每個 domain 都在本機,而且每個既有存取庫都更新到最新
# 1=讀不到正本 marketplace 或找不到 gitea.sh(不輸出任何 domain) # 1=讀不到正本 marketplace 或找不到 gitea.sh(不輸出任何 domain)
# 2=正本讀到,但有 domain 沒能取得或 clone 失敗(已輸出其餘 domain) # 2=正本讀到,但有 domain 沒能取得或 clone 失敗(已輸出其餘 domain)
# 3=每個 domain 都在本機,但有存取庫沒更新到最新:工作區脏而跳過 pull, # 3=每個 domain 都在本機,但有存取庫沒更新到最新:工作區髒而跳過 pull,
# 或 pull 失敗。stderr 會逐一列出這些路徑。**exit 0 才代表「全部最新」**; # 或 pull 失敗。stderr 會逐一列出這些路徑。**exit 0 才代表「全部最新」**;
# 拿 3 當乾淨會讓後續步驟改在落後的檔案上。 # 拿 3 當乾淨會讓後續步驟改在落後的檔案上。
# 同時發生時回較嚴重的那個:2 蓋過 3。 # 同時發生時回較嚴重的那個:2 蓋過 3。