Thu, 15 Jun 2023 16:18:03 +0300
Refactor, make selecting elements from the model select the corresponding line from the editor as well
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 |