CI: add Makefile target to verify default highlighting groups are present
When adding new highlight groups, one needs to make sure to also add a "default link NewHlGroup ExistingHlGroup" in highlight.c code, so that when resetting a color scheme the old color won't be left behind. So add a Makefile in the 'ci' directory that verifies that all documented '*hl-<groupname>' from the documentation are either reflected in the source code, or belong to a list of 'known to be ignored' highlight groups and let that check run as part of the CI test suite. related: #16676 closes: #16678 Signed-off-by: Christ van Willegen <cvwillegen@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
41a6026f00
commit
6a15942bc2
18
ci/hlgroups.make
Normal file
18
ci/hlgroups.make
Normal file
@ -0,0 +1,18 @@
|
||||
# vim: ft=make
|
||||
SHELL = /bin/bash
|
||||
|
||||
# Default target to actually run the comparison:
|
||||
.PHONY: check
|
||||
.INTERMEDIATE: hlgroups deflinks hlgroups.stripped
|
||||
|
||||
check: hlgroups.stripped deflinks
|
||||
diff hlgroups.stripped deflinks
|
||||
|
||||
hlgroups:
|
||||
grep '\*hl-' ../runtime/doc/*txt | sed -E -e 's/.*:<?\s*//' -e 's/hl-//g' -e 's/\*//g' -e 's/ /\n/g' | sort > hlgroups
|
||||
|
||||
deflinks: ../src/highlight.c
|
||||
grep '"default link' $< | sed 's/.*default link\s*\(.*\)\s.*/\1/' | sort > deflinks
|
||||
|
||||
hlgroups.stripped: hlgroups.ignore hlgroups
|
||||
grep -v -x -F -f hlgroups.ignore hlgroups > hlgroups.stripped
|
||||
Reference in New Issue
Block a user