Sun, 09 Apr 2023 16:30:33 +0300
Also connect up the "Delete" action
317
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
1 | #!/usr/bin/env python3 |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
2 | import sys |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
3 | too_many = 6 |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
4 | for filename in sys.argv[1:]: |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
5 | with open(filename) as file: |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
6 | at_start_of_new_block = False |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
7 | old_n = 0 |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
8 | for linenumber, line in enumerate(file, 1): |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
9 | import re |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
10 | n = len(re.match('^(\t*).*$', line).group(1)) |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
11 | if at_start_of_new_block and n >= too_many and old_n < too_many: |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
12 | print(f'{filename}:{linenumber}: warning: block with {n} indent levels', file = sys.stderr) |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
13 | at_start_of_new_block = line.strip().endswith('{') |
852021f38b66
Let's try to keep the amount of indents in check...
Teemu Piippo <teemu.s.piippo@gmail.com>
parents:
diff
changeset
|
14 | old_n = n |