From ac9c66e80bed84e78fbb803e6dd9e33cc4c741ca Mon Sep 17 00:00:00 2001 From: valentin Date: Wed, 18 Jan 2017 13:42:11 +0100 Subject: [PATCH] Add indent-size option --- docs/source/user/options.rst | 23 +++++++++++++++++++++++ src/flake8/defaults.py | 1 + src/flake8/main/options.py | 9 +++++++++ src/flake8/processor.py | 2 ++ 4 files changed, 35 insertions(+) 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= + + :ref:`Go back to index ` + + 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= 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