Sun, 09 Apr 2023 15:59:08 +0300
Extracted the state of the program into a MainState structure, and extracted local functions of main() into static functions.
I was planning to make the core logic and state of the program into a Main class, which would be a QObject that would
have lots of signals and slots, but it looks like this works even without it
#!/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