tools/indentlevel.py

Sat, 10 Jun 2023 17:26:32 +0300

author
Teemu Piippo <teemu.s.piippo@gmail.com>
date
Sat, 10 Jun 2023 17:26:32 +0300
changeset 382
94d5587bb0c4
parent 317
852021f38b66
permissions
-rw-r--r--

use a parameter to avoid temporarily changing member variables

#!/usr/bin/env python3
import sys
too_many = 6
for filename in sys.argv[1:]:
	with open(filename) as file:
		at_start_of_new_block = False
		old_n = 0
		for linenumber, line in enumerate(file, 1):
			import re
			n = len(re.match('^(\t*).*$', line).group(1))
			if at_start_of_new_block and n >= too_many and old_n < too_many:
				print(f'{filename}:{linenumber}: warning: block with {n} indent levels', file = sys.stderr)
			at_start_of_new_block = line.strip().endswith('{')
			old_n = n

mercurial