--- layout: editable title: Custom Language Support Tutorial --- 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](tutorials/custom_language_support/prerequisites.html) * [Language and File Type](tutorials/custom_language_support/language_and_filetype.html) * [Grammar and Parser](tutorials/custom_language_support/grammar_and_parser.html) * [Lexer and Parser Definition](tutorials/custom_language_support/lexer_and_parser_definition.html) * [Syntax Highlighter and Color Settings Page](tutorials/custom_language_support/syntax_highlighter_and_color_settings_page.html) * [PSI Helpers and Utilities](tutorials/custom_language_support/psi_helper_and_utilities.html) * [Annotator](tutorials/custom_language_support/annotator.html) * [Line Marker Provider](tutorials/custom_language_support/line_marker_provider.html) * [Completion Contributor](tutorials/custom_language_support/completion_contributor.html) * [Reference Contributor](tutorials/custom_language_support/reference_contributor.html) * [Find Usages Provider](tutorials/custom_language_support/find_usages_provider.html) * [Folding Builder](tutorials/custom_language_support/folding_builder.html) * [Go To Symbol Contributor](tutorials/custom_language_support/go_to_symbol_contributor.html) * [Structure View Factory](tutorials/custom_language_support/structure_view_factory.html) * [Formatter](tutorials/custom_language_support/formatter.html) * [Code Style Settings](tutorials/custom_language_support/code_style_settings.html) * [Commenter](tutorials/custom_language_support/commenter.html) * [Quick Fix](tutorials/custom_language_support/quick_fix.html) The final code can be found on [GitHub](http://github.com/cheptsov/SimplePlugin).