mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 23:07:18 +03:00
check-code: detect "% inside _()" when there are leading whitespaces
Before this patch, "contrib/check-code.py" can't detect "% inside _()" correctly, when there are leading whitespaces before the format string, like below: _( "format string %s" % v) This patch adds regexp pattern "[ \t\n]*" before the pattern matching against the format string. "[\s\n]" can't be used in this purpose, because "\s" is automatically replaced with "[ \t]" by "_preparepats()" and "\s" in "[]" causes nested "[]" unexpectedly.
This commit is contained in:
parent
c0e0086074
commit
0ba1f1ddab
@ -207,8 +207,8 @@ pypats = [
|
||||
(r'\s<>\s', '<> operator is not available in Python 3+, use !='),
|
||||
(r'^\s*\t', "don't use tabs"),
|
||||
(r'\S;\s*\n', "semicolon"),
|
||||
(r'[^_]_\((?:"[^"]+"[ \t\n+]*)+%', "don't use % inside _()"),
|
||||
(r"[^_]_\((?:'[^']+'[ \t\n+]*)+%", "don't use % inside _()"),
|
||||
(r'[^_]_\([ \t\n]*(?:"[^"]+"[ \t\n+]*)+%', "don't use % inside _()"),
|
||||
(r"[^_]_\([ \t\n]*(?:'[^']+'[ \t\n+]*)+%", "don't use % inside _()"),
|
||||
(r'(\w|\)),\w', "missing whitespace after ,"),
|
||||
(r'(\w|\))[+/*\-<>]\w', "missing whitespace in expression"),
|
||||
(r'^\s+(\w|\.)+=\w[^,()\n]*$', "missing whitespace in assignment"),
|
||||
|
@ -255,3 +255,32 @@
|
||||
warning: add two newlines after '.. note::'
|
||||
[1]
|
||||
|
||||
$ cat > ./map-inside-gettext.py <<EOF
|
||||
> print _("map inside gettext %s" % v)
|
||||
>
|
||||
> print _("concatenating " " by " " space %s" % v)
|
||||
> print _("concatenating " + " by " + " '+' %s" % v)
|
||||
>
|
||||
> print _("maping operation in different line %s"
|
||||
> % v)
|
||||
>
|
||||
> print _(
|
||||
> "leading spaces inside of '(' %s" % v)
|
||||
> EOF
|
||||
$ "$check_code" ./map-inside-gettext.py
|
||||
./map-inside-gettext.py:1:
|
||||
> print _("map inside gettext %s" % v)
|
||||
don't use % inside _()
|
||||
./map-inside-gettext.py:3:
|
||||
> print _("concatenating " " by " " space %s" % v)
|
||||
don't use % inside _()
|
||||
./map-inside-gettext.py:4:
|
||||
> print _("concatenating " + " by " + " '+' %s" % v)
|
||||
don't use % inside _()
|
||||
./map-inside-gettext.py:6:
|
||||
> print _("maping operation in different line %s"
|
||||
don't use % inside _()
|
||||
./map-inside-gettext.py:9:
|
||||
> print _(
|
||||
don't use % inside _()
|
||||
[1]
|
||||
|
Loading…
Reference in New Issue
Block a user