70 (r"( *)(#([^\n]*\S)?)", repcomment), |
70 (r"( *)(#([^\n]*\S)?)", repcomment), |
71 (r"<<(\S+)((.|\n)*?\n\1)", rephere), |
71 (r"<<(\S+)((.|\n)*?\n\1)", rephere), |
72 ] |
72 ] |
73 |
73 |
74 uprefix = r"^ \$ " |
74 uprefix = r"^ \$ " |
|
75 uprefixc = r"^ > " |
75 utestpats = [ |
76 utestpats = [ |
76 (uprefix + r'.*\|\s*sed', "use regex test output patterns instead of sed"), |
77 (uprefix + r'.*\|\s*sed', "use regex test output patterns instead of sed"), |
77 (uprefix + r'(true|exit 0)', "explicit zero exit unnecessary"), |
78 (uprefix + r'(true|exit 0)', "explicit zero exit unnecessary"), |
78 (uprefix + r'.*\$\?', "explicit exit code checks unnecessary"), |
79 (uprefix + r'.*\$\?', "explicit exit code checks unnecessary"), |
79 (uprefix + r'.*\|\| echo.*(fail|error)', |
80 (uprefix + r'.*\|\| echo.*(fail|error)', |
80 "explicit exit code checks unnecessary"), |
81 "explicit exit code checks unnecessary"), |
81 (uprefix + r'set -e', "don't use set -e"), |
82 (uprefix + r'set -e', "don't use set -e"), |
|
83 (uprefixc + r'( *)\t', "don't use tabs to indent"), |
82 ] |
84 ] |
83 |
85 |
84 for p, m in testpats: |
86 for p, m in testpats: |
85 if p.startswith('^'): |
87 if p.startswith('^'): |
86 p = uprefix + p[1:] |
88 p = uprefix + p[1:] |