mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 03:21:12 +07:00
242 lines
18 KiB
XML
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> |