File tree Expand file tree Collapse file tree 4 files changed +30
-10
lines changed
kotlin/dev/zbinski/htmlattributefolder Expand file tree Collapse file tree 4 files changed +30
-10
lines changed Original file line number Diff line number Diff line change 11import org.jetbrains.kotlin.gradle.dsl.JvmTarget
22import org.jetbrains.intellij.platform.gradle.TestFrameworkType
3+ import org.jetbrains.intellij.platform.gradle.IntelliJPlatformType
34
45fun properties (key : String ) = providers.gradleProperty(key)
56
67plugins {
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+
3647tasks {
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
Original file line number Diff line number Diff 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 ) {
Original file line number Diff line number Diff line change 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 -->
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"
Original file line number Diff line number Diff line change 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 >
You can’t perform that action at this time.
0 commit comments