mirror of
https://github.com/vim/vim
synced 2025-03-15 06:17:51 +01:00
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>
18 lines
571 B
Makefile
18 lines
571 B
Makefile
# 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
|