mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +07:00
[json] IJPL-159355 Moved json formatter and code style settings to shared module & enabled code style settings sync between frontend and backend
GitOrigin-RevId: ee9fe29775579100255429c8503e1f4a83fb564e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
b18d236ef7
commit
c8a120de43
@@ -31,6 +31,8 @@
|
||||
</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."/>
|
||||
@@ -41,13 +43,6 @@
|
||||
order="after CodeStyleStatusBarWidget, before ReadOnlyAttribute"/>
|
||||
<fileBasedIndex implementation="com.jetbrains.jsonSchema.impl.JsonSchemaFileValuesIndex" />
|
||||
|
||||
<!-- 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"/>
|
||||
<enterBetweenBracesDelegate language="JSON" implementationClass="com.intellij.codeInsight.editorActions.enter.EnterBetweenBracesAndBracketsDelegate"/>
|
||||
|
||||
<!-- Codeinsight -->
|
||||
<breadcrumbsInfoProvider implementation="com.intellij.json.breadcrumbs.JsonBreadcrumbsProvider"/>
|
||||
<qualifiedNameProvider implementation="com.intellij.json.navigation.JsonQualifiedNameProvider"/>
|
||||
@@ -110,7 +105,6 @@
|
||||
<psi.referenceContributor language="JSON" implementation="com.jetbrains.jsonSchema.impl.JsonSchemaReferenceContributor"/>
|
||||
<multiHostInjector implementation="com.jetbrains.jsonSchema.impl.JsonSchemaRegexInjector"/>
|
||||
<multiHostInjector implementation="com.jetbrains.jsonSchema.impl.JsonSchemaBasedLanguageInjector"/>
|
||||
<lang.lineWrapStrategy language="JSON" implementationClass="com.intellij.json.formatter.JsonLineWrapPositionStrategy"/>
|
||||
<gotoDeclarationHandler id="JsonSchemaGotoDeclarationHandler" implementation="com.jetbrains.jsonSchema.impl.JsonSchemaGotoDeclarationHandler"/>
|
||||
<highlightVisitor implementation="com.intellij.json.highlighting.JsonRainbowVisitor"/>
|
||||
<intentionAction>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
</extensionPoints>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<!-- Language support -->
|
||||
<inspection.basicVisitor class="com.intellij.json.psi.JsonElementVisitor"/>
|
||||
|
||||
<fileType name="JSON" extensions="har;json;jsonc"
|
||||
@@ -22,30 +23,43 @@
|
||||
<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.smartEnterProcessor language="JSON" implementationClass="com.intellij.json.editor.smartEnter.JsonSmartEnterProcessor"/>
|
||||
<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"/>
|
||||
<applicationService serviceImplementation="com.intellij.json.editor.JsonEditorOptions"/>
|
||||
<enterHandlerDelegate implementation="com.intellij.json.editor.JsonEnterHandler" id="JsonEnterHandler"/>
|
||||
<focusModeProvider language="JSON" implementationClass="com.intellij.json.editor.JsonFocusModeProvider"/>
|
||||
<editorSmartKeysConfigurable instance="com.intellij.json.editor.JsonSmartKeysConfigurable" id="editor.preferences.jsonOptions"/>
|
||||
|
||||
<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>
|
||||
</idea-plugin>
|
||||
@@ -0,0 +1,14 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.json.split
|
||||
|
||||
import com.intellij.json.JsonLanguage
|
||||
import com.intellij.json.formatter.JsonCodeStyleSettings
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsCustomDataSynchronizer
|
||||
|
||||
class JsonCodeStyleSettingsCustomDataSynchronizer : CodeStyleSettingsCustomDataSynchronizer<JsonCodeStyleSettings>() {
|
||||
override val language
|
||||
get() = JsonLanguage.INSTANCE
|
||||
|
||||
override val customCodeStyleSettingsClass
|
||||
get() = JsonCodeStyleSettings::class.java
|
||||
}
|
||||
Reference in New Issue
Block a user