This is the table of contents for a set of pages that describe how to implement a plugin. You should probably read the Introduction and Getting Started pages first, but the remaining pages can be read as you attempt to implement the described functionality.
The following is a list of the pages available in this tutorial.
Introduction - What is a plugin and what can it do?
Getting Started - How to write a minimal plugin.
Creating Edits - How to compose the edits used in assists, fixes, and refactorings.
Providing Quick Assists - How to provide quick assists.
Providing Quick Fixes - How to provide quick fixes associated with errors.
Providing Code Completions - How to provide code completion suggestions.
Providing Navigation Information - How to provide navigation support.
Providing Occurrences Information - How to provide information for marking occurrences.
Providing Outline Information - How to provide the information to build outline structures.
Providing Folding Information - How to provide support for code folding.