diff --git a/contrib/check-code.py b/contrib/check-code.py --- a/contrib/check-code.py +++ b/contrib/check-code.py @@ -367,6 +367,16 @@ inrevlogpats = [ [] ] +webtemplatefilters = [] + +webtemplatepats = [ + [], + [ + (r'{desc(\|(?!websub|firstline)[^\|]*)+}', + 'follow desc keyword with either firstline or websub'), + ] +] + checks = [ ('python', r'.*\.(py|cgi)$', r'^#!.*python', pyfilters, pypats), ('test script', r'(.*/)?test-[^.~]*$', '', testfilters, testpats), @@ -377,6 +387,8 @@ checks = [ ('layering violation ui in util', r'mercurial/util\.py', '', pyfilters, inutilpats), ('txt', r'.*\.txt$', '', txtfilters, txtpats), + ('web template', r'mercurial/templates/.*\.tmpl', '', + webtemplatefilters, webtemplatepats), ] def _preparepats(): diff --git a/tests/test-check-code.t b/tests/test-check-code.t --- a/tests/test-check-code.t +++ b/tests/test-check-code.t @@ -284,3 +284,19 @@ > print _( don't use % inside _() [1] + +web templates + + $ mkdir -p mercurial/templates + $ cat > mercurial/templates/example.tmpl < {desc} + > {desc|escape} + > {desc|firstline} + > {desc|websub} + > EOF + + $ "$check_code" --warnings mercurial/templates/example.tmpl + mercurial/templates/example.tmpl:2: + > {desc|escape} + warning: follow desc keyword with either firstline or websub + [1]