--- 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](cls_prerequisites.html) * [Language and File Type](language_and_filetype.html) * [Grammar and Parser](grammar_and_parser.html) * [Lexer and Parser Definition](lexer_and_parser_definition.html) * [Syntax Highlighter and Color Settings Page](syntax_highlighter_and_color_settings_page.html) * [PSI Helpers and Utilities](psi_helper_and_utilities.html) * [Annotator](annotator.html) * [Line Marker Provider](line_marker_provider.html) * [Completion Contributor](completion_contributor.html) * [Reference Contributor](reference_contributor.html) * [Find Usages Provider](find_usages_provider.html) * [Folding Builder](folding_builder.html) * [Go To Symbol Contributor](go_to_symbol_contributor.html) * [Structure View Factory](structure_view_factory.html) * [Formatter](formatter.html) * [Code Style Settings](code_style_settings.html) * [Commenter](commenter.html) * [Quick Fix](quick_fix.html) 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)