Document the types of plugins and expected results #1716
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is covered in this PR
I have recently attempted to write a plugin for Flake8. I found the video tutorial to be a great source of info, but understand it is desirable to move more and more of its contents to written form.
This PR is my attempt at moving some of that information to the docs.
Note this is based on my understanding after watching the video tutorial and having read the code to understand the different types of plugins, how they are loaded, how they are called, what parameters they get and what Flake8 expects them to return.
One notable omission
When describing the physical line plugins, I have deliberately omitted the fact that it supports receiving a single tuple from the plugin. I am basing this omission on my intuition that this is a special case to deal with legacy, one that Flake8 might not want to promote.