summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorIan Cordasco <graffatcolmingov@gmail.com>2016-02-10 22:44:23 -0600
committerIan Cordasco <graffatcolmingov@gmail.com>2016-02-10 22:44:27 -0600
commitc20793b49c8421059b702943360d38fd2c76304f (patch)
tree1ee8f6b8a453b36677fd8c7885ad204ced7d9dc8 /docs
parentf824cbae9321527214b9fb9c3e7688c1d05f4b47 (diff)
downloadflake8-c20793b49c8421059b702943360d38fd2c76304f.tar.gz
Add internal documentation around default formatters
Diffstat (limited to 'docs')
-rw-r--r--docs/source/index.rst1
-rw-r--r--docs/source/internal/formatters.rst47
2 files changed, 48 insertions, 0 deletions
diff --git a/docs/source/index.rst b/docs/source/index.rst
index a2bd76a..c8a4f35 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -27,6 +27,7 @@ Developer Guide
.. toctree::
:maxdepth: 2
+ internal/formatters
internal/option_handling
internal/plugin_handling
internal/utils
diff --git a/docs/source/internal/formatters.rst b/docs/source/internal/formatters.rst
new file mode 100644
index 0000000..caa5718
--- /dev/null
+++ b/docs/source/internal/formatters.rst
@@ -0,0 +1,47 @@
+=====================
+ Built-in Formatters
+=====================
+
+By default Flake8 has two formatters built-in, ``default`` and ``pylint``.
+These correspond to two classes |DefaultFormatter| and |PylintFormatter|.
+
+In Flake8 2.0, pep8 handled formatting of errors and also allowed users to
+specify an arbitrary format string as a parameter to ``--format``. In order
+to allow for this backwards compatibility, Flake8 3.0 made two choices:
+
+#. To not limit a user's choices for ``--format`` to the format class names
+
+#. To make the default formatter attempt to use the string provided by the
+ user if it cannot find a formatter with that name.
+
+Default Formatter
+=================
+
+The |DefaultFormatter| continues to use the same default format string as
+pep8: ``'%(path)s:%(row)d:%(col)d: %(code)s %(text)s'``.
+
+In order to provide the default functionality it overrides two methods:
+
+#. ``after_init``
+
+#. ``format``
+
+The former allows us to inspect the value provided to ``--format`` by the
+user and alter our own format based on that value. The second simply uses
+that format string to format the error.
+
+.. autoclass:: flake8.formatters.default.Default
+ :members:
+
+Pylint Formatter
+================
+
+The |PylintFormatter| simply defines the default Pylint format string from
+pep8: ``'%(path)s:%(row)d: [%(code)s] %(text)s'``.
+
+.. autoclass:: flake8.formatters.default.Pylint
+ :members:
+
+
+.. |DefaultFormatter| replace:: :class:`~flake8.formatters.default.Default`
+.. |PylintFormatter| replace:: :class:`~flake8.formatters.default.Pylint`