diff --git a/topics/intro/sdk_style.md b/topics/intro/sdk_style.md index 6891b7945..5c40e206c 100644 --- a/topics/intro/sdk_style.md +++ b/topics/intro/sdk_style.md @@ -205,6 +205,7 @@ Whole files can be imported on a page using `src` attribute after code fences sp The advantage is the code can come from the `code_samples` directory, so it will be live code that isn't silently stale. The disadvantage is the file may contain a large class, too large for the documentation page to be useful. +If possible, use `include-symbol="ClassName"` to show only the class body without any headers and imports. To include only a specific method, specify `include-symbol="methodName"` additionally. In any case, please keep code samples concise and avoid any unnecessary "surrounding" code or import statements. diff --git a/topics/tutorials/custom_language_support/annotator.md b/topics/tutorials/custom_language_support/annotator.md index 3466c43fe..5286566c8 100644 --- a/topics/tutorials/custom_language_support/annotator.md +++ b/topics/tutorials/custom_language_support/annotator.md @@ -66,7 +66,7 @@ Annotate the `simple:key` literal expression, and differentiate between a well-f ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleAnnotator.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleAnnotator.java" include-symbol="SimpleAnnotator"} > If the above code is copied at this stage of the tutorial, then remove the line below the comment "** Tutorial step 18.3 …" The quick fix class in that line is not defined until later in the tutorial. > diff --git a/topics/tutorials/custom_language_support/code_style_settings.md b/topics/tutorials/custom_language_support/code_style_settings.md index 6af7970be..3505cbaf3 100644 --- a/topics/tutorials/custom_language_support/code_style_settings.md +++ b/topics/tutorials/custom_language_support/code_style_settings.md @@ -27,7 +27,7 @@ for Simple Language by subclassing [`CustomCodeStyleSettings`](%gh-ic%/platform/ ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCodeStyleSettings.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCodeStyleSettings.java" include-symbol="SimpleCodeStyleSettings"} ## Define Code Style Settings Provider @@ -38,7 +38,7 @@ for Simple Language by subclassing [`CodeStyleSettingsProvider`](%gh-ic%/platfor ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCodeStyleSettingsProvider.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCodeStyleSettingsProvider.java" include-symbol="SimpleCodeStyleSettingsProvider"} ## Register the Code Style Settings Provider @@ -57,7 +57,7 @@ Define [`SimpleLanguageCodeStyleSettingsProvider`](%gh-sdk-samples%/simple_langu ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleLanguageCodeStyleSettingsProvider.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleLanguageCodeStyleSettingsProvider.java" include-symbol="SimpleLanguageCodeStyleSettingsProvider"} ## Register the Language Code Style Settings Provider diff --git a/topics/tutorials/custom_language_support/commenter.md b/topics/tutorials/custom_language_support/commenter.md index e2835d926..508d95fe1 100644 --- a/topics/tutorials/custom_language_support/commenter.md +++ b/topics/tutorials/custom_language_support/commenter.md @@ -25,7 +25,7 @@ The [`SimpleCommenter`](%gh-sdk-samples%/simple_language_plugin/src/main/java/or ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCommenter.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCommenter.java" include-symbol="SimpleCommenter"} ## Register the Commenter diff --git a/topics/tutorials/custom_language_support/completion_contributor.md b/topics/tutorials/custom_language_support/completion_contributor.md index b7ed6e2da..a57fdc131 100644 --- a/topics/tutorials/custom_language_support/completion_contributor.md +++ b/topics/tutorials/custom_language_support/completion_contributor.md @@ -25,7 +25,7 @@ This rudimentary completion contributor always adds "Hello" to the completion va ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCompletionContributor.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCompletionContributor.java" include-symbol="SimpleCompletionContributor"} ## Register the Completion Contributor diff --git a/topics/tutorials/custom_language_support/find_usages_provider.md b/topics/tutorials/custom_language_support/find_usages_provider.md index dec0fb971..a9a2d52c3 100644 --- a/topics/tutorials/custom_language_support/find_usages_provider.md +++ b/topics/tutorials/custom_language_support/find_usages_provider.md @@ -27,7 +27,7 @@ See the comments in `FindUsagesProvider` for more information. ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleFindUsagesProvider.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleFindUsagesProvider.java" include-symbol="SimpleFindUsagesProvider"} ## Register the Find Usages Provider diff --git a/topics/tutorials/custom_language_support/folding_builder.md b/topics/tutorials/custom_language_support/folding_builder.md index 6297b0c0d..a2686ce8c 100644 --- a/topics/tutorials/custom_language_support/folding_builder.md +++ b/topics/tutorials/custom_language_support/folding_builder.md @@ -37,7 +37,7 @@ The IntelliJ Platform uses the value to substitute for the key when the code get ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleFoldingBuilder.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleFoldingBuilder.java" include-symbol="SimpleFoldingBuilder"} ## Register the Folding Builder diff --git a/topics/tutorials/custom_language_support/formatter.md b/topics/tutorials/custom_language_support/formatter.md index f9d69da24..ddff302f6 100644 --- a/topics/tutorials/custom_language_support/formatter.md +++ b/topics/tutorials/custom_language_support/formatter.md @@ -30,7 +30,7 @@ Define [`SimpleBlock`](%gh-sdk-samples%/simple_language_plugin/src/main/java/org ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleBlock.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleBlock.java" include-symbol="SimpleBlock"} ## Define a Formatting Model Builder @@ -51,7 +51,7 @@ Create [`SimpleFormattingModelBuilder`](%gh-sdk-samples%/simple_language_plugin/ ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleFormattingModelBuilder.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleFormattingModelBuilder.java" include-symbol="SimpleFormattingModelBuilder"} ## Register the Formatter diff --git a/topics/tutorials/custom_language_support/go_to_symbol_contributor.md b/topics/tutorials/custom_language_support/go_to_symbol_contributor.md index 81aad367a..cff07b8e5 100644 --- a/topics/tutorials/custom_language_support/go_to_symbol_contributor.md +++ b/topics/tutorials/custom_language_support/go_to_symbol_contributor.md @@ -47,7 +47,7 @@ to create [`SimpleChooseByNameContributor`](%gh-sdk-samples%/simple_language_plu ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleChooseByNameContributor.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleChooseByNameContributor.java" include-symbol="SimpleChooseByNameContributor"} ## Register the Go To Symbol Contributor diff --git a/topics/tutorials/custom_language_support/grammar_and_parser.md b/topics/tutorials/custom_language_support/grammar_and_parser.md index c2c3ad4fc..c0d8ccc35 100644 --- a/topics/tutorials/custom_language_support/grammar_and_parser.md +++ b/topics/tutorials/custom_language_support/grammar_and_parser.md @@ -24,7 +24,7 @@ in the `org.intellij.sdk.language.psi` package by subclassing `IElementType`. ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleTokenType.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleTokenType.java" include-symbol="SimpleTokenType"} ## Define an Element Type @@ -32,7 +32,7 @@ Create the [`SimpleElementType`](%gh-sdk-samples%/simple_language_plugin/src/mai ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleElementType.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleElementType.java" include-symbol="SimpleElementType"} ## Define the Grammar diff --git a/topics/tutorials/custom_language_support/language_and_filetype.md b/topics/tutorials/custom_language_support/language_and_filetype.md index e010c0a57..8ce3227c0 100644 --- a/topics/tutorials/custom_language_support/language_and_filetype.md +++ b/topics/tutorials/custom_language_support/language_and_filetype.md @@ -32,7 +32,7 @@ The [`SimpleLanguage`](%gh-sdk-samples%/simple_language_plugin/src/main/java/org ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleLanguage.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleLanguage.java" include-symbol="SimpleLanguage"} ## Define an Icon @@ -42,7 +42,7 @@ Please see [](work_with_icons_and_images.md) for details on how to define and us ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleIcons.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleIcons.java" include-symbol="SimpleIcons"} ## Define a FileType @@ -50,7 +50,7 @@ The [`SimpleFileType`](%gh-sdk-samples%/simple_language_plugin/src/main/java/org ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleFileType.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleFileType.java" include-symbol="SimpleFileType"} ## Register the FileType diff --git a/topics/tutorials/custom_language_support/lexer_and_parser_definition.md b/topics/tutorials/custom_language_support/lexer_and_parser_definition.md index e5661a1d8..56efeb1fe 100644 --- a/topics/tutorials/custom_language_support/lexer_and_parser_definition.md +++ b/topics/tutorials/custom_language_support/lexer_and_parser_definition.md @@ -51,7 +51,7 @@ Implement [`SimpleLexerAdapter`](%gh-sdk-samples%/simple_language_plugin/src/mai ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleLexerAdapter.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleLexerAdapter.java" include-symbol="SimpleLexerAdapter"} ## Define a Root File @@ -59,7 +59,7 @@ The [`SimpleFile`](%gh-sdk-samples%/simple_language_plugin/src/main/java/org/int ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleFile.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleFile.java" include-symbol="SimpleFile"} ## Define SimpleTokenSets @@ -68,7 +68,7 @@ Define all sets of related token types from `SimpleTypes` in [`SimpleTokenSets`] ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleTokenSets.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleTokenSets.java" include-symbol="SimpleTokenSets"} ## Define a Parser @@ -77,7 +77,7 @@ To avoid unnecessary classloading when initializing the extension point implemen ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleParserDefinition.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleParserDefinition.java" include-symbol="SimpleParserDefinition"} ## Register the Parser Definition diff --git a/topics/tutorials/custom_language_support/line_marker_provider.md b/topics/tutorials/custom_language_support/line_marker_provider.md index 269aaaab5..8b61aeeba 100644 --- a/topics/tutorials/custom_language_support/line_marker_provider.md +++ b/topics/tutorials/custom_language_support/line_marker_provider.md @@ -25,7 +25,7 @@ For this example, override the `collectNavigationMarkers()` method to collect us ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleLineMarkerProvider.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleLineMarkerProvider.java" include-symbol="SimpleLineMarkerProvider"} Extending from [`GutterIconDescriptor`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/daemon/GutterIconDescriptor.java) allows configuring gutter icons to be shown via Settings | Editor | General | Gutter Icons. diff --git a/topics/tutorials/custom_language_support/psi_helper_and_utilities.md b/topics/tutorials/custom_language_support/psi_helper_and_utilities.md index ff605446e..fc6291d7d 100644 --- a/topics/tutorials/custom_language_support/psi_helper_and_utilities.md +++ b/topics/tutorials/custom_language_support/psi_helper_and_utilities.md @@ -87,4 +87,4 @@ This utility will be used later when implementing [code completion](completion_c ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleUtil.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleUtil.java" include-symbol="SimpleUtil"} diff --git a/topics/tutorials/custom_language_support/quick_fix.md b/topics/tutorials/custom_language_support/quick_fix.md index 015e54bbe..0ce70394f 100644 --- a/topics/tutorials/custom_language_support/quick_fix.md +++ b/topics/tutorials/custom_language_support/quick_fix.md @@ -26,7 +26,7 @@ A new overload of `createProperty()` creates a new `key`-`value` pair for Simple ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleElementFactory.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleElementFactory.java" include-symbol="SimpleElementFactory"} ## Define an Intention Action The [`SimpleCreatePropertyQuickFix`](%gh-sdk-samples%/simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCreatePropertyQuickFix.java) creates a property in the file chosen by the user - in this case, a Java file containing a `prefix:key` - and navigate to this property after creation. @@ -35,7 +35,7 @@ For a more in-depth example of an Intention Action, see [`conditional_operator_i ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCreatePropertyQuickFix.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleCreatePropertyQuickFix.java" include-symbol="SimpleCreatePropertyQuickFix"} ## Update the Annotator When a `badProperty` annotation is created, the `badProperty.registerFix()` method in @@ -44,7 +44,7 @@ This method call registers the `SimpleCreatePropertyQuickFix` as the Intention A ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleAnnotator.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleAnnotator.java" include-symbol="SimpleAnnotator"} ## Run the Project Run the project by using the Gradle [`runIde`](creating_plugin_project.md#running-a-plugin-with-the-runide-gradle-task) task. diff --git a/topics/tutorials/custom_language_support/reference_contributor.md b/topics/tutorials/custom_language_support/reference_contributor.md index ceb1290bc..e5bff875d 100644 --- a/topics/tutorials/custom_language_support/reference_contributor.md +++ b/topics/tutorials/custom_language_support/reference_contributor.md @@ -35,13 +35,13 @@ The [`SimpleNamedElement`](%gh-sdk-samples%/simple_language_plugin/src/main/java ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleNamedElement.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/SimpleNamedElement.java" include-symbol="SimpleNamedElement"} The [`SimpleNamedElementImpl`](%gh-sdk-samples%/simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/impl/SimpleNamedElementImpl.java) class implements the `SimpleNamedElement` interface and extends [`ASTWrapperPsiElement`](%gh-ic%/platform/core-impl/src/com/intellij/extapi/psi/ASTWrapperPsiElement.java). ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/impl/SimpleNamedElementImpl.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/psi/impl/SimpleNamedElementImpl.java" include-symbol="SimpleNamedElementImpl"} ## Define Helper Methods for Generated PSI Elements @@ -126,7 +126,7 @@ The latter enables the reference to resolve to more than one element or to resol ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleReference.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleReference.java" include-symbol="SimpleReference"} ## Define a Reference Contributor @@ -136,7 +136,7 @@ Contribute a reference to each usage of a property: ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleReferenceContributor.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleReferenceContributor.java" include-symbol="SimpleReferenceContributor"} ## Register the Reference Contributor @@ -169,7 +169,7 @@ As long as an element is a `SimpleProperty` it is allowed to be refactored: ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleRefactoringSupportProvider.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleRefactoringSupportProvider.java" include-symbol="SimpleRefactoringSupportProvider"} ## Register the Refactoring Support Provider diff --git a/topics/tutorials/custom_language_support/spell_checking_strategy.md b/topics/tutorials/custom_language_support/spell_checking_strategy.md index 41ba9e93a..1b3be6c2f 100644 --- a/topics/tutorials/custom_language_support/spell_checking_strategy.md +++ b/topics/tutorials/custom_language_support/spell_checking_strategy.md @@ -23,7 +23,7 @@ The [`SimpleSpellcheckingStrategy`](%gh-sdk-samples%/simple_language_plugin/src/ ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleSpellcheckingStrategy.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleSpellcheckingStrategy.java" include-symbol="SimpleSpellcheckingStrategy"} ## Register the SimpleSpellcheckingStrategy diff --git a/topics/tutorials/custom_language_support/structure_aware_navbar.md b/topics/tutorials/custom_language_support/structure_aware_navbar.md index 292315eeb..c3ba31813 100644 --- a/topics/tutorials/custom_language_support/structure_aware_navbar.md +++ b/topics/tutorials/custom_language_support/structure_aware_navbar.md @@ -26,7 +26,7 @@ The [`SimpleStructureAwareNavbar`](%gh-sdk-samples%/simple_language_plugin/src/m ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleStructureAwareNavbar.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleStructureAwareNavbar.java" include-symbol="SimpleStructureAwareNavbar"} ## Register the SimpleStructureAwareNavbar diff --git a/topics/tutorials/custom_language_support/structure_view_factory.md b/topics/tutorials/custom_language_support/structure_view_factory.md index d908efb4d..3ed30cd8a 100644 --- a/topics/tutorials/custom_language_support/structure_view_factory.md +++ b/topics/tutorials/custom_language_support/structure_view_factory.md @@ -28,7 +28,7 @@ At this point the project will not compile until `SimpleStructureViewModel` is [ ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleStructureViewFactory.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleStructureViewFactory.java" include-symbol="SimpleStructureViewFactory"} ## Define a Structure View Model @@ -37,7 +37,7 @@ It also extends [`StructureViewModelBase`](%gh-ic%/platform/editor-ui-api/src/co ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleStructureViewModel.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleStructureViewModel.java" include-symbol="SimpleStructureViewModel"} ## Define a Structure View Element @@ -48,7 +48,7 @@ The `SortableTreeElement` represents an item in a smart tree that allows using t ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleStructureViewElement.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleStructureViewElement.java" include-symbol="SimpleStructureViewElement"} ## Register the Structure View Factory diff --git a/topics/tutorials/custom_language_support/syntax_highlighter_and_color_settings_page.md b/topics/tutorials/custom_language_support/syntax_highlighter_and_color_settings_page.md index b67996ca3..99186aced 100644 --- a/topics/tutorials/custom_language_support/syntax_highlighter_and_color_settings_page.md +++ b/topics/tutorials/custom_language_support/syntax_highlighter_and_color_settings_page.md @@ -27,7 +27,7 @@ For the Simple Language, define only one scheme. ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleSyntaxHighlighter.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleSyntaxHighlighter.java" include-symbol="SimpleSyntaxHighlighter"} ### Define a Syntax Highlighter Factory @@ -37,7 +37,7 @@ subclasses [`SyntaxHighlighterFactory`](%gh-ic%/platform/editor-ui-api/src/com/i ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleSyntaxHighlighterFactory.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleSyntaxHighlighterFactory.java" include-symbol="SimpleSyntaxHighlighterFactory"} ### Register the Syntax Highlighter Factory @@ -66,7 +66,7 @@ implements [`ColorSettingsPage`](%gh-ic%/platform/platform-api/src/com/intellij/ ```java ``` -{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleColorSettingsPage.java"} +{src="simple_language_plugin/src/main/java/org/intellij/sdk/language/SimpleColorSettingsPage.java" include-symbol="SimpleColorSettingsPage"} It is supported to group related attributes like operators or braces by separating the nodes with `//`, e.g.: