Skip to content

Commit dbd6321

Browse files
committed
chore: use java 21 in release workflow
1 parent c389c8f commit dbd6321

3 files changed

Lines changed: 24 additions & 3 deletions

File tree

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ jobs:
2929
uses: actions/setup-java@v4
3030
with:
3131
distribution: zulu
32-
java-version: 17
32+
java-version: 21
3333

3434
# Setup Gradle
3535
- name: Setup Gradle
36-
uses: gradle/actions/setup-gradle@v3
36+
uses: gradle/actions/setup-gradle@v4
3737
with:
3838
gradle-home-cache-cleanup: true
3939

src/main/kotlin/com/example/ide/annotator/CssModulesClassAnnotator.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,13 @@ import com.example.ide.psi.isStyleIndex
55
import com.intellij.lang.annotation.AnnotationHolder
66
import com.intellij.lang.annotation.Annotator
77
import com.intellij.lang.annotation.HighlightSeverity
8+
import com.intellij.lang.ecmascript6.psi.ES6ImportedBinding
89
import com.intellij.lang.javascript.psi.JSLiteralExpression
10+
import com.intellij.lang.javascript.psi.JSReferenceExpression
911
import com.intellij.psi.PsiElement
12+
import com.intellij.psi.css.CssClass
1013
import com.intellij.psi.css.CssRuleset
14+
import com.intellij.psi.css.StylesheetFile
1115
import org.jetbrains.annotations.NotNull
1216

1317

@@ -46,5 +50,18 @@ class CssModulesClassAnnotator : Annotator {
4650
resolveUnknownClass(holder, psiElement)
4751
resolveEmptyClass(holder, psiElement)
4852
}
53+
if (psiElement is JSReferenceExpression) {
54+
val binding = psiElement.firstChild?.reference?.resolve() as? ES6ImportedBinding ?: return
55+
val styleFile = binding.findReferencedElements().firstOrNull() as? StylesheetFile ?: return
56+
if (psiElement.reference?.resolve() !is CssClass) {
57+
holder.newAnnotation(
58+
HighlightSeverity.WEAK_WARNING,
59+
"$UNKNOWN \"${psiElement.lastChild.text}\""
60+
)
61+
.range(psiElement.lastChild)
62+
.withFix(SimpleCssSelectorFix(psiElement.lastChild.text, styleFile))
63+
.create()
64+
}
65+
}
4966
}
5067
}

src/main/kotlin/com/example/ide/annotator/SimpleCssSelectorFix.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import com.intellij.openapi.project.Project
99
import com.intellij.psi.PsiFile
1010
import com.intellij.psi.css.CssElementFactory
1111
import com.intellij.psi.css.StylesheetFile
12+
import com.intellij.openapi.command.WriteCommandAction
13+
import com.intellij.psi.*
1214
import org.jetbrains.annotations.NotNull
1315

1416
const val FAMILY_NAME = "Unknown class name"
@@ -29,7 +31,9 @@ class SimpleCssSelectorFix(private val key: String, private val stylesheetFile:
2931
rulesetText,
3032
stylesheetFile.language
3133
)
32-
val afterRuleSet = stylesheetFile.add(ruleset)!!
34+
val afterRuleSet = WriteCommandAction.runWriteCommandAction<PsiElement?>(project) {
35+
stylesheetFile.add(ruleset)
36+
} ?: return
3337
stylesheetFile.navigate(true)
3438
val offset = afterRuleSet.textOffset + rulesetText.indexOf("{") + 4
3539
FileEditorManager.getInstance(project).getEditors(stylesheetFile.virtualFile).forEach {

0 commit comments

Comments
 (0)