equal
deleted
inserted
replaced
263 heredoclimitpat = br'\s*<<\s*(?P<lquote>["\']?)(?P<limit>\w+)(?P=lquote)' |
263 heredoclimitpat = br'\s*<<\s*(?P<lquote>["\']?)(?P<limit>\w+)(?P=lquote)' |
264 |
264 |
265 class fileheredocmatcher(embeddedmatcher): |
265 class fileheredocmatcher(embeddedmatcher): |
266 """Detect "cat > FILE << LIMIT" style embedded code |
266 """Detect "cat > FILE << LIMIT" style embedded code |
267 |
267 |
268 >>> matcher = fileheredocmatcher(b'heredoc .py file', br'[^<]+\.py') |
268 >>> matcher = fileheredocmatcher(b'heredoc .py file', br'[^<]+\\.py') |
269 >>> b2s(matcher.startsat(b' $ cat > file.py << EOF\\n')) |
269 >>> b2s(matcher.startsat(b' $ cat > file.py << EOF\\n')) |
270 ('file.py', ' > EOF\\n') |
270 ('file.py', ' > EOF\\n') |
271 >>> b2s(matcher.startsat(b' $ cat >>file.py <<EOF\\n')) |
271 >>> b2s(matcher.startsat(b' $ cat >>file.py <<EOF\\n')) |
272 ('file.py', ' > EOF\\n') |
272 ('file.py', ' > EOF\\n') |
273 >>> b2s(matcher.startsat(b' $ cat> \\x27any file.py\\x27<< "EOF"\\n')) |
273 >>> b2s(matcher.startsat(b' $ cat> \\x27any file.py\\x27<< "EOF"\\n')) |