Skip to content

Commit 902a5a5

Browse files
committed
Add an IntelliJ 2026.1 MockEditorFactoryEx compatibility API.
1 parent 1a862ba commit 902a5a5

3 files changed

Lines changed: 84 additions & 2 deletions

File tree

src/intellij-test/build.gradle.kts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ version = ijVersion.buildVersion.toString()
77
sourceSets.main {
88
java.srcDir("main")
99

10-
java.srcDir("compat/242/native")
11-
1210
if (ijVersion.buildVersion >= 243) {
1311
java.srcDir("compat/243/native")
1412
} else {
@@ -27,6 +25,12 @@ sourceSets.main {
2725
java.srcDir("compat/253/compat")
2826
}
2927

28+
if (ijVersion.buildVersion >= 261) {
29+
java.srcDir("compat/261/native")
30+
} else {
31+
java.srcDir("compat/261/compat")
32+
}
33+
3034
if (ijVersion.buildVersion >= 253) {
3135
java.srcDir("compat/233-253/253")
3236
} else if (ijVersion.buildVersion >= 252) {

src/intellij-test/compat/242/native/uk/co/reecedunn/intellij/plugin/core/tests/editor/MockEditorFactoryEx.kt renamed to src/intellij-test/compat/261/compat/uk/co/reecedunn/intellij/plugin/core/tests/editor/MockEditorFactoryEx.kt

File renamed without changes.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
// Copyright (C) 2019-2021, 2025 Reece H. Dunn. SPDX-License-Identifier: Apache-2.0
2+
package uk.co.reecedunn.intellij.plugin.core.tests.editor
3+
4+
import com.intellij.mock.MockEditorEventMulticaster
5+
import com.intellij.openapi.Disposable
6+
import com.intellij.openapi.editor.Document
7+
import com.intellij.openapi.editor.Editor
8+
import com.intellij.openapi.editor.EditorFactory
9+
import com.intellij.openapi.editor.EditorKind
10+
import com.intellij.openapi.editor.event.EditorEventMulticaster
11+
import com.intellij.openapi.editor.event.EditorFactoryListener
12+
import com.intellij.openapi.editor.impl.DocumentImpl
13+
import com.intellij.openapi.fileTypes.FileType
14+
import com.intellij.openapi.project.Project
15+
import com.intellij.openapi.vfs.VirtualFile
16+
import com.intellij.util.text.CharArrayCharSequence
17+
import java.util.stream.Stream
18+
19+
class MockEditorFactoryEx : EditorFactory() {
20+
override fun createDocument(text: CharSequence): Document = DocumentImpl(text)
21+
22+
override fun createDocument(text: CharArray): Document = DocumentImpl(CharArrayCharSequence(text, 0, text.size))
23+
24+
override fun createDocument(p0: Boolean): Document = TODO()
25+
26+
override fun createDocument(p0: CharSequence, p1: Boolean, p2: Boolean): Document = TODO()
27+
28+
override fun createEditor(document: Document): Editor = MockEditor(document)
29+
30+
override fun createViewer(document: Document): Editor? = null
31+
32+
override fun createEditor(document: Document, project: Project?): Editor? = null
33+
34+
override fun createEditor(document: Document, project: Project?, kind: EditorKind): Editor? = null
35+
36+
override fun createEditor(
37+
document: Document, project: Project?, fileType: FileType, isViewer: Boolean
38+
): Editor? = null
39+
40+
override fun createEditor(
41+
document: Document, project: Project?, file: VirtualFile, isViewer: Boolean
42+
): Editor? = null
43+
44+
override fun createEditor(
45+
document: Document, project: Project?, file: VirtualFile, isViewer: Boolean, kind: EditorKind
46+
): Editor? = null
47+
48+
override fun createViewer(document: Document, project: Project?): Editor? = null
49+
50+
override fun createViewer(document: Document, project: Project?, kind: EditorKind): Editor? = null
51+
52+
override fun releaseEditor(editor: Editor) {
53+
}
54+
55+
override fun editors(document: Document, project: Project?): Stream<Editor> = Stream.empty()
56+
57+
override fun getAllEditors(): Array<Editor> = arrayOf()
58+
59+
override fun getEditorList(): List<Editor> = listOf()
60+
61+
@Deprecated("Deprecated in Java")
62+
@Suppress("removal")
63+
override fun addEditorFactoryListener(listener: EditorFactoryListener) {
64+
}
65+
66+
override fun addEditorFactoryListener(listener: EditorFactoryListener, parentDisposable: Disposable) {
67+
}
68+
69+
@Deprecated("Deprecated in Java")
70+
@Suppress("removal")
71+
override fun removeEditorFactoryListener(listener: EditorFactoryListener) {
72+
}
73+
74+
override fun getEventMulticaster(): EditorEventMulticaster = MockEditorEventMulticaster()
75+
76+
override fun refreshAllEditors() {
77+
}
78+
}

0 commit comments

Comments
 (0)