| Startup and the Linter Class |
| ---------------------------- |
| |
| The two main classes in ``pylint.lint`` are |
| ``.pylint.lint.Run`` and ``.pylint.lint.PyLinter``. |
| |
| The ``.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 main ``.pylint.lint.PyLinter`` instance |
| and initialise it with the config file and plugins that were discovered |
| when preprocessing the command line options. |
| Finally the ``.pylint.lint.Run`` object launches any child linters |
| for parallel jobs, and starts the linting process. |
| |
| The ``.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. |