Files
openide/json/resources/META-INF/plugin.xml
Nikita Katkov a30592e62a [json] Specify platform module dependency in plugin.xml
GitOrigin-RevId: 47d488bc34e2467e98cf4db7021e9e6c7c258f67
2024-09-16 00:21:06 +00:00

242 lines
18 KiB
XML

<idea-plugin>
<!-- No package, there are two top level packages available :( -->
<name>JSON</name>
<!-- The plugin id is intentionally kept equal to its main module id
because historically the module was bundled into the platform,
and dependent plugins used only module dependency -->
<id>com.intellij.modules.json</id>
<vendor>JetBrains</vendor>
<category>Languages</category>
<description><![CDATA[
Provides syntax highlighting and editor features for
<a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON">JSON</a> and
<a href="https://json-schema.org/overview/what-is-jsonschema">JSON Schema</a> languages
]]></description>
<dependencies>
<plugin id="com.intellij.modules.lang"/>
</dependencies>
<!-- Copied from the json.split plugin descriptor, unable to run from sources otherwise -->
<extensionPoints>
<extensionPoint qualifiedName="com.intellij.json.jsonLiteralChecker"
interface="com.intellij.json.codeinsight.JsonLiteralChecker"
dynamic="true"/>
</extensionPoints>
<extensions defaultExtensionNs="com.intellij">
<!-- Language support -->
<inspection.basicVisitor class="com.intellij.json.psi.JsonElementVisitor"/>
<fileType name="JSON" extensions="har;json;jsonc"
implementationClass="com.intellij.json.JsonFileType" fieldName="INSTANCE"
language="JSON"/>
<fileType name="JSON5" extensions="json5"
implementationClass="com.intellij.json.json5.Json5FileType" fieldName="INSTANCE"
language="JSON5"/>
<fileType name="JSON-lines" extensions="jsonl;jsonlines;ldjson;ndjson"
implementationClass="com.intellij.json.jsonLines.JsonLinesFileType" fieldName="INSTANCE"
language="JSON Lines"/>
<lang.parserDefinition language="JSON" implementationClass="com.intellij.json.JsonParserDefinition"/>
<lang.parserDefinition language="JSON5" implementationClass="com.intellij.json.json5.Json5ParserDefinition"/>
<lang.parserDefinition language="JSON Lines" implementationClass="com.intellij.json.jsonLines.JsonLinesParserDefinition"/>
<!-- Highlighting -->
<colorSettingsPage implementation="com.intellij.json.highlighting.JsonColorsPage"/>
<lang.syntaxHighlighterFactory language="JSON" implementationClass="com.intellij.json.highlighting.JsonSyntaxHighlighterFactory"/>
<lang.syntaxHighlighterFactory language="JSON5"
implementationClass="com.intellij.json.json5.highlighting.Json5SyntaxHighlightingFactory"/>
<json.jsonLiteralChecker implementation="com.intellij.json.codeinsight.StandardJsonLiteralChecker"/>
<json.jsonLiteralChecker implementation="com.intellij.json.json5.codeinsight.Json5JsonLiteralChecker"/>
<annotator language="JSON" implementationClass="com.intellij.json.codeinsight.JsonLiteralAnnotator"/>
<lang.elementManipulator forClass="com.intellij.json.psi.JsonStringLiteral"
implementationClass="com.intellij.json.psi.JsonStringLiteralManipulator"/>
<lang.foldingBuilder language="JSON" implementationClass="com.intellij.json.editor.folding.JsonFoldingBuilder"/>
<!-- Typing -->
<applicationService serviceImplementation="com.intellij.json.editor.JsonEditorOptions"/>
<editorSmartKeysConfigurable instance="com.intellij.json.editor.JsonSmartKeysConfigurable" id="editor.preferences.jsonOptions"/>
<statementUpDownMover implementation="com.intellij.json.editor.lineMover.JsonLineMover" id="JSON" order="before line"/>
<extendWordSelectionHandler implementation="com.intellij.json.editor.selection.JsonStringLiteralSelectionHandler"/>
<lang.braceMatcher language="JSON" implementationClass="com.intellij.json.JsonBraceMatcher"/>
<lang.commenter language="JSON" implementationClass="com.intellij.json.editor.JsonCommenter"/>
<copyPastePostProcessor implementation="com.intellij.json.editor.JsonCopyPastePostProcessor"/>
<copyPastePreProcessor implementation="com.intellij.json.editor.JsonCopyPasteProcessor"/>
<typedHandler implementation="com.intellij.json.editor.JsonTypedHandler" id="JsonTypedHandler"/>
<enterHandlerDelegate implementation="com.intellij.json.editor.JsonEnterHandler" id="JsonEnterHandler"/>
<lang.smartEnterProcessor language="JSON" implementationClass="com.intellij.json.editor.smartEnter.JsonSmartEnterProcessor"/>
<enterBetweenBracesDelegate language="JSON"
implementationClass="com.intellij.codeInsight.editorActions.enter.EnterBetweenBracesAndBracketsDelegate"/>
<quoteHandler fileType="JSON" className="com.intellij.json.JsonQuoteHandler"/>
<quoteHandler fileType="JSON5" className="com.intellij.json.JsonQuoteHandler"/>
<!-- Code style and formatting -->
<codeStyleSettingsProvider implementation="com.intellij.json.formatter.JsonCodeStyleSettingsProvider"/>
<langCodeStyleSettingsProvider implementation="com.intellij.json.formatter.JsonLanguageCodeStyleSettingsProvider"/>
<lang.formatter language="JSON" implementationClass="com.intellij.json.formatter.JsonFormattingBuilderModel"/>
<preFormatProcessor implementation="com.intellij.json.formatter.JsonTrailingCommaRemover"/>
<lang.lineWrapStrategy language="JSON" implementationClass="com.intellij.json.formatter.JsonLineWrapPositionStrategy"/>
<!-- Various editor features -->
<focusModeProvider language="JSON" implementationClass="com.intellij.json.editor.JsonFocusModeProvider"/>
</extensions>
<!-- The end of copied section -->
<actions resource-bundle="messages.JsonBundle">
<action id="JsonCopyPointer" class="com.intellij.json.editor.JsonCopyPointerAction">
<add-to-group group-id="CutCopyPasteGroup" anchor="after" relative-to-action="CopyReference"/>
<add-to-group group-id="EditorTabPopupMenu" anchor="after" relative-to-action="CopyReference"/>
<add-to-group group-id="EditorPopupMenu" anchor="after" relative-to-action="Copy.Paste.Special"/>
</action>
<action id="ConsoleView.ShowAsJsonAction" class="com.intellij.json.actions.ShowAsJsonAction">
<add-to-group group-id="ConsoleEditorPopupMenu" anchor="after" relative-to-action="ConsoleView.FoldLinesLikeThis"/>
</action>
<action id="JsonJacksonReformatAction" class="com.intellij.json.actions.JsonJacksonReformatAction">
<add-to-group group-id="ProjectViewPopupMenuModifyGroup" anchor="after" relative-to-action="ReformatCode"/>
<add-to-group group-id="CodeFormatGroup" anchor="after" relative-to-action="ReformatCode"/>
</action>
</actions>
<extensions defaultExtensionNs="com.intellij">
<virtualFileCustomDataProvider implementation="com.intellij.json.split.JsonCodeStyleSettingsCustomDataSynchronizer"/>
<registryKey key="json.schema.object.v2" defaultValue="true" description="Use lightweight implementation of JsonSchemaObject"/>
<registryKey key="remote.schema.cache.validity.duration" defaultValue="1"
description="The time period (in minutes) a file is being kept in cache for. Applicable to references that contain remote URLs."/>
<fileIconProvider implementation="com.jetbrains.jsonSchema.JsonSchemaIconProvider"/>
<outerLanguageRangePatcher language="JSON" implementationClass="com.intellij.psi.templateLanguages.DefaultOuterLanguagePatcher"/>
<statusBarWidgetFactory id="JSONSchemaSelector" implementation="com.jetbrains.jsonSchema.widget.JsonSchemaStatusWidgetFactory"
order="after CodeStyleStatusBarWidget, before ReadOnlyAttribute"/>
<fileBasedIndex implementation="com.jetbrains.jsonSchema.impl.JsonSchemaFileValuesIndex" />
<!-- Codeinsight -->
<breadcrumbsInfoProvider implementation="com.intellij.json.breadcrumbs.JsonBreadcrumbsProvider"/>
<qualifiedNameProvider implementation="com.intellij.json.navigation.JsonQualifiedNameProvider"/>
<completion.contributor language="JSON" id="JsonCompletionContributor" order="last" implementationClass="com.intellij.json.codeinsight.JsonCompletionContributor"/>
<lang.psiStructureViewFactory language="JSON" implementationClass="com.intellij.json.structureView.JsonStructureViewBuilderFactory"/>
<lang.namesValidator language="JSON" implementationClass="com.intellij.json.JsonNamesValidator"/>
<lang.surroundDescriptor language="JSON" implementationClass="com.intellij.json.surroundWith.JsonSurroundDescriptor"/>
<lang.findUsagesProvider language="JSON" implementationClass="com.intellij.json.findUsages.JsonFindUsagesProvider"/>
<liveTemplateContext contextId="JSON" implementation="com.intellij.json.liveTemplates.JsonContextType"/>
<liveTemplateContext contextId="JSON_STRING_VALUES" baseContextId="JSON" implementation="com.intellij.json.liveTemplates.JsonInLiteralsContextType"/>
<liveTemplateContext contextId="JSON_PROPERTY_KEYS" baseContextId="JSON" implementation="com.intellij.json.liveTemplates.JsonInPropertyKeysContextType"/>
<spellchecker.support language="JSON" implementationClass="com.intellij.json.JsonSpellcheckerStrategy"/>
<!-- Inspections -->
<localInspection language="JSON" shortName="JsonStandardCompliance"
bundle="messages.JsonBundle" key="inspection.compliance.name" groupKey="json.inspection.group"
enabledByDefault="true" level="ERROR"
implementationClass="com.intellij.json.codeinsight.JsonStandardComplianceInspection"/>
<localInspection language="JSON5" shortName="Json5StandardCompliance"
bundle="messages.JsonBundle" key="inspection.compliance5.name" groupKey="json.inspection.group"
enabledByDefault="true" level="ERROR"
implementationClass="com.intellij.json.json5.codeinsight.Json5StandardComplianceInspection"/>
<localInspection language="JSON" shortName="JsonDuplicatePropertyKeys"
bundle="messages.JsonBundle" key="inspection.duplicate.keys.name" groupKey="json.inspection.group"
enabledByDefault="true" level="WARNING"
implementationClass="com.intellij.json.codeinsight.JsonDuplicatePropertyKeysInspection"/>
<localInspection language="JSON" shortName="JsonSchemaCompliance"
bundle="messages.JsonBundle" key="json.schema.inspection.compliance.name" groupKey="json.inspection.group"
enabledByDefault="true" level="WARNING"
implementationClass="com.jetbrains.jsonSchema.impl.inspections.JsonSchemaComplianceInspection"/>
<localInspection language="JSON" shortName="JsonSchemaDeprecation"
bundle="messages.JsonBundle" key="json.schema.inspection.deprecation.name" groupKey="json.inspection.group"
enabledByDefault="true" level="WEAK WARNING"
implementationClass="com.jetbrains.jsonSchema.impl.inspections.JsonSchemaDeprecationInspection"/>
<localInspection language="JSON" shortName="JsonSchemaRefReference"
bundle="messages.JsonBundle" key="json.schema.ref.refs.inspection.name" groupKey="json.inspection.group"
enabledByDefault="true" level="WARNING"
implementationClass="com.jetbrains.jsonSchema.impl.inspections.JsonSchemaRefReferenceInspection" />
<projectService serviceImplementation="com.jetbrains.jsonSchema.JsonSchemaMappingsProjectConfiguration"/>
<projectConfigurable groupId="preferences.externalResources" id="settings.json.schema"
bundle="messages.JsonBundle"
key="configurable.JsonSchemaMappingsConfigurable.display.name"
instance="com.jetbrains.jsonSchema.settings.mappings.JsonSchemaMappingsConfigurable" nonDefaultProject="true"/>
<projectConfigurable groupId="preferences.externalResources" id="settings.json.schema.catalog"
bundle="messages.JsonBundle"
key="configurable.JsonSchemaCatalogConfigurable.display.name"
instance="com.jetbrains.jsonSchema.JsonSchemaCatalogConfigurable" nonDefaultProject="true"/>
<projectService serviceInterface="com.jetbrains.jsonSchema.ide.JsonSchemaService"
serviceImplementation="com.jetbrains.jsonSchema.impl.JsonSchemaServiceImpl"/>
<completion.contributor order="last, before JsonCompletionContributor" language="JSON"
implementationClass="com.jetbrains.jsonSchema.impl.JsonSchemaCompletionContributor"/>
<lang.documentationProvider language="JSON"
id="JsonSchemaDocumentationProvider"
implementationClass="com.jetbrains.jsonSchema.impl.JsonSchemaDocumentationProvider"/>
<refactoring.elementListenerProvider implementation="com.jetbrains.jsonSchema.JsonSchemaRefactoringListenerProvider"/>
<statistics.counterUsagesCollector implementationClass="com.jetbrains.jsonSchema.impl.JsonSchemaUsageTriggerCollector"/>
<psi.referenceContributor language="JSON" implementation="com.jetbrains.jsonSchema.impl.JsonSchemaReferenceContributor"/>
<multiHostInjector implementation="com.jetbrains.jsonSchema.impl.JsonSchemaRegexInjector"/>
<multiHostInjector implementation="com.jetbrains.jsonSchema.impl.JsonSchemaBasedLanguageInjector"/>
<gotoDeclarationHandler id="JsonSchemaGotoDeclarationHandler" implementation="com.jetbrains.jsonSchema.impl.JsonSchemaGotoDeclarationHandler"/>
<highlightVisitor implementation="com.intellij.json.highlighting.JsonRainbowVisitor"/>
<intentionAction>
<language>JSON</language>
<className>com.intellij.json.intentions.JsonSortPropertiesIntention</className>
<bundleName>messages.JsonBundle</bundleName>
<categoryKey>json.intention.category.name</categoryKey>
</intentionAction>
<intentionAction>
<language>JSON</language>
<className>com.jetbrains.jsonSchema.impl.fixes.AddOptionalPropertiesIntention</className>
<bundleName>messages.JsonBundle</bundleName>
<categoryKey>json.intention.category.name</categoryKey>
</intentionAction>
<notificationGroup id="JSON Schema" displayType="NONE" bundle="messages.JsonBundle" key="notification.group.json.schema"/>
<psi.referenceContributor language="JSON" implementation="com.intellij.json.JsonWebReferenceContributor"/>
<json.jsonStandardComplianceProvider implementation="com.intellij.json.jsonc.JsoncComplianceProvider"/>
<pluginSuggestionProvider implementation="com.jetbrains.jsonSchema.wiremock.WireMockSuggestionProvider"/>
</extensions>
<extensions defaultExtensionNs="JavaScript">
<JsonSchema.ProviderFactory implementation="com.jetbrains.jsonSchema.extension.JsonSchemaUserDefinedProviderFactory"/>
<JsonSchema.ProviderFactory implementation="com.jetbrains.jsonSchema.extension.JsonSchemaProjectSelfProviderFactory"/>
</extensions>
<extensions defaultExtensionNs="com.intellij.json">
<jsonLikePsiWalkerFactory implementation="com.intellij.json.json5.Json5PsiWalkerFactory"/>
<jsonSchemaEnabler implementation="com.jetbrains.jsonSchema.impl.JsonSchemaInJsonFilesEnabler" />
</extensions>
<extensionPoints>
<extensionPoint qualifiedName="com.intellij.json.jsonStandardComplianceProvider"
interface="com.intellij.json.codeinsight.JsonStandardComplianceProvider" dynamic="true"/>
<!--suppress PluginXmlValidity -->
<extensionPoint qualifiedName="JavaScript.JsonSchema.ProviderFactory"
interface="com.jetbrains.jsonSchema.extension.JsonSchemaProviderFactory" dynamic="true"/>
<!--suppress PluginXmlValidity -->
<extensionPoint qualifiedName="JavaScript.JsonSchema.ContentAwareSchemaFileProvider"
interface="com.jetbrains.jsonSchema.extension.ContentAwareJsonSchemaFileProvider" dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.json.jsonSchemaGotoDeclarationSuppressor" dynamic="true"
interface="com.jetbrains.jsonSchema.extension.JsonSchemaGotoDeclarationSuppressor"/>
<extensionPoint qualifiedName="com.intellij.json.jsonLikePsiWalkerFactory"
interface="com.jetbrains.jsonSchema.extension.JsonLikePsiWalkerFactory" dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.json.jsonSchemaNestedCompletionsTreeProvider"
interface="com.jetbrains.jsonSchema.extension.JsonSchemaNestedCompletionsTreeProvider" dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.json.jsonSchemaEnabler" interface="com.jetbrains.jsonSchema.extension.JsonSchemaEnabler"
dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.json.jsonSchemaCompletionCustomizer" interface="com.jetbrains.jsonSchema.extension.JsonSchemaCompletionCustomizer"
dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.json.jsonWidgetSuppressor"
interface="com.jetbrains.jsonSchema.extension.JsonWidgetSuppressor" dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.json.jsonSchemaQuickFixSuppressor"
interface="com.jetbrains.jsonSchema.extension.JsonSchemaQuickFixSuppressor" dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.json.catalog.exclusion"
interface="com.jetbrains.jsonSchema.remote.JsonSchemaCatalogExclusion" dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.json.customStructureViewFactory"
interface="com.intellij.json.structureView.JsonCustomStructureViewFactory" dynamic="true"/>
<extensionPoint qualifiedName="com.intellij.json.shorthandValueHandler"
interface="com.jetbrains.jsonSchema.extension.JsonSchemaShorthandValueHandler" dynamic="true"/>
</extensionPoints>
</idea-plugin>