修正註解範圍守門把樣式表色碼誤判為議題編號的問題 #96

Merged
admin merged 1 commits from fix/comment-scope-hex-colour into develop 2026-09-08 07:08:20 +00:00
Member

摘要

  • 需求描述:註解範圍守門在提交前連兩次擋下含樣式表的網頁檔,理由寫議題編號,實際指的是樣式表裡宣告顏色的那一行自訂屬性。本 PR 修掉這個誤判,讓守門擋下來的都是真的違規。
  • 計畫名稱:無
  • 計畫頁:無
  • 分析頁:無

變更內容

檔案 為什麼改
hooks/comment-scope.sh 兩處判定各補一刀:行首兩個減號改為要求後面接空白,才不會把樣式表的自訂屬性當成 SQL 註解;白名單多剪一條,先剪掉井號後面含十六進位字母的色碼寫法。
plugin.json 腳本行為改變,版號同步升到 0.5.2。
.claude-plugin/plugin.json 同上,三份 manifest 版號必須一致。
.codex-plugin/plugin.json 同上,三份 manifest 版號必須一致。

設計重點

  • 誤判有兩層,各修一層。第一層是註解行判定:SQL 的行首註解是兩個減號,樣式表的自訂屬性開頭也是兩個減號,原本的判定不管後面接什麼,整份樣式表的變數宣告就被當成註解送去比對。真正的註解後面都留一個空白,自訂屬性沒有,用這個空白就分得開。
  • 第二層是禁止樣式:議題編號那一條咬的是井號接數字,而色碼開頭剛好可能是數字,於是指著色碼喊編號。白名單只剪含十六進位字母的那些寫法,議題編號是純十進位,這一刀剪不到真的編號。
  • 白名單走的是剪掉片段,不是整行放行,維持原本「同一行可能一半合規、一半違規」的處理方式。
  • 版號跳過已在別處佔用的號碼,直接升到 0.5.2,避免撞號。
  • 受益最深的是前端與資料庫這兩類檔案。以前只要註解裡出現顏色寫法就得靠人判斷是不是誤報,現在守門擋下來的都值得看一眼。

測試結果

  • 含色碼宣告的樣式表檔:不再命中。
  • 樣式表註解裡寫井號接兩位數字:照舊命中。
  • SQL 註解裡夾議題編號:照舊命中。
  • 乾淨的 JavaScript 檔:不命中。
  • sh -n hooks/comment-scope.sh 語法檢查通過。
  • 以修好的腳本對整個工作區跑一輪 sweep,結束碼 0。

前置 Push Request

  • 無
## 摘要 - 需求描述:註解範圍守門在提交前連兩次擋下含樣式表的網頁檔,理由寫議題編號,實際指的是樣式表裡宣告顏色的那一行自訂屬性。本 PR 修掉這個誤判,讓守門擋下來的都是真的違規。 - 計畫名稱:無 - 計畫頁:無 - 分析頁:無 ## 變更內容 | 檔案 | 為什麼改 | | --- | --- | | hooks/comment-scope.sh | 兩處判定各補一刀:行首兩個減號改為要求後面接空白,才不會把樣式表的自訂屬性當成 SQL 註解;白名單多剪一條,先剪掉井號後面含十六進位字母的色碼寫法。 | | plugin.json | 腳本行為改變,版號同步升到 0.5.2。 | | .claude-plugin/plugin.json | 同上,三份 manifest 版號必須一致。 | | .codex-plugin/plugin.json | 同上,三份 manifest 版號必須一致。 | ## 設計重點 - 誤判有兩層,各修一層。第一層是註解行判定:SQL 的行首註解是兩個減號,樣式表的自訂屬性開頭也是兩個減號,原本的判定不管後面接什麼,整份樣式表的變數宣告就被當成註解送去比對。真正的註解後面都留一個空白,自訂屬性沒有,用這個空白就分得開。 - 第二層是禁止樣式:議題編號那一條咬的是井號接數字,而色碼開頭剛好可能是數字,於是指著色碼喊編號。白名單只剪含十六進位字母的那些寫法,議題編號是純十進位,這一刀剪不到真的編號。 - 白名單走的是剪掉片段,不是整行放行,維持原本「同一行可能一半合規、一半違規」的處理方式。 - 版號跳過已在別處佔用的號碼,直接升到 0.5.2,避免撞號。 - 受益最深的是前端與資料庫這兩類檔案。以前只要註解裡出現顏色寫法就得靠人判斷是不是誤報,現在守門擋下來的都值得看一眼。 ## 測試結果 - 含色碼宣告的樣式表檔:不再命中。 - 樣式表註解裡寫井號接兩位數字:照舊命中。 - SQL 註解裡夾議題編號:照舊命中。 - 乾淨的 JavaScript 檔:不命中。 - `sh -n hooks/comment-scope.sh` 語法檢查通過。 - 以修好的腳本對整個工作區跑一輪 sweep,結束碼 0。 ## 前置 Push Request - 無
jiantw83 added 1 commit 2026-09-08 07:06:30 +00:00
寫一份含樣式表的網頁檔時,註解範圍守門連著兩次擋下來,說有議題編號,指
的其實是樣式表裡宣告墨色的那一行自訂屬性。

錯在兩層。一是註解行判定:SQL 的行首註解是兩個減號,樣式表的自訂屬性開
頭也是兩個減號,判定不管後面接什麼,整份樣式表的變數宣告就被當註解送去
比對。二是議題編號那條樣式咬的是井號接數字,色碼開頭剛好是數字,於是指
著色碼喊編號。

兩層各補一刀。行首兩個減號要求後面接空白:真的註解都留那個空白,自訂屬
性沒有,判定就分得開。白名單再多剪一條,把井號後面含十六進位字母的色碼
先剪掉;議題編號是純十進位,這一刀剪不到真的編號。剪而不是整行放行,維
持原本「同一行可能一半合規、一半違規」的處理方式。

驗過三種情形:含色碼宣告的樣式表不再命中;樣式表註解裡寫井號接兩位數字
照舊命中;SQL 註解裡夾議題編號照舊命中。語法檢查也過。

影響提交前那道註解範圍掃描。吃虧最深的是前端與資料庫這兩類檔案——之前它
們一碰色碼就得靠人判斷是不是誤報,現在守門擋下來的都值得看一眼。

三份 manifest 同步升到 0.5.2,跳過已在別處佔用的版號,避免撞號。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
admin merged commit 89853a8765 into develop 2026-09-08 07:08:20 +00:00
admin deleted branch fix/comment-scope-hex-colour 2026-09-08 07:08:20 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Reference: plugins/hooks#96