When chainlint detects problems in a test, it prints out the name of the test script, the name of the problematic test, and a copy of the test definition with "?!FOO?!" annotations inserted at the locations where problems were detected. Taken together this information is sufficient for the test author to identify the problematic code in the original test definition. However, in a lengthy script or a lengthy test definition, the author may still end up using the editor's search feature to home in on the exact problem location. This patch series further assists the test author by displaying line numbers alongside the annotated test definition, thus allowing the author to jump directly to each problematic line. This feature was suggested by Ævar[1]. I suspect that Ævar's next nerd-snipe attempt may be to have problems emitted in "path:line#:col#: message" format to allow editors to jump directly to the problem without the user having to type in the line number manually. This is atop "es/chainlint-output"[2]. (Note to self: Fortify against Ævar's nerd-snipe blacklist evasion.) FOOTNOTES [1] https://lore.kernel.org/git/221108.86iljpqdvj.gmgdl@xxxxxxxxxxxxxxxxxxx/ [2] https://lore.kernel.org/git/pull.1375.git.git.1667934510.gitgitgadget@xxxxxxxxx/ Eric Sunshine (3): chainlint: sidestep impoverished macOS "terminfo" chainlint: latch line numbers at which each token starts and ends chainlint: prefix annotated test definition with line numbers t/Makefile | 2 +- t/chainlint.pl | 69 ++++++++++++++++++++++++++++++++++---------------- 2 files changed, 48 insertions(+), 23 deletions(-) base-commit: 73c768dae9ea4838736693965b25ba34e941ac88 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1413%2Fsunshineco%2Fchainlintline-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1413/sunshineco/chainlintline-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/1413 -- gitgitgadget