IJPL-196854 [editorconfig, remdev] move typing assist to common module

Since FrontendOnly is now not used for these actions, the backend must agree to confirm frontend results.


(cherry picked from commit 849056a994ec945a4d934daf44da52442104ac71)

IJ-CR-218117

GitOrigin-RevId: fc525c8ae990678939226dc82aab2b444a90850d
This commit is contained in:
Vojtech Balik
2026-08-12 12:16:14 +00:00
committed by intellij-monorepo-bot
parent b04d18a4b6
commit cd24022443
14 changed files with 39 additions and 23 deletions
+10
View File
@@ -22,6 +22,7 @@ jvm_library(
visibility = ["//visibility:public"],
deps = [
# do not sort,
"//platform/util-ex",
"@lib//:kotlin-stdlib",
"//platform/analysis-api:analysis",
"//platform/core-api:core",
@@ -32,6 +33,10 @@ jvm_library(
"//platform/editor-ui-api:editor-ui",
"//platform/code-style-api:codeStyle",
"//platform/code-style-impl:codeStyle-impl",
"//platform/lang-api:lang",
"//platform/platform-impl:ide-impl",
"//platform/lang-impl",
"//platform/core-ui",
],
)
@@ -47,6 +52,7 @@ jvm_library(
runtime_deps = [
# do not sort,
":common",
"//platform/util-ex:util-ex_test_lib",
"//platform/analysis-api:analysis_test_lib",
"//platform/core-api:core_test_lib",
"//platform/util:util_test_lib",
@@ -56,6 +62,10 @@ jvm_library(
"//platform/editor-ui-api:editor-ui_test_lib",
"//platform/code-style-api:codeStyle_test_lib",
"//platform/code-style-impl:codeStyle-impl_test_lib",
"//platform/lang-api:lang_test_lib",
"//platform/platform-impl:ide-impl_test_lib",
"//platform/lang-impl:lang-impl_test_lib",
"//platform/core-ui:core-ui_test_lib",
],
)
### auto-generated section `build intellij.editorconfig.common` end
@@ -8,6 +8,7 @@
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="com.intellij.editorconfig.common" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="module" module-name="intellij.platform.util.ex" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="kotlin-stdlib" level="project" />
<orderEntry type="module" module-name="intellij.platform.analysis" />
@@ -19,5 +20,9 @@
<orderEntry type="module" module-name="intellij.platform.editor.ui" />
<orderEntry type="module" module-name="intellij.platform.codeStyle" />
<orderEntry type="module" module-name="intellij.platform.codeStyle.impl" />
<orderEntry type="module" module-name="intellij.platform.lang" />
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
<orderEntry type="module" module-name="intellij.platform.lang.impl" />
<orderEntry type="module" module-name="intellij.platform.core.ui" />
</component>
</module>
@@ -12,5 +12,13 @@
<lang.formatter language="EditorConfig"
implementationClass="com.intellij.editorconfig.common.formatting.EditorConfigFormattingModelBuilder"/>
<lang.commenter language="EditorConfig" implementationClass="com.intellij.editorconfig.common.lang.EditorConfigCommenter"/>
<lang.syntaxHighlighterFactory language="EditorConfig"
implementationClass="com.intellij.editorconfig.common.highlighting.EditorConfigSyntaxHighlighterFactory"/>
<statementUpDownMover implementation="com.intellij.editorconfig.common.editor.EditorConfigStatementUpDownMover"/>
<moveLeftRightHandler language="EditorConfig"
implementationClass="com.intellij.editorconfig.common.editor.EditorConfigMoveElementLeftRightHandler"/>
<enterHandlerDelegate implementation="com.intellij.editorconfig.common.editor.EnterInEditorConfigFileHandler"/>
<typedHandler implementation="com.intellij.editorconfig.common.editor.EditorConfigTypedHandlerDelegate"/>
</extensions>
</idea-plugin>
@@ -1,5 +1,5 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.editorconfig.frontend.editor
package com.intellij.editorconfig.common.editor
import com.intellij.codeInsight.editorActions.moveLeftRight.MoveElementLeftRightHandler
import com.intellij.editorconfig.common.syntax.psi.EditorConfigEnumerationPattern
@@ -1,5 +1,5 @@
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.editorconfig.frontend.editor
package com.intellij.editorconfig.common.editor
import com.intellij.codeInsight.editorActions.moveUpDown.LineMover
import com.intellij.codeInsight.editorActions.moveUpDown.LineRange
@@ -1,5 +1,5 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.editorconfig.frontend.editor
package com.intellij.editorconfig.common.editor
import com.intellij.codeInsight.AutoPopupController
import com.intellij.codeInsight.editorActions.TypedHandlerDelegate
@@ -1,5 +1,5 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.editorconfig.frontend.editor
package com.intellij.editorconfig.common.editor
import com.intellij.codeInsight.editorActions.enter.EnterHandlerDelegate
import com.intellij.codeInsight.editorActions.enter.EnterHandlerDelegate.Result
@@ -1,5 +1,5 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.editorconfig.frontend.highlighting
package com.intellij.editorconfig.common.highlighting
import com.intellij.editorconfig.common.plugin.EditorConfigLexerFactory
import com.intellij.editorconfig.common.syntax.psi.EditorConfigElementTypes
@@ -12,7 +12,7 @@ import com.intellij.openapi.fileTypes.SyntaxHighlighterBase
import com.intellij.psi.TokenType
import com.intellij.psi.tree.IElementType
internal object EditorConfigSyntaxHighlighter : SyntaxHighlighterBase() {
object EditorConfigSyntaxHighlighter : SyntaxHighlighterBase() {
val SEPARATOR: TextAttributesKey = createTextAttributesKey("EDITORCONFIG_SEPARATOR", DefaultLanguageHighlighterColors.OPERATION_SIGN)
val BRACE: TextAttributesKey = createTextAttributesKey("EDITORCONFIG_BRACE", DefaultLanguageHighlighterColors.BRACES)
@@ -1,5 +1,5 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.editorconfig.frontend.highlighting
package com.intellij.editorconfig.common.highlighting
import com.intellij.openapi.fileTypes.SyntaxHighlighter
import com.intellij.openapi.fileTypes.SyntaxHighlighterFactory
+2 -4
View File
@@ -27,12 +27,11 @@ jvm_library(
"//platform/lang-api:lang",
"//plugins/editorconfig/common",
"//platform/util:util-ui",
"//platform/util-ex",
"//platform/analysis-impl",
"//platform/platform-impl:ide-impl",
"//platform/lang-impl",
"//platform/core-ui",
"//platform/platform-frontend:frontend",
"//platform/platform-api:ide",
],
)
@@ -55,12 +54,11 @@ jvm_library(
"//platform/lang-api:lang_test_lib",
"//plugins/editorconfig/common:common_test_lib",
"//platform/util:util-ui_test_lib",
"//platform/util-ex:util-ex_test_lib",
"//platform/analysis-impl:analysis-impl_test_lib",
"//platform/platform-impl:ide-impl_test_lib",
"//platform/lang-impl:lang-impl_test_lib",
"//platform/core-ui:core-ui_test_lib",
"//platform/platform-frontend:frontend_test_lib",
"//platform/platform-api:ide_test_lib",
],
)
### auto-generated section `build intellij.editorconfig.frontend` end
@@ -15,11 +15,10 @@
<orderEntry type="module" module-name="intellij.platform.lang" />
<orderEntry type="module" module-name="intellij.editorconfig.common" />
<orderEntry type="module" module-name="intellij.platform.util.ui" />
<orderEntry type="module" module-name="intellij.platform.util.ex" />
<orderEntry type="module" module-name="intellij.platform.analysis.impl" />
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
<orderEntry type="module" module-name="intellij.platform.lang.impl" />
<orderEntry type="module" module-name="intellij.platform.core.ui" />
<orderEntry type="module" module-name="intellij.platform.frontend" />
<orderEntry type="module" module-name="intellij.platform.ide" />
</component>
</module>
@@ -4,16 +4,9 @@
<module name="intellij.editorconfig.common"/>
</dependencies>
<extensions defaultExtensionNs="com.intellij">
<lang.syntaxHighlighterFactory language="EditorConfig"
implementationClass="com.intellij.editorconfig.frontend.highlighting.EditorConfigSyntaxHighlighterFactory"/>
<annotator language="EditorConfig" implementationClass="com.intellij.editorconfig.frontend.highlighting.EditorConfigAnnotator"/>
<colorSettingsPage implementation="com.intellij.editorconfig.frontend.settings.EditorConfigColorSettingsPage"/>
<lang.foldingBuilder language="EditorConfig"
implementationClass="com.intellij.editorconfig.frontend.lang.editor.EditorConfigFoldingBuilder"/>
<statementUpDownMover implementation="com.intellij.editorconfig.frontend.editor.EditorConfigStatementUpDownMover"/>
<moveLeftRightHandler language="EditorConfig"
implementationClass="com.intellij.editorconfig.frontend.editor.EditorConfigMoveElementLeftRightHandler"/>
<enterHandlerDelegate implementation="com.intellij.editorconfig.frontend.editor.EnterInEditorConfigFileHandler"/>
<typedHandler implementation="com.intellij.editorconfig.frontend.editor.EditorConfigTypedHandlerDelegate"/>
</extensions>
</idea-plugin>
@@ -2,6 +2,7 @@
package com.intellij.editorconfig.frontend.highlighting
import com.intellij.editorconfig.common.EditorConfigBundle
import com.intellij.editorconfig.common.highlighting.EditorConfigSyntaxHighlighter
import com.intellij.editorconfig.common.syntax.psi.EditorConfigAsteriskPattern
import com.intellij.editorconfig.common.syntax.psi.EditorConfigCharClassExclamation
import com.intellij.editorconfig.common.syntax.psi.EditorConfigCharClassLetter
@@ -139,8 +140,10 @@ internal class EditorConfigAnnotatorVisitor(private val holder: AnnotationHolder
override fun visitCharClassLetter(letter: EditorConfigCharClassLetter): Unit = when {
!letter.isEscape -> holder.newSilentAnnotation(HighlightSeverity.INFORMATION).range(letter).textAttributes(EditorConfigSyntaxHighlighter.PATTERN).create()
letter.isValidEscape -> holder.newSilentAnnotation(HighlightSeverity.INFORMATION).range(letter).textAttributes(EditorConfigSyntaxHighlighter.VALID_CHAR_ESCAPE).create()
else -> holder.newAnnotation(HighlightSeverity.INFORMATION, EditorConfigBundle["annotator.error.illegal.char.escape"]).range(letter).textAttributes(EditorConfigSyntaxHighlighter.INVALID_CHAR_ESCAPE).create()
letter.isValidEscape -> holder.newSilentAnnotation(HighlightSeverity.INFORMATION).range(letter).textAttributes(
EditorConfigSyntaxHighlighter.VALID_CHAR_ESCAPE).create()
else -> holder.newAnnotation(HighlightSeverity.INFORMATION, EditorConfigBundle["annotator.error.illegal.char.escape"]).range(letter).textAttributes(
EditorConfigSyntaxHighlighter.INVALID_CHAR_ESCAPE).create()
}
override fun visitRootDeclarationKey(key: EditorConfigRootDeclarationKey) {
@@ -3,7 +3,7 @@ package com.intellij.editorconfig.frontend.settings
import com.intellij.editorconfig.common.EditorConfigBundle.get
import com.intellij.editorconfig.common.plugin.EditorConfigFileType
import com.intellij.editorconfig.frontend.highlighting.EditorConfigSyntaxHighlighter
import com.intellij.editorconfig.common.highlighting.EditorConfigSyntaxHighlighter
import com.intellij.icons.AllIcons
import com.intellij.openapi.editor.colors.TextAttributesKey
import com.intellij.openapi.fileTypes.SyntaxHighlighter