Teach ad-hoc hooks line-parsing using regexes in YAML
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
研究方向
The proposal centres on extract_messages and the MESSAGE_REGEX and MESSAGE_TYPE_CATEGORIZER constants that built-in hooks use to parse tool output, and asks whether ad-hoc hooks could declare the same behaviour in the YAML config. Read how built-in hooks use those constants and how ad-hoc hooks are loaded from the config, then settle the design questions in the thread. The issue is open-ended, so 'done' needs a maintainer decision on the config schema and testing approach first.
由索引模型根據 Issue 內容生成。
描述
Many non-ad-hoc (pre-commit) hooks seem just to get the error code and parse stdout using extract_messages with the right MESSAGE_REGEX and MESSAGE_TYPE_CATEGORIZER.
Ad-hoc hooks could be taught how to do that from the overcommit YAML config file using:
- one regex for the message (a good default being the Emacs format)
- one optional regex to test whether the message is a warning or an error ("warning:" seems pretty common)
- maybe one optional regex to prefilter lines (empty lines, non-standard line, etc.), and flags to capture stdout and/or stderr, if we really need or want to handle more cases
Of course I guess in the end it all boils down to whether one prefers Ruby to regexes! 😉
Anyway this might still be a good alternative for non-Ruby programmers to easily contribute hooks, and a good way to write less code (although I am not sure yet how tests could be written).
Thoughts?
- 主要語言
- Ruby
- 星號
- 4k
- 分支
- 288
- 平均合併
- 2 天 4 小時
- 30 天內合併 PR
- 18
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
sds/overcommit 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 62/100
sds/overcommit#909 ·
維護者通常 1 天內回覆
-
難度 1/5 1 小時以內 新手友好度 78/100
sds/overcommit#847 · 1 則留言 ·
維護者通常 1 天內回覆
-
難度 3/5 半天 新手友好度 62/100
sds/overcommit#908 ·
維護者通常 1 天內回覆
-
難度 3/5 1-2 天 新手友好度 35/100
sds/overcommit#875 ·
維護者通常 1 天內回覆
-
help wanted
難度 4/5 3-5 天 新手友好度 18/100
sds/overcommit#869 ·
維護者通常 1 天內回覆
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 62/100
seek4science/seek#2784 ·
維護者通常 2 天內回覆
-
難度 2/5 1-3 小時 新手友好度 77/100
yosiat/panko_serializer#243 ·
-
enhancement priority: medium risk: low v1.9.0
難度 2/5 1-3 小時 新手友好度 78/100
davidteren/mutineer#379 ·
維護者通常 2 天內回覆
-
Translation tutorial: snippet crashes on chunks export and misses simple { t } entries可能已有人在做 @Mahdi-Hasan 今天認領。 未關閉resource-documentation
難度 2/5 1-3 小時 新手友好度 76/100
TarteelAI/quranic-universal-library#1020 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100