summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvalentin <valentin@too.gy>2017-01-18 13:42:11 +0100
committerAnthony Sottile <asottile@umich.edu>2021-03-14 11:53:03 -0700
commitac9c66e80bed84e78fbb803e6dd9e33cc4c741ca (patch)
treec526d34301f1f56706d856fdc02063230a188097
parentfd71b8650988d1ac74fd262ed96d11da1966c412 (diff)
downloadflake8-ac9c66e80bed84e78fbb803e6dd9e33cc4c741ca.tar.gz
Add indent-size option
-rw-r--r--docs/source/user/options.rst23
-rw-r--r--src/flake8/defaults.py1
-rw-r--r--src/flake8/main/options.py9
-rw-r--r--src/flake8/processor.py2
4 files changed, 35 insertions, 0 deletions
diff --git a/docs/source/user/options.rst b/docs/source/user/options.rst
index 5e62453..d2c0edb 100644
--- a/docs/source/user/options.rst
+++ b/docs/source/user/options.rst
@@ -64,6 +64,8 @@ Index of Options
- :option:`flake8 --max-doc-length`
+- :option:`flake8 --indent-size`
+
- :option:`flake8 --select`
- :option:`flake8 --disable-noqa`
@@ -570,6 +572,27 @@ Options and their Descriptions
max-doc-length = 79
+.. option:: --indent-size=<n>
+
+ :ref:`Go back to index <top>`
+
+ Set the number of spaces used for indentation.
+
+ By default, 4.
+
+ Command-line example:
+
+ .. prompt:: bash
+
+ flake8 --indent-size 2 dir/
+
+ This **can** be specified in config files.
+
+ Example config file usage:
+
+ .. code-block:: ini
+
+ indent-size = 2
.. option:: --select=<errors>
diff --git a/src/flake8/defaults.py b/src/flake8/defaults.py
index 1d32bd7..d590857 100644
--- a/src/flake8/defaults.py
+++ b/src/flake8/defaults.py
@@ -15,6 +15,7 @@ EXCLUDE = (
IGNORE = ("E121", "E123", "E126", "E226", "E24", "E704", "W503", "W504")
SELECT = ("E", "F", "W", "C90")
MAX_LINE_LENGTH = 79
+INDENT_SIZE = 4
TRUTHY_VALUES = {"true", "1", "t"}
diff --git a/src/flake8/main/options.py b/src/flake8/main/options.py
index a0f066f..0a6ad45 100644
--- a/src/flake8/main/options.py
+++ b/src/flake8/main/options.py
@@ -105,6 +105,7 @@ def register_default_options(option_manager):
- ``--per-file-ignores``
- ``--max-line-length``
- ``--max-doc-length``
+ - ``--indent-size``
- ``--select``
- ``--disable-noqa``
- ``--show-source``
@@ -254,6 +255,14 @@ def register_default_options(option_manager):
help="Maximum allowed doc line length for the entirety of this run. "
"(Default: %(default)s)",
)
+ add_option(
+ "--indent-size",
+ type=int,
+ metavar="n",
+ default=defaults.INDENT_SIZE,
+ parse_from_config=True,
+ help="Number of spaces used for indentation (Default: %default)",
+ )
add_option(
"--select",
diff --git a/src/flake8/processor.py b/src/flake8/processor.py
index b675c99..75b8de7 100644
--- a/src/flake8/processor.py
+++ b/src/flake8/processor.py
@@ -83,6 +83,8 @@ class FileProcessor(object):
self.indent_char = None # type: Optional[str]
#: Current level of indentation
self.indent_level = 0
+ #: Number of spaces used for indentation
+ self.indent_size = options.indent_size
#: Line number in the file
self.line_number = 0
#: Current logical line