Subject: [PATCH 0/3] chainlint: emit line numbers alongside test definitions

From: "Eric Sunshine via GitGitGadget" <[email-masked]>
Date: Wed, 09 Nov 2022 16:58:31 +0000

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/[email-masked]/
[2]
https://lore.kernel.org/git/[email-masked]/

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