This repository has been archived on 2024-06-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
coffee.pygments/scripts/check_crlf.py
Matthäus G. Chajdas d7b3732f34 Don't exit after the first error in check_crlf.
This makes it easier to find all offending files in a commit, instead of
having to only get notified of one file per run.
2023-08-06 10:34:10 +02:00

36 lines
976 B
Python

#!/usr/bin/env python
"""
Checker for line endings
~~~~~~~~~~~~~~~~~~~~~~~~
Make sure Python (.py) and Bash completion (.bashcomp) files do not
contain CR/LF newlines.
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
import sys
import os
if __name__ == '__main__':
error = False
for directory in sys.argv[1:]:
if not os.path.exists(directory):
continue
for root, dirs, files in os.walk(directory):
for filename in files:
if not filename.endswith('.py') and not filename.endswith('.bashcomp'):
continue
full_path = os.path.join(root, filename)
with open(full_path, 'rb') as f:
if b'\r\n' in f.read():
print('CR/LF found in', full_path)
error = True
if error:
sys.exit(1)
sys.exit(0)