diff --git a/topics/_shared/snippets.md b/topics/_shared/snippets.md index d75a6c183..1b53c9d3c 100644 --- a/topics/_shared/snippets.md +++ b/topics/_shared/snippets.md @@ -114,7 +114,7 @@ See [](verifying_plugin_compatibility.md) for overview of API status. | ![Internal API][internal] | Internal API | Annotated with [`@ApiStatus.Internal`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java), must not be used by 3rd party, see [](api_internal.md) | | ![Project-Level][project-level] | Project-Level Extension Point/Topic |

Can have [`Project`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/Project.java) as constructor parameter

Extension Point: Declared with `area="IDEA_PROJECT"`

Listener: registered in [``](plugin_configuration_file.md#idea-plugin__projectListeners)

| | ![Non-Dynamic][non-dynamic] | Non-Dynamic Extension Point | Installation/update of plugin requires IDE restart ([](dynamic_plugins.md)) | -| ![DumbAware][dumb-aware] | `DumbAware` Extension Point | Implementations marked with [`DumbAware`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/DumbAware.java) will be processed during [](indexing_and_psi_stubs.md#dumb-mode) | +| ![DumbAware][dumb-aware] | `DumbAware` Extension Point | Implementations marked with [`DumbAware`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/DumbAware.java) will be processed during [dumb mode](indexing_and_psi_stubs.md#dumb-mode) | [deprecated]: https://img.shields.io/badge/-Deprecated-lightgrey?style=flat-square [removal]: https://img.shields.io/badge/-Removal-red?style=flat-square diff --git a/topics/basics/architectural_overview/psi_performance.md b/topics/basics/architectural_overview/psi_performance.md index c20462120..572055579 100644 --- a/topics/basics/architectural_overview/psi_performance.md +++ b/topics/basics/architectural_overview/psi_performance.md @@ -1,4 +1,4 @@ - + # PSI Performance @@ -47,7 +47,7 @@ If the information you cache depends only on a subtree of the current PSI elemen ### Using `ProjectRootManager` as Dependency {id="projectRootManagerDependency"} -Since 2024.1, the platform no longer increments root changes modification tracker on finish of [](indexing_and_psi_stubs.md#dumb-mode). +Since 2024.1, the platform no longer increments root changes modification tracker on finish of [dumb mode](indexing_and_psi_stubs.md#dumb-mode). If cached values use [`ProjectRootManager`](%gh-ic%/platform/projectModel-api/src/com/intellij/openapi/roots/ProjectRootManager.java) as dependency (without [`PsiModificationTracker`](%gh-ic%/platform/core-api/src/com/intellij/psi/util/PsiModificationTracker.java)) and at the same time depend on [indexes](indexing_and_psi_stubs.md), a dependency on diff --git a/topics/basics/basic_action_system.md b/topics/basics/basic_action_system.md index d695cdaca..0f2411e79 100644 --- a/topics/basics/basic_action_system.md +++ b/topics/basics/basic_action_system.md @@ -26,7 +26,7 @@ The [](grouping_action.md) tutorial demonstrates three types of groups that can ## Action Implementation An action is a class derived from the abstract class [`AnAction`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnAction.java). -For actions available during [](indexing_and_psi_stubs.md#dumb-mode), extend [`DumbAwareAction`](%gh-ic%/platform/ide-core/src/com/intellij/openapi/project/DumbAwareAction.java). +For actions available during [dumb mode](indexing_and_psi_stubs.md#dumb-mode), extend [`DumbAwareAction`](%gh-ic%/platform/ide-core/src/com/intellij/openapi/project/DumbAwareAction.java). See also [](#useful-action-base-classes) below. The IntelliJ Platform calls methods of actions when a user interacts with a menu item or toolbar button. diff --git a/topics/basics/execution/run_configurations.md b/topics/basics/execution/run_configurations.md index 8ae17b418..8f033c7c0 100644 --- a/topics/basics/execution/run_configurations.md +++ b/topics/basics/execution/run_configurations.md @@ -1,4 +1,4 @@ - + # Run Configurations @@ -77,7 +77,7 @@ The actual run configurations are created in the `createConfiguration()` method Configuration factory presentation is inherited from the containing configuration type. If customization is needed, override the presentation methods in the factory class. -By default, configurations created by a given factory are not editable in [](indexing_and_psi_stubs.md#dumb-mode). +By default, configurations created by a given factory are not editable in [dumb mode](indexing_and_psi_stubs.md#dumb-mode). To enable editing them in Dumb Mode, return `true` from `isEditableInDumbMode()`. ### RunConfiguration diff --git a/topics/basics/indexing_and_psi_stubs/file_based_indexes.md b/topics/basics/indexing_and_psi_stubs/file_based_indexes.md index 023293143..a3c7b2064 100644 --- a/topics/basics/indexing_and_psi_stubs/file_based_indexes.md +++ b/topics/basics/indexing_and_psi_stubs/file_based_indexes.md @@ -1,4 +1,4 @@ - + # File-Based Indexes @@ -64,7 +64,7 @@ Please see also [Improving indexing performance](indexing_and_psi_stubs.md#impro Access to file-based indexes is performed through the [`FileBasedIndex`](%gh-ic%/platform/indexing-api/src/com/intellij/util/indexing/FileBasedIndex.java) class. -> Please note index access is restricted during [](indexing_and_psi_stubs.md#dumb-mode). +> Please note index access is restricted during [dumb mode](indexing_and_psi_stubs.md#dumb-mode). > {style="note"} diff --git a/topics/basics/plugin_structure/plugin_extension_points.md b/topics/basics/plugin_structure/plugin_extension_points.md index 808ff846c..b6131c14c 100644 --- a/topics/basics/plugin_structure/plugin_extension_points.md +++ b/topics/basics/plugin_structure/plugin_extension_points.md @@ -58,7 +58,7 @@ Must be one of `IDEA_APPLICATION` for Application (default), `IDEA_PROJECT` for The plugin that contributes to the extension point will read those properties from the plugin.xml file. -If extension implementations are filtered according to [](indexing_and_psi_stubs.md#dumb-mode), the base class should be +If extension implementations are filtered according to [dumb mode](indexing_and_psi_stubs.md#dumb-mode), the base class should be marked with [`PossiblyDumbAware`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/PossiblyDumbAware.java) to highlight this. Base classes for extensions requiring a key: diff --git a/topics/reference_guide/custom_language_support/parameter_info.md b/topics/reference_guide/custom_language_support/parameter_info.md index de3a3e82b..180b68397 100644 --- a/topics/reference_guide/custom_language_support/parameter_info.md +++ b/topics/reference_guide/custom_language_support/parameter_info.md @@ -93,7 +93,7 @@ should be implemented when whitespace matters in a language. Note that parameter info works during indexing (using incomplete data) when the implementations also extend [`DumbAware`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/DumbAware.java). -It is recommended to adapt tests for [](indexing_and_psi_stubs.md#dumb-mode) since the results might be surprising, +It is recommended to adapt tests for [dumb mode](indexing_and_psi_stubs.md#dumb-mode) since the results might be surprising, and more changes to the handler might be required for better results. Finally, language authors should be aware of the global diff --git a/topics/reference_guide/custom_language_support/syntax_highlighting_and_error_highlighting.md b/topics/reference_guide/custom_language_support/syntax_highlighting_and_error_highlighting.md index c52c06647..1cd33414f 100644 --- a/topics/reference_guide/custom_language_support/syntax_highlighting_and_error_highlighting.md +++ b/topics/reference_guide/custom_language_support/syntax_highlighting_and_error_highlighting.md @@ -1,4 +1,4 @@ - + # Syntax and Error Highlighting @@ -157,7 +157,7 @@ It uses the same [`AnnotationHolder`](%gh-ic%/platform/analysis-api/src/com/inte To skip running specific `ExternalAnnotator` for given file, register [`ExternalAnnotatorsFilter`](%gh-ic%/platform/analysis-api/src/com/intellij/lang/ExternalAnnotatorsFilter.java) extension in `com.intellij.daemon.externalAnnotatorsFilter` extension point. -To enable running `ExternalAnnotator` during indexing in [](indexing_and_psi_stubs.md#dumb-mode), implement [`DumbAware`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/DumbAware.java) additionally (2023.3). +To enable running `ExternalAnnotator` during indexing in [dumb mode](indexing_and_psi_stubs.md#dumb-mode), implement [`DumbAware`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/DumbAware.java) additionally (2023.3). ## Controlling Highlighting diff --git a/topics/tutorials/custom_language_support/folding_builder.md b/topics/tutorials/custom_language_support/folding_builder.md index 20513ba14..7b182025b 100644 --- a/topics/tutorials/custom_language_support/folding_builder.md +++ b/topics/tutorials/custom_language_support/folding_builder.md @@ -24,7 +24,7 @@ The [`SimpleFoldingBuilder`](%gh-sdk-samples%/simple_language_plugin/src/main/ja Start by subclassing [`FoldingBuilderEx`](%gh-ic%/platform/core-api/src/com/intellij/lang/folding/FoldingBuilderEx.java) Note that `SimpleFoldingBuilder` also implements [`DumbAware`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/DumbAware.java), -which means the class is allowed to run in [](indexing_and_psi_stubs.md#dumb-mode), when indexes are in background update. +which means the class is allowed to run in [dumb mode](indexing_and_psi_stubs.md#dumb-mode), when indexes are in background update. > A folding builder must implement [`DumbAware`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/DumbAware.java) to function in this tutorial and pass tests. >