[flake8]
max-line-length = 120
application-import-names = dmoj
import-order-style = pycharm
enable-extensions = G
ignore =
    # for Black
    E203, E501, W503,
    # line break occurred after a binary operator
    W504,
    # allow only generator_stop and annotations future imports
    FI10,FI11,FI12,FI13,FI14,FI15,FI16,FI17,FI18,FI55,FI58,
    # missing trailing comma in Python 2 only
    C814,
    # trailing comma on bare tuple prohibited
    C818
per-file-ignores =
    # F403: import *, F405: name comes from import *
    ./dmoj/cptbox/compiler_isolate.py:F403,F405
    ./dmoj/cptbox/isolate.py:F403,F405
    ./dmoj/cptbox/tracer.py:F403,F405
    # F821: undefined name, flake8 incorrectly thinks name is deleted
    ./dmoj/cptbox/syscalls.py:F821
    # F401: unused imports, ignore in all __init__.py
    ./*/__init__.py:F401
    # E101: mix tab and spaces, ignore in files that use tabs in ''' strings
    ./dmoj/executors/CBL.py:E101
    ./dmoj/executors/GAS32.py:E101
    ./dmoj/executors/GAS64.py:E101
exclude =
    ./testsuite # The standard location for the test suite repository
