From 0d04061a808f5d5130860027b387867dba1f1aee Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Tue, 8 Oct 2019 15:31:26 +0200 Subject: [PATCH] [ADD] Flake8 configuration file Using 'line-length=80' and flake8-bugbear's B950 warning, I respect black's formatting of 88 columns max. The T4 category is related to mypy lints, using the 'flake8-mypy` plugin. The max complexity is supposed to make you write shorter functions with less complexity, using the cyclomatic complexity heuristic. This file is almost directly taken from black's own flake8 configuration, because I'm using it as a linter and I mostly agreed with its settings. --- flake8/.config/flake8 | 22 ++++++++++++++++++++++ install.sh | 1 + 2 files changed, 23 insertions(+) create mode 100644 flake8/.config/flake8 diff --git a/flake8/.config/flake8 b/flake8/.config/flake8 new file mode 100644 index 0000000..97ffe1c --- /dev/null +++ b/flake8/.config/flake8 @@ -0,0 +1,22 @@ +[flake8] +ignore = + # Whitespace before a ':' in slices + E203, + # Line over 80 columns + E501, + # Line break before a binary operator + W503 + +# Up-to 88 thanks to B950 violation +max-line-length = 80 + +# Cyclomatic complexity for functions +max-complexity = 18 + +select = + # Built-in violations (complexity, whitespace, and others) + C,E,F,W, + # Violations from flake8-mypy + T4, + # Violations from flake8-bugbear, with opinionated warnings + B,B9 diff --git a/install.sh b/install.sh index cd9b2c1..00f0155 100755 --- a/install.sh +++ b/install.sh @@ -5,6 +5,7 @@ stow -t ~ X stow -t ~ bash stow -t ~ dunst stow -t ~ emacs +stow -t ~ flake8 stow -t ~ git stow -t ~ i3 stow -t ~ i3blocks