diff --git a/_SUMMARY.md b/_SUMMARY.md index 27a4e3824..dcb5c70cc 100644 --- a/_SUMMARY.md +++ b/_SUMMARY.md @@ -40,5 +40,6 @@ * [List and Tree Controls](lists_and_trees.html) * [Miscellaneous Swing Components](misc_swing_components.html) * [Custom Language Support](custom_language_support.html) + * [Custom Language Support Tutorial](cls_tutorial.html) diff --git a/cls_tutorial.md b/cls_tutorial.md new file mode 100644 index 000000000..cdc639fb9 --- /dev/null +++ b/cls_tutorial.md @@ -0,0 +1,46 @@ +--- +title: Custom Language Support Tutorial +--- + + + +# {{ page.title }} + +In this tutorial we will add basic support for +[.properties](http://en.wikipedia.org/wiki/.properties) +language and it's usages within Java code. + +We will generate parser and PSI elements using +[Grammar-Kit](https://github.com/JetBrains/Grammar-Kit) plugin. +The lexer class will be generated with +[JFlex](http://jflex.de/). + +This a step-by-step tutorial and it requires performing every step: + +* [Prerequisites](TODO) +* [Language and File Type](TODO) +* [Grammar and Parser](TODO) +* [Lexer and Parser Definition](TODO) +* [Syntax Highlighter and Color Settings Page](TODO) +* [PSI Helpers and Utilities](TODO) +* [Annotator](TODO) +* [Line Marker Provider](TODO) +* [Completion Contributor](TODO) +* [Reference Contributor](TODO) +* [Find Usages Provider](TODO) +* [Folding Builder](TODO) +* [Go To Symbol Contributor](TODO) +* [Structure View Factory](TODO) +* [Formatter](TODO) +* [Code Style Settings](TODO) +* [Commenter](TODO) +* [Quick Fix](TODO) + +The final code can be found on +[GitHub](http://github.com/cheptsov/SimplePlugin). + +For additional information check out the +[official documentation](http://confluence.jetbrains.net/display/IDEADEV/PluginDevelopment) +