So in testing your custom lint function I have found two major issues that would affect my workflow greatly.
1. Your custom linter closes the game each time it is ran. Ren'Py's built in linter can be ran with the game open. Which is great for fast refactoring when paired with Ren'Py's auto reload feature.
2. Your custom linter doesn't run any other custom lint functions. One of the other custom lint functions I use is the amazing Word Counter + by Kigyo. When using your linter his never runs.
Copies of the two different lints for comparison:
custom_lint.txt:
Ren'Py 8.1.3.23091805 lint report, generated at: Sun Dec 31 09:57:04 2023 Statistics: The game contains 275 dialogue blocks, containing 4,611 words and 24,964 characters, for an average of 16.8 words and 91 characters per block. The game contains 9 menus, 0 images, and 27 screens. The game contains 9 inline conditions. The game contains 1 inline Python expressions. Lint is not a substitute for thorough testing. Remember to update Ren'Py before releasing. New releases fix bugs and improve compatibility.
lint.txt [built in lint using my patch]:
Ren'Py 8.1.3.23091805 lint report, generated at: Sun Dec 31 10:02:05 2023 Character statistics: * narrator has 189 blocks of dialogue, and 3,646 words. * mc has 34 blocks of dialogue, and 266 words. * npc1 has 27 blocks of dialogue, and 466 words. * npc2 has 10 blocks of dialogue, and 103 words. * npc3 has 8 blocks of dialogue, and 68 words. * npc4 has 7 blocks of dialogue, and 71 words. File statistics: * [script.rpy] contains 275 dialogue blocks and 4,620 words. Detailed File statistics: [script.rpy] contains 275 dialogue blocks and 4,620 words: * narrator has 189 blocks of dialogue, and 3,646 words. * mc has 34 blocks of dialogue, and 266 words. * npc1 has 27 blocks of dialogue, and 466 words. * npc2 has 10 blocks of dialogue, and 103 words. * npc3 has 8 blocks of dialogue, and 68 words. * npc4 has 7 blocks of dialogue, and 71 words. Menu statistics: The game has 9 menus, with a total of 36 possible choices, for an average of 4.00 choices per menu. Statistics: The game contains 275 dialogue blocks, containing 4,620 words and 24,919 characters, for an average of 16.8 words and 91 characters per block. The game contains 9 menus, 0 images, and 27 screens. The game contains 9 inline conditions. The game contains 1 inline Python expressions. Lint is not a substitute for thorough testing. Remember to update Ren'Py before releasing. New releases fix bugs and improve compatibility.
Until these two functions have feature parity I seen no reason why I wouldn't prefer my method over the original.