aboutsummaryrefslogtreecommitdiff
path: root/doc/technical_reference/startup.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/technical_reference/startup.rst')
-rw-r--r--doc/technical_reference/startup.rst22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/technical_reference/startup.rst b/doc/technical_reference/startup.rst
new file mode 100644
index 000000000..5a2063d4a
--- /dev/null
+++ b/doc/technical_reference/startup.rst
@@ -0,0 +1,22 @@
+Startup and the Linter Class
+----------------------------
+The two main classes in :mod:`pylint.lint` are
+:class:`.pylint.lint.Run` and :class:`.pylint.lint.PyLinter`.
+
+The :class:`.pylint.lint.Run` object is responsible for starting up pylint.
+It does some basic checking of the given command line options to
+find the initial hook to run,
+find the config file to use,
+and find which plugins have been specified.
+It can then create the master :class:`.pylint.lint.PyLinter` instance
+and initialise it with the config file and plugins that were discovered
+when preprocessing the command line options.
+Finally the :class:`.pylint.lint.Run` object launches any child linters
+for parallel jobs, and starts the linting process.
+
+The :class:`.pylint.lint.PyLinter` is responsible for coordinating the
+linting process.
+It parses the configuration and provides it for the checkers and other plugins,
+it handles the messages emitted by the checkers,
+it handles the output reporting,
+and it launches the checkers.