Skip to content

Commit f43b302

Browse files
committed
feat(pipeline): Prepare verification phase
1 parent 7dd6724 commit f43b302

File tree

4 files changed

+30
-10
lines changed

4 files changed

+30
-10
lines changed

build.gradle.kts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
22
import org.jetbrains.intellij.platform.gradle.TestFrameworkType
3+
import org.jetbrains.intellij.platform.gradle.IntelliJPlatformType
34

45
fun properties(key: String) = providers.gradleProperty(key)
56

67
plugins {
78
id("java")
8-
id("org.jetbrains.kotlin.jvm") version "2.2.0"
9+
id("org.jetbrains.kotlin.jvm") version "2.1.0"
910
id("org.jetbrains.intellij.platform") version "2.5.0"
1011
}
1112

@@ -33,6 +34,16 @@ dependencies {
3334
testImplementation(kotlin("test"))
3435
}
3536

37+
intellijPlatform {
38+
pluginVerification {
39+
ides {
40+
ide(IntelliJPlatformType.IntellijIdeaCommunity, "2024.3.7")
41+
ide(IntelliJPlatformType.IntellijIdeaUltimate, "2024.3.7")
42+
ide(IntelliJPlatformType.IntellijIdeaUltimate, "2025.3.1")
43+
}
44+
}
45+
}
46+
3647
tasks {
3748
// Set the JVM compatibility versions
3849
withType<JavaCompile> {
@@ -42,6 +53,8 @@ tasks {
4253
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
4354
compilerOptions {
4455
jvmTarget.set(JvmTarget.fromTarget(properties("javaVersion").get()))
56+
// Deactivate K2 to avoid SpillingKt problems during the verification phase
57+
freeCompilerArgs.add("-Xuse-k2=false")
4558
}
4659
}
4760

src/main/kotlin/dev/zbinski/htmlattributefolder/AttributeFolderAction.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,19 @@ class AttributeFolderAction : AnAction() {
1111

1212
private fun getFoldRegionsForRelevantAttributes(foldRegions: Array<FoldRegion>): List<FoldRegion> {
1313
val relevantAttributes = settings.attributes
14+
val result = mutableListOf<FoldRegion>()
1415

1516
// Identifying a fold based on its "groupName"/"debugName" is possible because all folds relevant
1617
// to us have a self-defined `FoldingGroup` including the "groupname"/"debugName".
1718
// (see ->AttributeFolder.buildFoldRegions:37)
18-
return foldRegions.filter {
19-
val group = it.group
19+
for (region in foldRegions) {
20+
val group = region.group
2021
// The `group.toString()` returns the "groupName"/"debugName"
21-
group != null && relevantAttributes.contains(group.toString())
22+
if (group != null && relevantAttributes.contains(group.toString())) {
23+
result.add(region)
24+
}
2225
}
23-
26+
return result
2427
}
2528

2629
private fun performFoldOperation(fold: FoldRegion) {

src/main/resources/META-INF/plugin.xml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<depends>com.intellij.modules.platform</depends>
3030
<depends>com.intellij.modules.lang</depends>
3131
<depends>com.intellij.modules.xml</depends>
32-
<depends optional="true">com.intellij.modules.javascript</depends>
32+
<depends optional="true" config-file="withJavaScript.xml">com.intellij.modules.javascript</depends>
3333

3434
<!-- Extension points defined by the plugin.
3535
Read more: https://plugins.jetbrains.com/docs/intellij/plugin-extension-points.html -->
@@ -40,10 +40,6 @@
4040
<lang.foldingBuilder language="XML" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
4141
<lang.foldingBuilder language="HTML" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
4242
<lang.foldingBuilder language="XHTML" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
43-
<lang.foldingBuilder language="TypeScript" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
44-
<lang.foldingBuilder language="TypeScript JSX" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
45-
<lang.foldingBuilder language="JavaScript" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
46-
<lang.foldingBuilder language="JavaScript JSX" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
4743
<lang.foldingBuilder language="RHTML" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
4844

4945
<projectConfigurable parentId="tools"
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<idea-plugin>
2+
<extensions defaultExtensionNs="com.intellij">
3+
<lang.foldingBuilder language="TypeScript" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
4+
<lang.foldingBuilder language="TypeScript JSX" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
5+
<lang.foldingBuilder language="JavaScript" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
6+
<lang.foldingBuilder language="JavaScript JSX" implementationClass="dev.zbinski.htmlattributefolder.AttributeFolder"/>
7+
</extensions>
8+
</idea-plugin>

0 commit comments

Comments
 (0)